Task scheduling techniques for deep learning in heterogeneous environment
Journal
Proceedings - 2019 7th International Symposium on Computing and Networking Workshops, CANDARW 2019
Pages
141-147
Date Issued
2019
Author(s)
Wu, J.-J.
Abstract
The training of deep learning requires heavy computation, and is the focus of deep learning system optimization. The training of deep learning has three characteristics. First, the training repeats a sequence of identical tasks. Second, the training is done in batches, i.e., the training performs the same computation on a batch of input data. Third, the training system usually has several different types of computation devices, e.g., CPU, GPU, and FPGA, so the environment is heterogeneous. An efficient deep learning system must consider the three characteristics mentioned above, and address three issues. First, since the system is heterogeneous, every task can run on every computation device. As a result, we need to assign every task to an appropriate device to reduce computation cost. Second, the computation devices are exclusive, therefore, we need to carefully schedule tasks from different batches so that no tasks that require the same device are assigned to the device at the same time. Finally, two tasks A and B have their own most appropriate devices. However, the task B may need the output of A as input, so if A and B are mapped to different devices, heavy communication overhead may incur. We develop two algorithms to address these issues. We first solve the task-device mapping problem by transforming it into a generalized shortest path problem. We then use a concatenation algorithm to schedule tasks from multiple batches in such a way that no device conflict will happen. We show that both algorithms are efficient and optimal, in terms of scheduling quality.
SDGs
Type
conference paper
