OO VR: 미래 NUMA 기반 다중 GPU 시스템을 위한 데이터 로케일을 고려한 객체 지향 VR 렌더링 프레임워크
📝 원문 정보
- Title: OO-VR: NUMA Friendly Object-Oriented VR Rendering Framework For Future NUMA-Based Multi-GPU Systems
- ArXiv ID: 2001.03537
- 발행일: 2020-01-13
- 저자: Chenhao Xie, Xin Fu, Mingsong Chen, Shuaiwen Leon Song
📝 초록 (Abstract)
강력한 계산 능력을 갖춘 NUMA 기반 다중 GPU 시스템은 가상현실(VR)에 지속적이고 확장 가능한 성능을 제공할 수 있는 유망한 후보입니다. 그러나 현재의 다중 GPU 시스템은 단일 GPU로 간주되며, 이는 VR 렌더링 중 데이터 위치성을 무시하고 각 GPU 모델 간의 원격 메모리 접근이 증가하게 합니다. 다양한 병렬 렌더링 프레임워크에 대한 포괄적인 특성 분석을 통해, 렌더링 오브젝트와 필요한 데이터를 함께 분산시키면 GPM 간의 메모리 접근 횟수가 줄어든다는 것을 관찰했습니다. 그러나 이 오브젝트 수준의 렌더링은 여전히 NUMA 기반 다중 GPU 시스템에서 두 가지 주요 도전 과제를 안고 있습니다: (1) 동일한 오브젝트의 좌우 뷰 간에 큰 데이터 위치성과 다른 오브젝트들 간의 데이터 공유, 그리고 (2) 소프트웨어 수준의 분산 및 합성 메커니즘으로 인해 발생하는 불균형 작업 부하. 이러한 도전 과제를 해결하기 위해, 우리는 VR 다중 뷰 렌더링에 NUMA 친화적인 솔루션을 제공하기 위한 오브젝트 지향형 VR 렌더링 프레임워크(OO-VR)을 제안합니다. 먼저, 동일한 오브젝트의 두 가지 뷰 간 데이터 공유를 활용하고 텍스처 공유 수준에 따라 오브젝트들을 배치로 그룹화하는 오브젝트 지향형 VR 프로그래밍 모델을 제안했습니다. 그런 다음, GPM들 사이에서 균형 잡힌 작업 부하를 달성하기 위해 오브젝트 인식 실행 배치 분산 엔진과 분산 하드웨어 합성을 설계했습니다. 마지막으로 우리의 VR 특화 시뮬레이터에서의 평가 결과, OO-VR은 최신 다중 GPU 시스템에 비해 1.58배의 전반적인 성능 향상 및 GPM 간 메모리 트래픽을 76% 줄이는 것을 보여주었습니다.💡 논문 핵심 해설 (Deep Analysis)
**Key Summary**: This paper introduces the Object-Oriented Virtual Reality (OO-VR) rendering framework to enhance performance in NUMA-based multi-GPU systems for virtual reality. The framework aims to improve rendering efficiency through better workload distribution and reduced inter-GPM memory traffic.Problem Statement: In VR, high performance is critical but existing methods of distributing objects without considering data locality can lead to increased remote memory accesses among GPU Processing Modules (GPMs), causing significant performance degradation. Additionally, uneven workload distribution and complex object data sharing pose additional challenges.
Solution Approach (Core Technology): OO-VR addresses these issues through:
- Object-Oriented Programming Model: This model leverages data sharing between two views of the same object and groups objects into batches based on texture sharing levels.
- Object-Aware Runtime Batch Distribution Engine: Designed to achieve balanced workloads among GPMs by distributing batches according to predicted rendering times.
- Distributed Hardware Composition: It maximizes the use of ROPs (Raster Operations) across all GPMs, thereby increasing pixel rate and overall performance.
Key Achievements: Evaluations show that OO-VR provides a 1.58x improvement in overall performance compared to state-of-the-art multi-GPU systems and reduces inter-GPM memory traffic by 76%. It also demonstrates scalability as the number of GPMs increases, making it particularly useful for future larger multi-GPU scenarios.
Significance & Utilization: The OO-VR framework improves upon existing parallel rendering methods, providing enhanced performance in VR applications. This can lead to more immersive experiences for users and is applicable across various domains including gaming, education, and entertainment.