[논문 리뷰] Sentinel: Runtime Data Management on Heterogeneous Main MemorySystems for Deep Learning
Sentinel은 딥러닝 워크로드를 위한 이질적 메인메모리(HM)에서 DNN의 도메인 특화 지식을 활용하여 데이터 관리를 최적화하는 런타임 시스템이다. 데이터 객체 수준에서 정확하고 저비용의 프로파일링을 가능하게 하며, 핫 데이터를 빠른 메모리로 사전에 이동시켜 순수 빠른 메모리 시스템이 필요로 하는 용량의 20%만으로도 최고 성능에 가까운 성능을 달성하며, 최신 기술 대비 18% 높은 성능을 보인다.
Software-managed heterogeneous memory (HM) provides a promising solution to increase memory capacity and cost efficiency. However, to release the performance potential of HM, we face a problem of data management. Given an application with various execution phases and each with possibly distinct working sets, we must move data between memory components of HM to optimize performance. The deep neural network (DNN), as a common workload on data centers, imposes great challenges on data management on HM. This workload often employs a task dataflow execution model, and is featured with a large amount of small data objects and fine-grained operations (tasks). This execution model imposes challenges on memory profiling and efficient data migration. We present Sentinel, a runtime system that automatically optimizes data migration (i.e., data management) on HM to achieve performance similar to that on the fast memory-only system with a much smaller capacity of fast memory. To achieve this,Sentinel exploits domain knowledge about deep learning to adopt a custom approach for data management. Sentinel leverages workload repeatability to break the dilemma between profiling accuracy and overhead; It enables profiling and data migration at the granularity of data objects (not pages), by controlling memory allocation. This method bridges the semantic gap between operating system and applications. By associating data objects with the DNN topology, Sentinel avoids unnecessary data movement and proactively triggers data movement. Using only 20% of peak memory consumption of DNN models as fast memory size, Sentinel achieves the same or comparable performance (at most 8% performance difference) to that of the fast memory-only system on common DNN models; Sentinel also consistently outperforms a state-of-the-art solution by 18%.
연구 동기 및 목표
- 제한된 빠른 메모리 용량을 가진 이질적 메인메모리(HM) 시스템에서 DNN 훈련의 성능 저하 문제를 해결하기 위해.
- HM에서 런타임 데이터 관리 시 프로파일링 오버헤드와 정확도 사이의 상충 관계를 극복하기 위해.
- DNN 아키텍처와 실행 의미 체계에 맞춰 메모리 관리를 정렬함으로써 불필요한 데이터 이동을 줄이기 위해.
- 최소한의 런타임 영향을 동반하면서도 높은 성능을 유지하는 효율적인 데이터 마이그레이션을 가능하게 하기 위해.
- DNN 훈련이 순수 빠른 메모리 시스템이 필요로 하는 용량의 20%만으로도 최고 성능에 가까운 성능을 달성할 수 있음을 입증하기 위해.
제안 방법
- Sentinel은 DNN 훈련에서 워크로드의 반복성을 활용하여 오직 한 번의 훈련 스텝만 프로파일링함으로써 런타임 오버헤드를 최소화하면서도 높은 프로파일링 정확도를 유지한다.
- 메모리 페이지가 아닌 개별 데이터 객체 수준에서 프로파일링과 데이터 마이그레이션을 수행함으로써 운영체제와 응용 프로그램 사이의 의미 차이를 해소한다.
- 데이터 객체를 DNN 계산 그래프와 연결함으로써 사전에 핫 데이터를 식별하고 사전 마이그레이션을 유도한다.
- 사용자 정의 메모리 할당 전략을 사용하여 데이터 배치를 제어하고 개체 수준의 액세스 패턴을 추적한다.
- DNN 아키텍처와 실행 흐름을 이해함으로써 불필요한 데이터 이동을 방지하고 마이그레이션 오버헤드를 줄인다.
- 응용 프로그램 런타임과 통합하여 계산 단계와 동기화된 데이터 마이그레이션을 수행함으로써 성능 정지 시간을 최소화한다.
실험 결과
연구 질문
- RQ1DNN에 대한 도메인 특화 지식을 활용하여 이질적 메모리에서의 데이터 관리 시 프로파일링 오버헤드를 줄이면서도 높은 정확도를 유지할 수 있는가?
- RQ2페이지 수준이 아닌 데이터 객체 수준에서의 데이터 마이그레이션을 어떻게 최적화할 수 있는가? 이를 통해 불필요한 이동을 줄일 수 있는가?
- RQ3DNN 아키텍처 기반의 사전 마이그레이션은 빠른 메모리 용량을 최소로 사용하면서도 성능 향상을 이룰 수 있는가?
- RQ4완전한 빠른 메모리 시스템 대비 빠른 메모리 용량의 20%만을 사용할 경우 성능에 어떤 영향을 미치는가?
- RQ5최신 기술 대비 Sentinel의 성능과 오버헤드 측면에서의 비교는 어떻게 이루어지는가?
주요 결과
- Sentinel은 순수 빠른 메모리 시스템이 필요로 하는 용량의 20%만으로도 해당 시스템의 성능에 8% 이내로 근접한 성능을 달성한다.
- 최소한의 런타임 오버헤드로 데이터 객체 수준에서 정확한 프로파일링을 가능하게 하여 페이지 수준 프로파일링의 높은 비용을 피한다.
- 일반적인 DNN 모델 전반에서 최신 기술 대비 18% 높은 성능을 지속적으로 기록한다.
- DNN 특화 의미 체계를 활용함으로써 불필요한 데이터 이동을 줄이고 마이그레이션 효율성을 향상시킨다.
- 시스템은 운영체제 수준의 페이지 관리와 DNN 워크로드의 응용 프로그램 수준 액세스 패턴 간의 갈등을 효과적으로 해결한다.
- 도메인 인식 데이터 관리가 기존의 프로파일링 오버헤드와 정확도 사이의 상충 관계를 깨뜨릴 수 있음을 보여준다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.