Skip to main content
QUICK REVIEW

[논문 리뷰] ALP: Alleviating CPU-Memory Data Movement Overheads in Memory-Centric Systems

Nika Mansouri Ghiasi, Nandita Vijaykumar|arXiv (Cornell University)|2022. 12. 13.
Parallel Computing and Optimization Techniques인용 수 1
한 줄 요약

ALP는 컴파일러 분석과 런타임 하드웨어 지원을 통해 필요하기 전에 데이터를 사전 이동시킴으로써 CPU와 근접 데이터 처리(NDP) 단위 간의 세그먼트 간 데이터 이동 오버헤드를 사전에 완화하는 프로그래머 투명한 하드웨어-소프트웨어 공동 설계 기법이다. 이는 효율적인 애플리케이션 분할을 가능하게 하며, 다양한 워크로드에서 호스트 전용 실행 대비 평균 54.3%의 성능 향상과 NDP 전용 실행 대비 평균 45.4%의 성능 향상을 달성한다.

ABSTRACT

Partitioning applications between NDP and host CPU cores causes inter-segment data movement overhead, which is caused by moving data generated from one segment (e.g., instructions, functions) and used in consecutive segments. Prior works take two approaches to this problem. The first class of works maps segments to NDP or host cores based on the properties of each segment, neglecting the inter-segment data movement overhead. The second class of works partitions applications based on the overall memory bandwidth saving of each segment, and does not offload each segment to the best-fitting core if they incur high inter-segment data movement. We show that 1) mapping each segment to its best-fitting core ideally can provide substantial benefits, and 2) the inter-segment data movement reduces this benefit significantly. To this end, we introduce ALP, a new programmer-transparent technique to leverage the performance benefits of NDP by alleviating the inter-segment data movement overhead between host and memory and enabling efficient partitioning of applications. ALP alleviates the inter-segment data movement overhead by proactively and accurately transferring the required data between the segments. This is based on the key observation that the instructions that generate the inter-segment data stay the same across different executions of a program on different inputs. ALP uses a compiler pass to identify these instructions and uses specialized hardware to transfer data between the host and NDP cores at runtime. ALP efficiently maps application segments to either host or NDP considering 1) the properties of each segment, 2) the inter-segment data movement overhead, and 3) whether this overhead can be alleviated in a timely manner. We evaluate ALP across a wide range of workloads and show on average 54.3% and 45.4% speedup compared to only-host CPU or only-NDP executions, respectively.

연구 동기 및 목표

  • 메모리 중심 시스템에서 호스트 CPU와 NDP 계산 단위 간 세그먼트 간 데이터 이동으로 인한 성능 저하 문제를 해결하기 위해.
  • 메모리 집약적인 세그먼트를 NDP 단위로 오프로드함으로써 얻는 이점을 약화시키는 데이터 이동의 성능 영향을 식별하고 완화하기 위해.
  • 아키텍처 적합성과 세그먼트 간 데이터 이동 오버헤드를 모두 고려하여 호스트와 NDP 코어 간 효율적인 애플리케이션 분할을 가능하게 하기 위해.
  • 프로그래머의 개입 없이 다양한 NDP 시스템 아키텍처에서 작동하는 투명하고 확장 가능한 솔루션을 개발하기 위해.

제안 방법

  • 인터세그먼트 데이터를 생성하는 지시어를 정적으로 식별하기 위해 컴파일러 단계를 활용하여 데이터 이동을 예측할 수 있도록 한다.
  • 컴파일러가 식별한 데이터 의존성 기반으로 런타임 시 하드웨어 지원을 활용해 호스트와 NDP 코어 간에 사전에 데이터를 이동시킨다.
  • 정적(컴파일러) 및 동적(런타임) 정보를 통합하여 계산적 이점과 데이터 이동 비용을 균형 잡는 지능적인 분할 결정을 내린다.
  • 세그먼트 수준의 특성(예: 메모리 액세스 패턴)과 추정된 데이터 이동 오버헤드를 고려하여 각 기본 블록을 최적의 실행 단위에 매핑한다.
  • 인터세그먼트 데이터 생성 지시어가 프로그램 실행 간 일관되게 유지된다는 관찰을 바탕으로 신뢰할 수 있는 예측이 가능하다.
  • 논리 계층에서 특정 하드웨어 세부 정보로부터 추상화함으로써 다양한 NDP 아키텍처에 대한 영구적인 배포를 지원한다.

실험 결과

연구 질문

  • RQ1호스트와 NDP 단위 간 세그먼트 간 데이터 이동이 메모리 중심 시스템에서 애플리케이션 분할의 성능에 어떤 영향을 미치는가?
  • RQ2세그먼트 간 데이터 이동은 얼마나 많은 정도로 메모리 집약적인 세그먼트를 NDP 단위로 오프로드함으로써 얻는 성능 이점의 감소를 초래하는가?
  • RQ3호스트와 NDP 코어 간 사전 데이터 이동이 세그먼트 간 데이터 이동의 성능 비용을 완화하고 NDP의 잠재력을 극대화하는 데 기여할 수 있는가?
  • RQ4프로그래머의 참여 없이도 효율적이고 투명하며 확장 가능한 호스트와 NDP 단위 간 애플리케이션 분할을 달성할 수 있는가?

주요 결과

  • ALP는 호스트 CPU에서 전체 애플리케이션을 실행하는 것과 비교해 평균 54.3%의 성능 향상을 달성하여 뚜렷한 성능 향상을 입증한다.
  • ALP는 NDP 코어에서 전체 애플리케이션을 실행하는 것과 비교해 평균 45.4%의 성능 향상을 달성하여 NDP 자원의 효과적인 활용을 보여준다.
  • ALP 없이 세그먼트 간 데이터 이동은 성능 이점을 최대 56.3%까지 감소시킬 수 있으며, 호스트 전용 실행 대비 성능 저하를 초래할 수도 있다.
  • 단순히 세그먼트 특성에 기반한 난이도 높은 분할 방식은 데이터 이동 오버헤드가 억제되지 않아 평균 9.5%의 성능 저하를 겪는다.
  • ALP는 데이터 이동을 사전 관리함으로써 근접한 이상의 분할을 가능하게 하여 세그먼트를 최적의 실행 단위에 매핑할 수 있도록 한다.
  • 이 기법은 다양한 워크로드에서 효과적이므로 메모리 중심 시스템 설계에 넓은 적용 가능성을 보여준다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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