Automating Dependence-Aware Parallelization of Machine Learning Training on Distributed Shared Memory
Automating Dependence-Aware Parallelization of Machine Learning Training on Distributed Shared Memory
复制标题
DOI:
10.1145/3302424.3303954
复制
发表时间:
2019-03
期刊:
影响因子:
--
通讯作者:
Jinliang Wei;Garth A. Gibson;Phillip B. Gibbons;E. Xing
中科院分区:
文献类型:
--
作者:
Jinliang Wei;Garth A. Gibson;Phillip B. Gibbons;E. Xing
Machine learning (ML) training is commonly parallelized using data parallelism. A fundamental limitation of data parallelism is that conflicting (concurrent) parameter accesses during ML training usually diminishes or even negates the benefits provided by additional parallel compute resources. Although it is possible to avoid conflicting parameter accesses by carefully scheduling the computation, existing systems rely on programmer manual parallelization and it remains a question when such parallelization is possible. We present Orion, a system that automatically parallelizes serial imperative ML programs on distributed shared memory. The core of Orion is a static dependence analysis mechanism that determines when dependence-preserving parallelization is effective and maps a loop computation to an optimized distributed computation schedule. Our evaluation shows that for a number of ML applications, Orion can parallelize a serial program while preserving critical dependences and thus achieve a significantly faster convergence rate than data-parallel programs and a matching convergence rate and comparable computation throughput to state-of-the-art manual parallelizations including model-parallel programs.