Publications

Detailed Information

Reducing Disk I/O of Temporary Data in Numerical Matrix Computation : 행렬의 수학적 연산에서 생성되는 중간 결과 데이터의 Disk I/O 감축

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors

김소현

Advisor
Bongki Moon
Issue Date
2023
Publisher
서울대학교 대학원
Keywords
array dataout-of-core computationdiscarding temporary dataquery plan in DAGdisk I/O
Description
학위논문(석사) -- 서울대학교대학원 : 공과대학 컴퓨터공학부, 2023. 2. Bongki Moon.
Abstract
Due to an ongoing development of digital society, large-scale numerical array data has become an essential part of data analytics in scientific domain. Among various data analytics algorithms, some can produce temporary data much larger than the size of main memory during the computation. However, existing systems lack support of efficient out-of-core computation which deal with large temporary data.
TilePACK is a package which enables fast out-of-core computations on large array files. It plans an array task as a directed acyclic graph (DAG) to efficiently express the computational pattern of iterative procedures of machine learning algorithms. To utilize a DAG task plan ideally, all temporary data should be kept on memory for reuse. However, this causes unnecessary disk writes and inefficient use of memory space because temporary data which are no longer needed will still be loaded on memory. To address this problem, we propose a method of discarding temporary data from memory as soon as they are no longer needed.
Our proposed scheme has two main contributions. Discarding temporary data helps avoid unnecessary disk writes of temporary data. At the same time, this allows more space of memory to be maintained for other data leading to the reduction of unnecessary disk reads. Through various experiments we have concluded that our scheme takes effect when the size of temporary data produced is bigger than memory capacity. In addition, the effect of our scheme is maximized as the size of input data is smaller than memory space and as the size of temporary data is larger than input data.
정보 사회의 지속적인 발전으로 인해 점점 더 큰 규모의 수치 데이터를 배열 형태로 활용하는 데이터 분석이 활발해 지고 있다. 일부 반복 학습을 진행하는 머신 러닝 알고리즘은 연산 과정에서 중간 결과, 즉 임시 데이터가 많이 생성될 수 있다. 그렇기에, 메모리 크기를 넘어가는 매우 큰 배열 데이터의 아웃 오브 코어 (out-of-core)의 특징을 띠는 수학적 연산이 많이 필요해 지는데, 현재 이를 지원하는 시스템은 부족한 실정이다.
TilePACK은 위에서 언급한 배열 연산을 가능하게 하는 패키지이다. 이 시스템은 여러 번 재사용이 될 같은 데이터를 여러 번 계산하는 비효율성을 막기 위해 태스크 (task) 플랜을 트리가 아닌 유향 비순환 그래프 (DAG) 의 구조로 표현한다. 그러나 DAG를 활용하게 되면 한번 계산된 중간 결과를 재사용하기 위해 해당 데이터가 메모리 상에서 유지되는데, 더 이상 필요하지 않은 경우에도 계속 남아있기 때문에 불필요한 디스크 쓰기와 메모리 공간의 비효율적인 사용으로 이어진다. 이 문제를 해결하기 위해 임시 데이터가 더 이상 필요하지 않음이 확인되는 즉시 폐기하는 메소드를 제안한다.
우리가 제안한 계획은 크게 두 가지 기여를 한다. 필요 없는 임시 데이터를 삭제하면 해당 데이터의 불필요한 디스크 쓰기를 피할 수 있다. 동시에, 다른 데이터를 위한 더 많은 메모리 공간을 확보할 수 있게 한다. 이는 결과적으로 모두 연산에 소요되는 시간을 줄이는 효과를 보인다. 다양한 실험을 통해 우리가 제안한 메소드는 임시 데이터의 크기가 메모리 용량보다 클 때 효과가 나타나고, 입력 데이터의 크기가 메모리 용량보다 작고 임시 데이터가 입력 데이터보다 크기가 클수록 효과는 최대화 됨을 확인하였다.
Language
eng
URI
https://hdl.handle.net/10371/193352

https://dcollection.snu.ac.kr/common/orgView/000000176570
Files in This Item:
Appears in Collections:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share