Hacker News 의견
  • 이 구현은 최근 연구인 "heartbeat scheduling"에 기반을 두고 있으며, 병렬성 생성의 오버헤드를 분산시켜 동적 자동 세분화 제어를 달성함

    • 관련 논문:
      • (2018) Heartbeat Scheduling: Provable Efficiency for Nested Parallelism
      • (2021) Task Parallel Assembly Language for Uncompromising Parallelism
      • (2024) Compiling Loop-Based Nested Parallelism for Irregular Workloads
      • (2024) Automatic Parallelism Management
  • 코드의 세부 사항을 읽어보진 않았지만 "sub-nanosecond overhead"는 오해의 소지가 있으며 마케팅 용어임

    • 첫 번째로, 측정은 "thing 당 시간"이라는 복잡한 방식으로 보이며, 스레드 수는 "thing" 수보다 훨씬 적음
  • 이 분야에 익숙하지 않지만, 제시된 동시성 모델이 마음에 듦

    • README가 잘 작성되어 있어 내용을 이해하기 쉬웠지만, 몇몇 부분은 이해하기 어려웠음
    • 다행히 코드가 읽기 쉬움
  • 흥미로운 연구 작업이며, 코드 외에도 좋은 논리와 잘 작성된 문서가 있음

    • 2018년 heartbeat scheduling 논문도 흥미로움
  • 프로젝트의 한계 목록:

  • 설명에 따르면, 이 구현은 작업자들이 나노초 수준의 지연 시간을 달성하기 위해 바쁜 대기를 사용함

    • 수만 개의 작업을 가진 대형 애플리케이션에서 바쁜 대기가 얼마나 현실적인지 궁금함
    • 작업이 비동기적이라면 (즉, 스레드 기반이 아닌) 실행자의 스레드 풀 크기만큼의 대기자가 있을 수 있음
    • 이러한 아키텍처의 에너지 소비가 더 높을 것임
  • 작업 생산자가 소비자를 바쁜 대기 없이 깨우는 더 빠른 방법이 있는지 궁금함

    • 생산자 시간 슬라이스에서 소비자를 실행하여 가능할지 궁금함
    • 사용자 공간 FUTEX_WAKE 작업을 통해 소비자를 깨우는 일반적인 페널티를 절반으로 줄일 수 있을지 궁금함
  • 흥미롭고 훌륭한 논문들과 연결되어 있음

    • OpenMP 작업과의 비교가 있었으면 좋겠음
    • Rayon이 약간 느리다는 평판이 있음
  • 협력적 스케줄링은 훌륭한 메트릭을 가진 많은 패턴의 기초임

  • 훌륭함

  • 벤치마크 관련 README도 참고: