Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crossbeam upstream에 기여: collection trigger, 3-bit epoch, ... #23

Open
jeehoonkang opened this issue Aug 9, 2019 · 6 comments
Open
Assignees

Comments

@jeehoonkang
Copy link
Member

jeehoonkang commented Aug 9, 2019

우리가 알아낸걸 바탕으로 crossbeam upstream에 기여하면 어떨까 합니다. 예컨대:

  • collect 트리거하는 로직 변경. 실험 결과를 첨부하면 설득 가능할거라 생각합니다.
  • small epoch number 쓰는걸로 변경. 혹시 성능이 좋아지는지 실험해봐줄 수 있나요?
    • stack 8개
  • 그외에도 혹시 업스트림할만한게 있으면 제안 해주세요~
@tomtomjhj tomtomjhj changed the title crossbeam upstream에 기여 crossbeam upstream에 기여: collection trigger, 3-bit epoch, ... Sep 10, 2019
@jeehoonkang
Copy link
Member Author

3 epochs: crossbeam-rs/crossbeam#416 (comment) 시험 끝나고, 여기 답변 달아주시고 머지 진행해주시길 부탁드립니다.

  • rebase
  • explain why validation is necessary
  • give performance comparison results

@tomtomjhj
Copy link
Member

tomtomjhj commented Nov 25, 2019

  • validation: global 읽고 local 저장 전 yield. 이 때 advance하면 skew 커짐. 저장 후 validation으로 방지 가능.
  • e+3 free & validation과 3bit epoch 관계

@tomtomjhj
Copy link
Member

  • small-epoch
    test multi_alloc_defer_free  ... bench:   7,192,213 ns/iter (+/- 1,487,991)
    test multi_defer             ... bench:   3,444,749 ns/iter (+/- 534,670)
    test single_alloc_defer_free ... bench:         123 ns/iter (+/- 2)
    test single_defer            ... bench:          41 ns/iter (+/- 14)
    test multi_flush  ... bench:  20,673,530 ns/iter (+/- 3,690,491)
    test single_flush ... bench:         449 ns/iter (+/- 6)
    test multi_pin  ... bench:   7,273,598 ns/iter (+/- 1,576,755)
    test single_pin ... bench:          19 ns/iter (+/- 0)
    
  • crossbeam master
    test multi_alloc_defer_free  ... bench:   7,168,130 ns/iter (+/- 1,150,599)
    test multi_defer             ... bench:   2,796,606 ns/iter (+/- 417,303)
    test single_alloc_defer_free ... bench:         103 ns/iter (+/- 0)
    test single_defer            ... bench:          38 ns/iter (+/- 0)
    test multi_flush  ... bench:  21,321,057 ns/iter (+/- 8,051,633)
    test single_flush ... bench:         451 ns/iter (+/- 5)
    test multi_pin  ... bench:   8,056,067 ns/iter (+/- 1,114,203)
    test single_pin ... bench:          14 ns/iter (+/- 0)
    

@jeehoonkang
Copy link
Member Author

결과가 엎치락 뒤치락이긴 한데.. 일단 PR을 날려볼만 한거같아요.

@tomtomjhj
Copy link
Member

저희가 만든 벤치마크 몇 개 돌려보겠습니다

@tomtomjhj
Copy link
Member

1,8,16 스레드 write-only 비교해보니 bonsai에서는 small epoch이 15%느리고 다른 DS에서는 거의 같습니다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants