[논문 리뷰] The Blacklisting Memory Scheduler: Balancing Performance, Fairness and Complexity
블랙리스트 메모리 스케줄러(BLISS)는 동일한 응용프로그램의 연속된 요청 수를 기반으로 응용프로그램을 '간섭에 취약한' 또는 '간섭을 일으키는' 두 그룹으로 동적으로 분류하는 이중 그룹 메모리 스케줄링 기법을 제안한다. 이는 간섭에 취약한 응용프로그램을 우선 처리함으로써 성능을 향상시킨다. BLISS는 최신 스케줄러보다 5% 높은 시스템 성능과 25% 높은 공정성을 달성하면서도 임계 경로 지연을 79% 감소시키고 하드웨어 면적을 43% 줄였다.
In a multicore system, applications running on different cores interfere at main memory. This inter-application interference degrades overall system performance and unfairly slows down applications. Prior works have developed application-aware memory schedulers to tackle this problem. State-of-the-art application-aware memory schedulers prioritize requests of applications that are vulnerable to interference, by ranking individual applications based on their memory access characteristics and enforcing a total rank order. In this paper, we observe that state-of-the-art application-aware memory schedulers have two major shortcomings. First, such schedulers trade off hardware complexity in order to achieve high performance or fairness, since ranking applications with a total order leads to high hardware complexity. Second, ranking can unfairly slow down applications that are at the bottom of the ranking stack. To overcome these shortcomings, we propose the Blacklisting Memory Scheduler (BLISS), which achieves high system performance and fairness while incurring low hardware complexity, based on two observations. First, we find that, to mitigate interference, it is sufficient to separate applications into only two groups. Second, we show that this grouping can be efficiently performed by simply counting the number of consecutive requests served from each application. We evaluate BLISS across a wide variety of workloads/system configurations and compare its performance and hardware complexity, with five state-of-the-art memory schedulers. Our evaluations show that BLISS achieves 5% better system performance and 25% better fairness than the best-performing previous scheduler while greatly reducing critical path latency and hardware area cost of the memory scheduler (by 79% and 43%, respectively), thereby achieving a good trade-off between performance, fairness and hardware complexity.
연구 동기 및 목표
- 기존의 응용프로그램 인식 메모리 스케줄러에서 발생하는 높은 하드웨어 복잡도와 공정하지 못한 속도 저하 문제를 해결하기 위해.
- 스케줄링 지연과 하드웨어 비용을 줄이면서도 시스템 성능와 공정성을 유지하거나 향상시키기 위해.
- 다양한 응용프로그램 간 메모리 간섭을 효과적으로 완화할 수 있는 단순화된 이중 그룹 분류 기법이 가능한지 탐색하기 위해.
- 현대 DDR 메모리 프로토콜의 엄격한 타이밍 제약 조건을 충족하는 스케줄러를 설계하기 위해.
제안 방법
- 동일 응용프로그램의 연속된 메모리 요청 수를 기반으로 응용프로그램을 '간섭에 취약한' 그룹과 '간섭을 일으키는' 그룹으로 분류한다.
- 연속 요청 수에 임계값을 적용하며, 이를 초과할 경우 해당 응용프로그램은 블랙리스트에 올리고 우선순위를 낮춘다.
- 스케줄링 과정에서 블랙리스트에 올라가지 않은(간섭에 취약한) 응용프로그램의 요청을 블랙리스트에 올라간(간섭을 일으키는) 응용프로그램의 요청보다 우선 처리한다.
- 모든 응용프로그램에 대한 순서 기반 순위 매기기를 피하기 위해 오직 두 개의 우선순위 수준만 사용함으로써 하드웨어 복잡도를 크게 감소시킨다.
- 장기적인 프로파일링이 필요 없이 런타임 액세스 패턴에 적응하는 동적 분류 메커니즘을 도입한다.
- 기존 메모리 서브시스템과 통합 가능하며, 서브레인지 인터리빙 및 소스 타이밍 제어와 같은 기법들과도 호환된다.
실험 결과
연구 질문
- RQ1연속된 요청 패턴에 기반한 이중 그룹 분류 기법이 순위 매기기 없이도 메모리 간섭을 효과적으로 줄일 수 있는가?
- RQ2전체 순서 기반 순위 매기기 기능을 제거함으로써 하드웨어 복잡도와 스케줄링 지연을 줄일 수 있으며, 성능을 유지하거나 향상시킬 수 있는가?
- RQ3이러한 단순화된 스케줄러가 낮은 순위를 부여받는 응용프로그램을 심하게 저하시키는 순위 기반 접근 방식보다 더 높은 공정성을 달성할 수 있는가?
- RQ4BLISS는 최신 스케줄러와 비교해 다양한 워크로드와 시스템 구성에서 어떻게 성능을 발휘하는가?
- RQ5서브레인지 인터리빙이나 소스 타이밍 제어와 같은 간섭 완화 기법과 BLISS를 조합했을 때의 영향은 무엇인가?
주요 결과
- BLISS는 다양한 워크로드에서 최고의 성능을 보인 이전 스케줄러(TCM)보다 5% 높은 시스템 성능과 25% 높은 공정성을 달성한다.
- BLISS는 최신의 순위 기반 스케줄러인 TCM 대비 임계 경로 지연을 79% 감소시키고 하드웨어 면적을 43% 줄였다.
- 연속된 요청 수 기반의 이중 그룹 분류 기법이 최소한의 오버헤드로 간섭을 일으키는 응용프로그램을 효과적으로 식별한다.
- BLISS는 FRFCFS 및 기타 응용프로그램 무관 스케줄러보다 성능과 공정성 면에서 뛰어나면서도 낮은 복잡도를 유지한다.
- BLISS와 서브레인지 인터리빙의 상호작용은 고레인지 버퍼 로컬리티를 가진 응용프로그램에서 공정성 저하를 유발할 수 있으며, 이는 공동 설계의 필요성을 시사한다.
- BLISS는 소스 타이밍 제어 및 범용 뱅크 파artitioning과 같은 보완 기법들과 호환되며, 이를 조합함으로써 간섭 완화 효과를 더욱 향상시킬 수 있다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.