Publications

Detailed Information

Runtime Optimization Techniques for Resource-Efficient Execution of Distributed Machine Learning : 분산 기계 학습의 자원 효율적인 수행을 위한 동적 최적화 기술

DC Field Value Language
dc.contributor.advisor전병곤-
dc.contributor.author이우연-
dc.date.accessioned2020-05-19T08:03:04Z-
dc.date.available2020-05-19T08:03:04Z-
dc.date.issued2020-
dc.identifier.other000000160276-
dc.identifier.urihttps://hdl.handle.net/10371/167997-
dc.identifier.urihttp://dcollection.snu.ac.kr/common/orgView/000000160276ko_KR
dc.description학위논문(박사)--서울대학교 대학원 :공과대학 컴퓨터공학부,2020. 2. 전병곤.-
dc.description.abstractMachine Learning(ML) systems are widely used to extract insights from data. Ever increasing dataset sizes and model complexity gave rise to many efforts towards efficient distributed machine learning systems. One of the popular approaches to support large scale data and complicated models is the parameter server (PS) approach. In this approach, a training job runs with distributed worker and server tasks, where workers iteratively compute gradients to update the global model parameters that are kept in servers.
To improve the PS system performance, this dissertation proposes two solutions that automatically optimize resource efficiency and system performance. First, we propose a solution that optimizes the resource configuration and workload partitioning of distributed ML training on PS system. To find the best configuration, we build an Optimizer based on a cost model that works with online metrics. To efficiently apply decisions by Optimizer, we design our runtime elastic to perform reconfiguration in the background with minimal overhead.
The second solution optimizes the scheduling of resources and tasks of multiple ML training jobs in a shared cluster. Specifically, we co-locate jobs with complementary resource use to increase resource utilization, while executing their tasks with fine-grained unit to avoid resource contention. To alleviate memory pressure by co-located jobs, we enable dynamic spill/reload of data, which adaptively changes the ratio of data between disk and memory.
We build a working system that implements our approaches. The above two solutions are implemented in the same system and share the runtime part that can dynamically migrate jobs between machines and reallocate machine resources. We evaluate our system with popular ML applications to verify the effectiveness of our solutions.
-
dc.description.abstract기계 학습 시스템은 데이터에 숨겨진 의미를 뽑아내기 위해 널리 사용되고 있다. 데이터셋의 크기와 모델의 복잡도가 어느때보다 커짐에 따라 효율적인 분산 기계 학습 시스템을위한 많은 노력들이 이루어지고 있다. 파라미터 서버 방식은 거대한 스케일의 데이터와 복잡한 모델을 지원하기 위한 유명한 방법들 중 하나이다. 이 방식에서, 학습 작업은 분산 워커와 서버들로 구성되고, 워커들은 할당된 입력 데이터로부터 반복적으로 그레디언트를 계산하여 서버들에 보관된 글로벌 모델 파 라미터들을 업데이트한다.
파라미터 서버 시스템의 성능을 향상시키기 위해, 이 논문에서는 자동적으로 자원 효율성과 시스템 성능을 최적화하는 두가지의 해법을 제안한다. 첫번째 해법은, 파라미터 시스템에서 분산 기계 학습을 수행시에 자원 설정 및 워크로드 분배를 자동화하는 것이다. 최고의 설정을 찾기 위해 우리는 온라인 메트릭을 사용하는 비용 모델을 기반으로 하는 Optimizer를 만들었다. Optimizer의 결정을 효율적으로 적용하기 위해, 우리는 런타임을 동적 재설정을 최소의 오버헤드로 백그라운드에서 수행하도록 디자인했다.
두번째 해법은 공유 클러스터 상황에서 여러 개의 기계 학습 작업의 세부 작업 과 자원의 스케쥴링을 최적화한 것이다. 구체적으로, 우리는 세부 작업들을 세밀한 단위로 수행함으로써 자원 경쟁을 억제하고, 서로를 보완하는 자원 사용 패턴을 보이는 작업들을 같은 자원에 함께 위치시켜 자원 활용율을 끌어올렸다. 함께 위치한 작업들의 메모리 압력을 경감시키기 위해 우리는 동적으로 데이터를 디스크로 내렸다가 다시 메모리로 읽어오는 기능을 지원함과 동시에, 디스크와 메모리간의 데이터 비율을 상황에 맞게 시스템이 자동으로 맞추도록 하였다.
위의 해법들을 실체화하기 위해, 실제 동작하는 시스템을 만들었다. 두가지의 해법을 하나의 시스템에 구현함으로써, 동적으로 작업을 머신 간에 옮기고 자원을 재할당할 수 있는 런타임을 공유한다. 해당 솔루션들의 효과를 보여주기 위해, 이 시스템을 많이 사용되는 기계 학습 어플리케이션으로 실험하였고 기존 시스템들 대비 뛰어난 성능 향상을 보여주었다.
-
dc.description.tableofcontentsChapter1. Introduction 1
1.1 Distributed Machine Learning on Parameter Servers 1
1.2 Automating System Conguration of Distributed Machine Learning 2
1.3 Scheduling of Multiple Distributed Machine Learning Jobs 3
1.4 Contributions 5
1.5 Dissertation Structure 6

