Skip to main content
QUICK REVIEW

[논문 리뷰] A Flexible Thread Scheduler for Hierarchical Multiprocessor Machines

Samuel Thibault|ArXiv.org|2005. 06. 27.
Parallel Computing and Optimization Techniques참고 문헌 25인용 수 7
한 줄 요약

이 논문은 복잡한 다층 다중프로세서 아키텍처에서 성능을 최적화하기 위해 '버블(bubbles)'—공유 데이터 애너피를 가진 스레드의 논리적 그룹화—를 사용하는 이식 가능하고 계층적인 스레드 스케줄링 메커니즘을 제안한다. 응용 프로그램이 작업 관계를 동적으로 표현할 수 있도록 함으로써, 스케줄러는 전통적인 기회적 스케줄러보다 최대 30% 높은 성능을 달성하며, 16프로세서 ccNUMA 시스템에서 수작업으로 최적화된 비이식성 있는 솔루션과 유사한 최적에 가까운 성능을 보였다.

ABSTRACT

With the current trend of multiprocessor machines towards more and more hierarchical architectures, exploiting the full computational power requires careful distribution of execution threads and data so as to limit expensive remote memory accesses. Existing multi-threaded libraries provide only limited facilities to let applications express distribution indications, so that programmers end up with explicitly distributing tasks according to the underlying architecture, which is difficult and not portable. In this article, we present: (1) a model for dynamically expressing the structure of the computation; (2) a scheduler interpreting this model so as to make judicious hierarchical distribution decisions; (3) an implementation within the Marcel user-level thread library. We experimented our proposal on a scientific application running on a ccNUMA Bull NovaScale with 16 Intel Itanium II processors; results show a 30% gain compared to a classical scheduler, and are similar to what a handmade scheduler achieves in a non-portable way.

연구 동기 및 목표

  • NUMA, 멀티코어, SMT 시스템과 같은 점점 더 복잡해지는 계층적 다중프로세서 아키텍처에서 스레드를 효율적으로 스케줄링하는 문제를 해결한다.
  • 응용 프로그램이 아키텍처에 특화된 스케줄링 로직을 하드코딩하지 않고도 작업 및 데이터 애너피를 표현할 수 있도록 이식 가능한 솔루션을 제공한다.
  • 원격 메모리 액세스를 최소화하고 캐시 국소성을 향상시키기 위해 자동으로 아키텍처를 인지하는 스레드 분배를 가능하게 한다.
  • 이식 가능한 동적 스케줄링과 수작업 최적화된 비이식성 스케줄러 간의 격차를 메운다.
  • 다양한 분배 전략에 대한 런타임 평가를 지원하는 유연한 스케줄링 실험 플랫폼을 개발한다.

제안 방법

  • 강한 데이터 애너피를 가진 스레드의 논리적 그룹화를 가능하게 하여 계층적 스케줄링 결정을 가능하게 하는 '버블' 모델을 도입한다.
  • 응용 프로그램이 제공한 버블 구조를 해석하고 하드웨어 토폴로지(예: NUMA 노드, 프로세서 세트)에 매핑하는 스케줄러를 설계한다.
  • 런타임 제어 및 실험을 가능하게 하기 위해 마르셀(Marcel) 사용자 레벨 스레드 라이브러리 내부에 스케줄러를 구현한다.
  • 응용 프로그램이 하드웨어 토폴로지(예: NUMA 노드 수, 노드당 프로세서 수)를 쿼리하여 버블 생성을 안내할 수 있도록 한다.
  • 버블 분열 수준을 사용한 동적 스케줄링을 통해 작업 분배의 유연성을 유지하면서도 국소성을 보존한다.
  • 저수준 시스템 바인딩이나 프로세스 핀닝을 요구하지 않는 이식 가능한 스케줄링 힌트를 지원한다.

실험 결과

연구 질문

  • RQ1이식 가능하고 응용 프로그램 수준의 메커니즘이 계층적 다중프로세서에서 효율적이고 아키텍처를 고려한 스레드 스케줄링을 가능하게 할 수 있는 방식으로 작업 애너피를 표현할 수 있는가?
  • RQ2고수준 힌트(예: 버블)를 사용하는 동적 스케줄러가 수작업 최적화된 비이식성 스케줄러의 성능에 얼마나 가까이 도달할 수 있는가?
  • RQ3기회적 스케줄러와 비교할 때, 제안된 스케줄러는 NUMA 및 계층적 아키텍처에서 성능 측면에서 어떻게 다른가?
  • RQ4버블 모델은 이식 가능하고 확장 가능하게 다양한 수준의 데이터 및 작업 애너피를 효과적으로 표현할 수 있는가?
  • RQ5메모리 액세스 국소성 제약 조건이 있는 실제 과학 작업 부하에 대해 계층적 스케줄링 힌트의 성능에 어떤 영향을 미치는가?

주요 결과

  • 버블 기반 스케줄러는 16프로세서 ccNUMA Bull NovaScale 시스템에서 고전적인 기회적 스케줄러보다 30% 높은 성능을 달성했다.
  • 버블 모델을 사용한 성능는 수작업으로 최적화된 비이식성 스레드 바인딩 전략과 거의 동일했으며, 높은 효율성을 입증했다.
  • 동일한 ccNUMA 시스템에서 스케줄러는 스레드와 데이터를 동일한 NUMA 노드에 유지함으로써 원격 메모리 액세스를 피하고 메모리 액세스 지연을 감소시켰다.
  • 이 방법은 인텔 PC SMP 및 이타니움 II 기반 NUMA 시스템을 포함한 여러 아키텍처에서 효과적이었으며, 이식성과 적응 가능성의 우수함을 보였다.
  • 응용 프로그램 수준의 스레드 바인딩 또는 메모리 할당 변경 없이도 자동으로 아키텍처를 인지하는 스케줄링이 가능했다.
  • 결과적으로, 스 thông한 스케줄러와 함께 이식 가능한 스케줄링 힌트가 사용될 경우, 이식성을 포기하지 않고도 최적에 가까운 성능을 달성할 수 있음을 시사한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.