서지주요정보
I/O acceleration schemes for SSD swap memory and decoding cache in DL-based image processing = SSD 스왑 메모리 및 딥 러닝 기반 이미지 처리 시스템의 성능과 공정성을 위한 I/O 관리 연구
서명 / 저자 I/O acceleration schemes for SSD swap memory and decoding cache in DL-based image processing = SSD 스왑 메모리 및 딥 러닝 기반 이미지 처리 시스템의 성능과 공정성을 위한 I/O 관리 연구 / Dong Jae Shin.
발행사항 [대전 : 한국과학기술원, 2021].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8037608

소장위치/청구기호

학술문화관(문화관) 보존서고

DEE 21004

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

With the advancement of big data processing, HPC, and deep learning-based AI technology, various applications such as autonomous driving, disaster prediction, face recognition, drone control, and satellite image analysis that were impossible to process in the existing computing environment are being realized with high accuracy. In such a computing environment, in order to achieve the purpose and increase accuracy, a large amount of input data must be processed and real-time responsiveness must be guaranteed. However, there is an urgent need to improve I/O performance, which is responsible for I/O of data storage, compared to the rapidly developing computational power. In general, SSDs with sequential read and write speeds of several GB/s are advancing to overcome the performance of HDDs with I/O speeds of 150MB/s. However, it is dozens of times slower compared to DRAM main memory with I/O performance of 50 GB/s, and becomes a big bottleneck in determining overall system performance. The computational process represented by a multi-core CPU and thousands of GPGPU core operations can increase performance through parallel processing, but if the bottleneck of I/O is not solved, the overall system performance improvement will be limited. In order to solve this problem, an I/O framework such as Nvidia's DALI has been recently proposed, but there remains a limited range of application only for deep learning tasks that operate only on Nvidia GPUs and fairness issues in a multi-GPU environment. Meanwhile, a large amount of data processing space is required to support these multi-cores. DRAM, which has been used as the main memory, is difficult to expand infinitely due to limitations in micronization processes, limitations in power consumption, and price per capacity. In accordance with the current trend in which the number of cores is increasing in order to overcome the situation in which the core operation clock is stagnating due to heat generation and power consumption problems, the capacity problem of the main DRAM memory is intensifying. The problem of impairing fairness between tasks when a number of tasks are performed at the same time is an urgent problem because a starvation phenomenon may occur in which the progress speed of a specific task is unpredictably slowed down. For example, in a cloud computing environment, there may be a problem that only some of the tasks of users with the same billing method are slowed down. In this dissertation, we proposed an I/O acceleration technique to solve these problems and studied a shared resource allocation method that guarantees fairness while supplementing the gap between computational power and data processing performance. First, we propose a technique that utilizes SSD as a storage class memory to solve the capacity expansion problem faced by DRAM main memory in current general-purpose computing. The SSD is used as a swap memory along with the DRAM main memory to form an inexpensive and power-efficient hybrid memory, and the existing swap method is optimized for HDD, solving the performance and fairness problems arising. If the existing swap method is applied to an SSD, the hit rate is lowered and performance is degraded. Therefore, the swap I/O size is adaptively managed by utilizing the performance characteristics of the SSD to improve performance. In addition, we propose a swap I/O equalization technique to solve the problem of starvation and impairment of fairness caused by the unbalanced frequency of page faults in the swap operation. A DRAM-SSD cache for accelerating data preprocessing in deep learning-based image learning tasks is proposed to solve the I/O bottleneck problem. Since deep learning-based image training has a training dataset of hundreds of GB, it is difficult to retain data in main memory due to its capacity limits. Therefore, even if the existing I/O framework is used, there is a problem that data required for learning must be repeatedly generated every time, and this time occupies a large part of the entire learning process. To solve these problems, we propose a DRAM-SSD-based decoding cache and an algorithm for prefetching this cache. In this dissertation, we showed the performance evaluation of the proposed techniques. The system performance is significantly improved compared to the traditional swap method of Linux and the performance imbalance between tasks is greatly reduced to prevent starvation. In addition, in deep learning-based image training workloads, the image decoding cache can significantly reduce the waiting time for input data of the GPU, which shortens the training time. It is judged that the techniques proposed in this dissertation guarantee improved performance even in the condition of the huge gap between I/O and calculation performance.