Chapter2. Background 7

Chapter3. Automating System Conguration of Distributed Machine Learning 10
3.1 System Conguration Challenges 11
3.2 Finding Good System Conguration 13
3.2.1 Cost Model 13
3.2.2 Cost Formulation 15
3.2.3 Optimization 16
3.3 Cruise 18
3.3.1 Optimizer 19
3.3.2 Elastic Runtime 21
3.4 Evaluation 26
3.4.1 Experimental Setup 26
3.4.2 Finding Baselines with Grid Search 28
3.4.3 Optimization in the Homogeneous Environment 28
3.4.4 Utilizing Opportunistic Resources 30
3.4.5 Optimization in the Heterogeneous Environment 31
3.4.6 Reconguration Speed 32
3.5 Related Work 33
3.6 Summary 34
Chapter4 A Scheduling Framework Optimized for Multiple Distributed Machine Learning Jobs 36
4.1 Resource Under-utilization Problems in PS ML Training 37
4.2 Harmony Overview 42
4.3 Multiplexing ML Jobs 43
4.3.1 Fine-grained Execution with Subtasks 44
4.3.2 Dynamic Grouping of Jobs 45
4.3.3 Dynamic Data Reloading 54
4.4 Evaluation 56
4.4.1 Baselines 56
4.4.2 Experimental Setup 57
4.4.3 Performance Comparison 59
4.4.4 Performance Breakdown 59
4.4.5 Workload Sensitivity Analysis 61
4.4.6 Accuracy of the Performance Model 63
4.4.7 Performance and Scalability of the Scheduling Algorithm 64
4.4.8 Dynamic Data Reloading 66
4.5 Discussion 67
4.6 Related Work 67
4.7 Summary 70
Chapter5 Conclusion 71
5.1 Summary 71
5.2 Future Work 71
5.2.1 Other Communication Architecture Support 71
5.2.2 Deep Learning & GPU Resource Support 72
요약 81
-
dc.language.isoeng-
dc.publisher서울대학교 대학원-
dc.subject.ddc621.39-
dc.titleRuntime Optimization Techniques for Resource-Efficient Execution of Distributed Machine Learning-
dc.title.alternative분산 기계 학습의 자원 효율적인 수행을 위한 동적 최적화 기술-
dc.typeThesis-
dc.typeDissertation-
dc.contributor.AlternativeAuthorLee, Woo-Yeon-
dc.contributor.department공과대학 컴퓨터공학부-
dc.description.degreeDoctor-
dc.date.awarded2020-02-
dc.identifier.uciI804:11032-000000160276-
dc.identifier.holdings000000000042▲000000000044▲000000160276▲-
Appears in Collections:
Files in This Item:

Altmetrics

Item View & Download Count

  • mendeley

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

Share