[논문 리뷰] Efficient Resource Oblivious Algorithms for Multicores
이 논문은 캐시 크기나 블록 크기 정보를 필요로 하지 않으며, 가짜 공유와 블록 미스가 존재하는 상황에서도 최적의 캐시 성능을 달성하는 자원 무관 스케줄러인 우선순위 워크스틸링(Priority Work Stealing, PWS)을 제안한다. 블록 공유가 제한된 구조를 가진 계층적 균형 병렬(Hierarchical Balanced Parallel, HBP) 알고리즘을 설계하고, 간격 설정(gapping) 및 제한된 쓰기 접근 기법을 사용함으로써, PWS는 캐시 크기나 블록 크기 정보 없이도 순차적 복잡도에 해당하는 캐시 미스 경계를 보장한다.
We consider the design of efficient algorithms for a multicore computing environment with a global shared memory and p cores, each having a cache of size M, and with data organized in blocks of size B. We characterize the class of `Hierarchical Balanced Parallel (HBP)' multithreaded computations for multicores. HBP computations are similar to the hierarchical divide & conquer algorithms considered in recent work, but have some additional features that guarantee good performance even when accounting for the cache misses due to false sharing. Most of our HBP algorithms are derived from known cache-oblivious algorithms with high parallelism, however we incorporate new techniques that reduce the effect of false-sharing. Our approach to addressing false sharing costs (or more generally, block misses) is to ensure that any task that can be stolen shares O(1) blocks with other tasks. We use a gapping technique for computations that have larger than O(1) block sharing. We also incorporate the property of limited access writes analyzed in a companion paper, and we bound the cost of accessing shared blocks on the execution stacks of tasks. We present the Priority Work Stealing (PWS) scheduler, and we establish that, given a sufficiently `tall' cache, PWS deterministically schedules several highly parallel HBP algorithms, including those for scans, matrix computations and FFT, with cache misses bounded by the sequential complexity, when accounting for both traditional cache misses and for false sharing. We also present a list ranking algorithm with almost optimal bounds. PWS schedules without using cache or block size information, and uses knowledge of processors only to the extent of determining the available locations from which tasks may be stolen; thus it schedules resource-obliviously.
연구 동기 및 목표
- 캐시 미스와 가짜 공유가 존재하는 상황에서도 잘 작동하는 효율적인 자원 무관 멀티스레드 알고리즘을 설계하는 것.
- 특히 가짜 공유로 인한 공유 메모리 접근으로 인한 블록 미스로 인한 성능 저하 문제를 해결하는 것.
- 캐시 크기, 블록 크기, 프로세서 수에 대한 지식 없이도 최적의 성능을 달성할 수 있는 스케줄러를 개발하는 것.
- 캐시 무관 알고리즘 설계를 병렬성과 공유 메모리 경쟁, 특히 가짜 공유를 포함하도록 확장하는 것.
- 블록 미스가 존재하는 상황에서도 HBP 알고리즘이 순차적 복잡도에 해당하는 경계를 갖는 스케줄링이 가능하다는 것을 보여주는 것.
제안 방법
- 블록 공유가 제한된 구조적 성질을 갖는 멀티스레드 알고리즘 클래스로 계층적 균형 병렬(HBP) 계산을 도입한다.
- O(1) 이상의 블록 공유를 가진 계산에서 블록 미스 오버헤드를 줄이기 위해 간격 설정 기법을 적용한다.
- 작업 실행 중 공유 블록 접근의 비용을 제한하기 위해 제한된 쓰기 접근 의미 체계를 통합한다.
- 캐시 크기나 블록 크기 정보 없이도 HBP 알고리즘을 결정적으로 스케줄링할 수 있는 우선순위 워크스틸링(PWS) 스케줄러를 설계한다.
- 적어도 p개의 작업이 생성되는 최초의 레벨까지 재귀적 작업 분해 전략을 펼쳐 캐시 효율성을 높인다.
- 공유 메모리 경쟁 상황에서 성능 저하를 방지하기 위해 작업 실행 스택에서 공유 블록 접근 비용을 고정한다.
실험 결과
연구 질문
- RQ1가짜 공유와 블록 미스가 존재하는 멀티코어 시스템에서 자원 무관 스케줄링이 최적의 캐시 성능을 달성할 수 있는가?
- RQ2HBP 알고리즘은 어떻게 설계되어야 공유 블록 수를 최소화하고, 따라서 가짜 공유로 인한 지연을 줄일 수 있는가?
- RQ3캐시 크기, 블록 크기, 프로세서 수에 대한 지식 없이도 최적의 성능을 달성할 수 있는 스케줄러 설계는 무엇인가?
- RQ4기존의 캐시 무관 알고리즘의 성능은 공유 메모리 경쟁이 존재하는 병렬 실행 상황에서도 유지될 수 있는가?
- RQ5작업이 盗취당하고 공유 블록이 접근되는 상황에서도 블록 미스 수를 제한할 수 있는 알고리즘 설계의 구조적 특성은 무엇인가?
주요 결과
- PWS 스케줄러는 가짜 공유와 블록 미스를 고려한 상황에서도 HBP 알고리즘의 순차적 복잡도에 해당하는 캐시 미스 경계를 달성한다.
- 스캔, 행렬 곱셈, FFT 등 다양한 HBP 알고리즘들이 PWS 하에서 최적의 성능로 스케줄링 가능하다는 것이 입증되었다.
- 간격 설정 기법은 고도로 블록을 공유하는 알고리즘에서 블록 미스 오버헤드를 효과적으로 줄여 병렬 효율성을 향상시킨다.
- 제한된 쓰기 접근 기법을 사용함으로써 공유 블록 접근 비용이 제한되고 성능 저하가 크게 발생하지 않는다.
- 이 프레임워크는 다중 수준 캐시 계층을 지원하여 캐시가 코어 간에 분할되는 상황에서도 최적의 성능을 달성할 수 있다.
- 스케줄러가 캐시 파rameter를 알 필요 없이도 계층적 멀티코어 시스템에서 공유 캐시를 최적으로 활용할 수 있다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.