빅데이터 처리와 HPC, 딥 러닝 기반 AI 기술의 발달로 기존 컴퓨팅 환경에서 처리가 불가능했던 자율주행, 재해 예측, 얼굴 인식, 드론 제어, 위성 이미지 분석 등 다양한 애플리케이션들이 높은 정확도로 현실화되고 있다. 이러한 컴퓨팅 환경에서 목적을 달성하고 정확도를 높이기 위해서는 대용량의 입력 데이터를 처리해야 하며 실시간성을 보장해야 한다. 그러나 급격히 발전 중인 계산 능력에 비해 데이터 저장소의 입출력을 담당하는 I/O 성능 개선이 시급히 요구된다. 일반적으로 150MB/s 가량의 입출력 속도를 가지는 HDD의 성능을 극복하기 위해 순차 읽기와 쓰기 속도가 수 GB/s에 달하는 SSD가 발전하고 있으나 50GB/s의 입출력 성능을 지니는 DRAM 주 메모리에 비하면 여전히 수십 배 느리기 때문에 전체 시스템 성능을 결정하는 주요 병목 지점이 된다. 멀티코어 CPU와 수천 개의 GPGPU 코어 연산으로 대표되는 계산 과정은 병렬 처리를 통해 성능 증가가 가능하지만 I/O의 병목 문제를 해결하지 못하면 전체 시스템 성능 향상은 제한적일 수밖에 없다. 이 문제를 해결하고자 최근 Nvidia의 DALI와 같은 입출력 프레임워크가 제안되었으나 Nvidia GPU에서만 동작하는 딥 러닝 작업에만 해당하는 제한적인 적용 범위와, Multi-GPU 환경에서의 공정성 문제가 남아있다. 한편 이들 멀티코어를 뒷받침하기 위한 대용량 데이터 처리 공간이 필요하며 주 메모리로 사용되어 왔던 DRAM은 미세화 공정의 한계, 전력 소비의 한계, 용량 당 가격 문제로 인해 무한히 확장하기 어렵다. 발열과 전력 소모의 문제로 코어 동작 클럭이 정체되고 있는 상황을 극복하기 위해 코어의 개수가 증가하는는 현재 추세에 따라 DRAM 주 메모리의 용량 문제가 심화되고 있다. 또한 다수의 작업이 동시에 수행될 때 작업 간의 공정성이 손상되는 문제는 특정 작업의 진행속도가 예측할 수 없을 만큼 느려지는 기아 현상이 발생할 수 있으므로 해결이 시급하다. 예를 들어 클라우드 컴퓨팅 환경에서 같은 과금 방식을 가진 사용자의 작업 중 일부만 느려져 불공정한 과금이 발생할 수 있다. 본 논문에서는 이 문제들을 해결하기 위한 I/O 가속 기법을 제안하여 계산 능력과 데이터 입출력 성능 간의 간극을 보완하면서 공정성의 보장하는 자원 관리 방법을 연구하였다. 먼저 현재 범용 컴퓨팅에서 DRAM 메인 메모리가 당면한 용량 확장 문제를 해결하기 위해 SSD를 스토리지 클래스 메모리로 활용하는 기법을 제안한다. SSD를 DRAM 메인 메모리와 함께 스왑 메모리로 사용하여 저렴하고 전력 효율적인 하이브리드 메모리를 구성하며 기존 스왑 방식이 HDD에 최적화되어 발생하는 성능과 공정성 문제를 해결한다. 기존 스왑 방식을 SSD에 적용할 경우 적중률을 낮추고 성능을 저하시키므로 SSD의 성능 특성을 활용하여 스왑 I/O 크기를 적응적으로 관리하여 성능을 향상한다. 또한 스왑 작업에서 페이지 오류 빈도의 불균형으로 인해 발생하는 기아 상태와 공정성 손상 문제를 해결하기 위한 스왑 I/O 균등화 기법을 제안한다. 또한 본 논문에서는 딥 러닝 기반 이미지 학습 작업에서의 데이터 전처리 가속을 위한 DRAM-SSD 캐시를 제안하여 I/O 병목 문제를 해결하는 방법을 제안한다. 딥 러닝 기반 이미지 학습은 수백 GB 단위의 학습 데이터셋을 가지므로 용량적인 한계로 인해 주 메모리에 데이터를 보유하기 어렵다. 때문에 기존 I/O 프레임워크를 사용하더라도 학습에 필요한 데이터를 매번 반복적으로 생성해야 하는 문제가 있으며, 이 시간이 전체 학습 과정에서 많은 부분을 차지한다. 이 문제를 해결하기 위한 DRAM-SSD 기반의 디코딩 캐시와 이 캐시를 프리 페칭 하는 알고리즘을 제안한다. 제안한 기법을 실험적으로 평가하여 SSD 스왑 I/O가 시스템의 병목일 때 시스템 성능은 기존 리눅스 대비 크게 향상되었으며 작업 간의 성능 불균형을 대폭 감소시켜 기아를 방지한다. 또한 딥 러닝 기반의 이미지 학습 워크로드에서 이미지 디코딩 캐시를 통해 GPU의 입력 데이터 대기 시간을 크게 경감할 수 있으며 이를 통해 학습 수행 시간이 단축되었다. 본 논문에서 제안한 기법들은 I/O 성능과 연산 성능 간 불일치 조건에도 보다 향상된 성능을 보장하는 것으로 판단된다.

서지기타정보

서지기타정보
청구기호 {DEE 21004
형태사항 iv, 98 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 신동재
지도교수의 영문표기 : Chan-Hyun Youn
지도교수의 한글표기 : 윤찬현
공동지도교수의 영문표기 : Kyu Ho Park
공동지도교수의 한글표기 : 박규호
Including Appendix
학위논문 학위논문(박사) - 한국과학기술원 : 전기및전자공학부,
서지주기 References : p. 88-95
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서