Papers
返回绿色论文索引Tear Up the Bubble Boom: Lessons Learned From a Deep Learning Research and Development Cluster打开本地 PDFPDF 转 HTML

Tear Up the Bubble Boom: Lessons Learned From

a Deep Learning Research and Development Cluster

Zehua Yang∗†, Zhisheng Ye∗†, Tianhao Fu, Jing Luo, Xiong Wei,

Yingwei Luo∗†, Xiaolin Wang∗†, Zhenlin Wang, Tianwei Zhang§

Peking University

Peng Cheng Laboratory

Michigan Tech University

§Nanyang Technological University

Wuhan Textile University

yzh182 @stu.pku.edu.cn, [email protected], [email protected], [email protected], wx [email protected]

{lyw,wxl}@pku.edu.cn, [email protected], [email protected]

Abstract—With the proliferation of deep learning, there exists

a strong need to efficiently operate GPU clusters for deep learning

production in giant AI companies, as well as for research and

development (R&D) in small-sized research institutes and univer-

sities. Existing works have performed thorough trace analysis on

large-scale production-level clusters in giant companies, which

discloses the characteristics of deep learning production jobs

and motivates the design of scheduling frameworks. However,

R&D clusters significantly differ from production-level clusters

in both job properties and user behaviors, calling for a different

scheduling mechanism. In this paper, we present a detailed

workload characterization of an R&D cluster, CloudBrain-I,

in a research institute, Peng Cheng Laboratory. After analyzing

the fine-grained resource utilization, we discover a severe problem

for R&D clusters, resource underutilization, which is especially

important in R&D clusters while not characterised by existing

works. We further investigate two specific underutilization phe-

nomena and conclude several implications and lessons on R&D

cluster scheduling. The traces will be open-sourced to motivate

further studies in the community.

Index Terms—Deep Learning , GPU cluster, Trace Analysis

I. INTRODUCTION

Recent years have witnessed the prosperity of deep learning

(DL) development and applications in every aspect of our daily

life, including image classification, recommendation systems,

text generation, etc. Such advancement also motivates the

development of infrastructures for DL production and research

in giant IT companies, research institutes and universities. It is

common for these organizations to build up and operate shared

GPU clusters to serve the DL workloads. In these clusters,

one indispensable component is the scheduler, which plays a

significant role on guaranteeing the job performance [1], [2],

[3], resource utilization [4], [5], and user experience [6], [7],

[8], [9].

Different from production-level GPU clusters, R&D GPU

clusters in research and education institutes exhibit distinct

cluster and job characteristics, bringing unique challenges

for workload scheduling. We investigate an representative

CloudBrain-I from the Peng Cheng Laboratory, which

supports over 500 student researchers and staffs for AI re-

search. We compare it with production-level clusters to sum-

marize the following differences.

1.

Computing

resources. Large-scale production-level

GPU clusters are usually equipped with customized high-

bandwidth inter-node networking architecture [10], [11] and

broad coverage of diverse GPU types. In contrast, small-scale

R&D clusters usually provide relatively lower interconnection

bandwidth via commodity InfiniBand or Ethernet and rela-

tively limited generations of GPUs.

2) Mixed and diverse job properties. R&D clusters usually

have a mix of jobs with different properties, including different

types of workloads (e.g., preprocessing, training, inference)

and execution environments. In contrast, production jobs in

commercial IT companies are more homogeneous within a

user, isolated from other users’ jobs in terms of resource

allocation, and vary significantly across different users. Due

to the emerging need for debugging and the feedback-driven

characteristic of DL jobs[1], users are enthusiastic about

interactive debugging in DL R&D, resulting in remarkable

proportion of these jobs. State-of-the-art GPU schedulers in

production-level GPU clusters are already co-designed with a

customized uniform DL framework, which are not practical

for R&D clusters. For example, giant companies can afford to

design DL frameworks or communication frameworks from

scratch and integrate them with cluster scheduling, e.g., Pol-

lux [3], BytePS [12], [13], and Bagua [14] for training. R&D

cluster administrators often fall behind in supporting users

with a wide variety of frequently-updated DL frameworks and

software versions, such as requiring PyTorch version later than

1.9 for elastic training, specific GPU driver versions to support

new GPUs, etc.

Except for a limited number of studies considering R&D

clusters [15], [16], most research on DL scheduling focuses

on production-level clusters. Unfortunately, direct application

of these giant companies’ experiences to the R&D clusters

does not bring promising rewards due to the ignorance of

R&D job characteristics. Existing schedulers from production-

level GPU clusters usually model DL workloads as long-term

offline processes, and the corresponding strategies may not be

applicable for interactive debugging jobs in R&D clusters. We

perform an in-depth analysis about the fine-grained resource

utilization of CloudBrain-I, and find that even though the

cluster-wide resource occupancy seems high, the actual job-

level resource utilization is severely low. Although resource

underutilization is also common in production-level clusters,

we discover two unique causes leading to this issue in R&D

672

2022 IEEE 40th International Conference on Computer Design (ICCD)

2576-6996/22/$31.00 ©2022 IEEE

DOI 10.1109/ICCD56317.2022.00103

2022 IEEE 40th International Conference on Computer Design (ICCD) | 978-1-6654-6186-3/22/$31.00 ©2022 IEEE | DOI: 10.1109/ICCD56317.2022.00103

Authorized licensed use limited to: Nanyang Technological University Library. Downloaded on December 21,2022 at 00:43:43 UTC from IEEE Xplore. Restrictions apply.

clusters due to the characteristic of R&D jobs. They are

reflected in both spatial and temporal aspects. The spatial

aspect refers to that many jobs could not achieve a high

utilization on the allocated resource (Section IV-B), while the

temporal aspect indicates that there exist idle time slots during

the job lifetime (Section IV-C). Although several public traces

of production-level GPU clusters are available for analysis

and evaluation, the lack of such information about R&D

jobs, especially on fine-grained resource utilization, hinders

the scheduler design for R&D clusters.

To comprehensively analyze the job characteristics in R&D

clusters, we collect a 328-day trace consisting of job and clus-

ter information in CloudBrain-I. Unlike existing public

traces in production-level clusters, we record not only the job

lifecycle, resource requirements, and resource occupancy in

the cluster but also detailed fine-grained resource usage of jobs

including CPU, memory, and GPU. Based on the analysis of

these fine-grained resource usage, we reveal the usage patterns

and underutilization problems of GPU resources for R&D

jobs. Regarding these phenomena and problems, we present

new implications and lessons for cluster scheduler design. We

believe that these discoveries and conclusions are general to

other R&D clusters.

In summary, this paper makes the following contributions:

We perform a thorough trace collection and analysis from

both job and cluster levels in CloudBrain-I, a DL R&D

GPU cluster, which is not well mentioned and studied

in prior works. The trace from CloudBrain-I will be

publicly available soon to benefit the community of DL

system design and evaluation1.

We analyze an undercover but severe problem, job-level

resource underutilization, from spatial and temporal aspects

in R&D clusters, and identify severe causes.

We present implications and lessons learned for effective

R&D cluster scheduling .

II. BACKGROUND

In this section, we introduce the basic information about the

compute nodes and jobs in the CloudBrain-I cluster. Then

we describe our methodology of trace collection, followed by

the comparison with existing public traces of DL clusters.

A. Architecture of CloudBrain-I

CloudBrain-I is a GPU cluster dedicated for DL re-

search and development in a research institute, Peng Cheng

Laboratory. This cluster consists of 16 CPU nodes and 110

GPU nodes, with a total number of 1100 GPUs2. As shown

in Table I, the cluster has 18 DGX-1s and 30 DGX-2s nodes,

with each one containing 8 and 16 V100 GPUs. All the V100

GPUs have 32GB memory and slightly different clock speeds,

memory frequency and power consumption. Additionally, the

cluster has some customized nodes with RTX 2080, RTX

1Please refer to the dataset: https://git.openi.org.cn/potato/ICCD-data

2The statistics were collected on January 19th, 2022. A few nodes in the

cluster were drained for maintenance and temporarily unavailable during the

trace collection period. This does not affect the conclusions in our analysis.

TABLE I

CONFIGURATIONS OF CL O U DBR A I N-I.

GPU Type

# of GPUs

# of nodes

# of CPUs

Mem (GiB)

V100-SXM2

8

24

96

1536

V100-SXM2-LS

8

18

80

512

V100-SXM3

16

30

96

1536

T4

8

26

40/80

384

RTX 2080

4

7

40/80

384

RTX 2080Ti

8

5

80

128

None

0

16

80/96

384/512/768

2080Ti and T4 GPUs, mainly for the debugging purpose. Dif-

ferent from the cluster trace analysis in previous works (e.g.,

Alibaba [5], SenseTime [17], Microsoft [18]) which mainly fo-

cused on the giant IT companies, the size of CloudBrain-I

is smaller, with very limited types of heterogeneous NVIDIA

GPUs. There are also 16 CPU machines in CloudBrain-I.

Since we do not focus on CPU tasks, they are not described in

detail here. There are 520 users in CloudBrain-I, most of

which are students and researchers from different universities.

A user account may be shared by multiple persons in the same

research group, submitting jobs with different characteristics

of resource usage. Besides, students are a fast-changing group

along with the graduation of seniors and entrance of freshmen.

Newcomers may be unfamiliar with the cluster, and their job

submissions can lead to anomalies in the resource utilization,

which will be discussed in detail in Section IV.

Web Portal

Kubernetes + Hadoop YARN + Lustre

Users

Prometheus

cAdvisor

GPU

Exporter

...

Fig. 1. CloudBrain-I Architecture

Figure

1

illustrates

the

key

cluster

architecture

of

CloudBrain-I, including the scheduler, monitoring sys-

tem, and storage system. CloudBrain-I deploys the open-

sourced scheduling framework OpenI-Octopus [19] on top of

Kubernetes [20] and a set of exporters on every node. These

exporters gather key metrics related to resource usage and sys-

tem events like GPU utilization on the node at the frequency

of seconds. Such information is then collected and stored by

Prometheus [21], a time series database (TSDB), deployed

along with the cluster. All the information about the resource

utilization in the trace is dumped from Prometheus, which

will be detailed in the rest of this paper. CloudBrain-I

also leverages the parallel file system Lustre to satisfy the

673

Authorized licensed use limited to: Nanyang Technological University Library. Downloaded on December 21,2022 at 00:43:43 UTC from IEEE Xplore. Restrictions apply.

I/O requirements of DL jobs during the concurrent execution.

Datasets which are public or manually uploaded by users

in advance are stored on Lustre and available during the

job execution. Despite the performance of inter-node net-

work communication is crucial for the distributed training,

for R&D clusters like CloudBrain-I, only part of nodes

are equipped with EDR InfiniBand. Users need to explicitly

request InfiniBand during the job submission. Otherwise, they

are more likely to be assigned to a node with Ethernet only.

B. Workloads in CloudBrain-I

Users submit DL jobs to CloudBrain-I through the

web portal, which also provides a graphical interface to view

the configuration and current status of their jobs. User can

also terminate their jobs manually at any time. During the

submission, users should specify the execution environment,

launch command, the number of tasks, the requested amount of

GPUs and CPUs per task, and host memory. CloudBrain-I

automatically schedules the jobs and runs all the tasks of each

selected job simultaneously (gang scheduling).

The workloads in CloudBrain-I cover various types of

jobs at every stage of the R&D pipeline, showing the mixed

and diverse characteristics. Some CPU jobs are submitted

for preprocessing and may incur more I/O-intensive opera-

tions such as dataset loading and decompression, environment

installation, etc. GPU jobs are mainly for DL training and

inference. DL training is an iterative process where a fixed

size of input samples (mini-batch) are fed into the model.

The output is computed after forward propagation, and the

gradient is obtained by backward propagation based on the

difference (loss) between the output and actual result. The

gradient is then used for updating the model parameters. Both

forward and backward propagation heavily relies on GPUs

for parallel computation. For multi-GPU jobs, the gradient

needs to be communicated among all the workers, which is

communication-intensive. Different from the production-level

inference systems in IT companies which focus on balancing

the model accuracy with the latency constraints, DL R&D

inference jobs mainly evaluate models on a relatively fixed

validation set and thus may incur more stable execution in a

repeated manner.

The models and frameworks used by these DL R&D jobs

also exhibit diversity and complexity. Inferred from the names

of jobs and their docker images in the trace, the jobs consist of

many kinds of neural network models, such as convolutional

neural network (e.g., ResNet [22], VGG [23]), recurrent neural

networks (e.g., LSTM [24]), and transformer-based models

(e.g., BERT [25]). They are implemented by TensorFlow [26],

PyTorch [27], and some other popular DL frameworks. Such

complexity and diversity exhibited in DL R&D jobs and the

need for interactive debugging bring challenges to the job

scheduling.

C. Trace Collection and Information

The per-job information in the collected trace, including

when the job is submitted, started, and finished, along with

the fine-grained resource utilization. The resource-related in-

formation is collected and stored in Prometheus mentioned in

Section II-A, from which we obtain the time series of resource

utilization of CPUs, host memory, GPU SM, and GPU memory

at an interval of 15 seconds during the job’s entire lifetime.

The metric of GPU utilization is provided by NVIDIA GPU

Exporter [28]. GPU utilization is collected separately for each

card in multi-GPU jobs. The resource utilization information

in the collected job trace reveals the underutilization issue,

which will be detailed in Section IV.

D. Comparison with Existing Public Traces

Over the past few years, several studies have analyzed

the public traces and characterized the DL jobs from the

scheduler’s perspective. One important public trace is Philly

[18] from a Microsoft cluster, which supports the production

DL workloads in 2017 and has been deprecated now. The

characteristics of DL workloads have changed dramatically

since then. Other public traces in recent years include He-

lios [17] and PAI [5], which have inspired the designs of

many DL schedulers

[8], [9]. However, all these traces are

from production-level GPU clusters, which are significantly

different from DL R&D clusters. A recent work [29] featuring

scheduling optimization for R&D clusters performs job anal-

ysis without releasing the trace to the public. To the best of

our knowledge, our work provides the first publicly available

DL R&D cluster trace that covers the analysis of fine-grained

resource usage.

Table II compares our trace with existing public traces.

These traces serve as important knowledge for workload char-

acterization and system design for DL clusters. Specifically,

the size of CloudBrain-I is smaller with approximately

1,100 GPUs, while Helios and PAI have more than 6,000

GPUs, and Philly has more than 2,400 GPUs in 2017.

Due to the smaller cluster size, the largest GPU job in

CloudBrain-I requests 768 GPUs, much smaller than the

2,048-GPU job in Helios.

The composition and properties of jobs in CloudBrain-I

also present different characteristics from those production-

level GPU clusters. The users in CloudBrain-I are mainly

interns or junior researchers in research institutes and univer-

sities, and thus have strong needs for debugging and experi-

mental exploration. The submitted jobs range from all stages

in the DL pipeline, thus being more diverse and error-prone.

In contrast, production-level clusters are filled with mature and

automated jobs that are primarily for model production.

Supporting interactive debugging jobs in CloudBrain-I

also leads to longer job duration in the job trace due to the

processing approach of these jobs. While users in other clus-

ters submit interactive debugging jobs by dividing them into

multiple consecutive short jobs (e.g., job attempts in Philly),

the way users submit debugging jobs in CloudBrain-I

results in significantly longer average job completion time.

674

Authorized licensed use limited to: Nanyang Technological University Library. Downloaded on December 21,2022 at 00:43:43 UTC from IEEE Xplore. Restrictions apply.

TABLE II

COMPARISONS BETWEEN CL O U DBR A I N-I AND OTHER PRODUCTION-LEVEL TRACES.

Year

Trace Duration

# of GPUs

# of GPU Jobs

Average Jobs Duration (s)

Scheduler

Institution

Philly [18]

2017

3 months

2490

103K

28329

YARN

Microsoft

Helios [17]

2020

6 months

6416

1.58M

13040

Slurm

SenseTime

PAI [5]

2020

2 months

6742

1.2M

4821

Fuxi

Alibaba

CloudBrain-I

2020-2021

10 months

1116

155K

42672

OpenI-Octopus

Peng Cheng Laboratory

III. WORKLOAD CHARACTERIZATION

In this section, we present detailed characterization about

the DL jobs in the CloudBrain-I trace. We analyze the

statistics about their duration, requested and utilized resources.

We then show the explicit daily and weekly trends of job

submissions, which highly reflect users’ behaviors. Based on

such analysis, we are surprised to find that the underscored

metric, cluster-wide GPU occupancy, is not well applied to

DL R&D clusters to demonstrate their GPU usage efficiency.

The cluster-wide GPU occupancy concentrates on the resource

allocation process to jobs, while resource underutilization at

the job level is severely ignored. Motivated by the remark-

able gap between users’ requested and utilized resources, we

will present more detailed analysis of resource utilization in

Section IV.

A. Job Duration

Figure 2(a) compares the Cumulative Distribution Function

(CDF) of the job duration between CloudBrain-I and

previous traces (PAI [5], Helios [17] and Philly [18]). Similar

as those production-level jobs traces, the job duration in

CloudBrain-I is also widely distributed and long-tailed.

The average and medium duration of jobs in CloudBrain-I

is 42672s and 6182s respectively, which is much longer than

previous works. There is a sharp increase at around 28,800s

(8 hours) due to the setting of the maximum duration for

debugging jobs.

B. Job Resource Usages

Figures 2(b) - 2(d) show the job-level requests and

usages of GPUs, CPUs, and host memory resources in

CloudBrain-I, respectively. We observe that the resource

requests of these jobs also exhibit wide distributions: the

majority of jobs request the minority of resources. Specifically,

the 80th percentile of job resource requests are 8 CPUs,

2 GPUs, and 128GB host memory, while the maximum

resources requested by one job are 3,840 CPUs, 768 GPUs,

and 39,552GB host memory respectively, consuming nearly

80% of GPUs in the cluster.

We retrieve the task-level resource usage as the mean of

the time series of GPU, CPU, and host memory usages. The

resource usage of a job is the average of the resource usage

of all its tasks. As shown in Figures 2(b) - 2(d), it is obvious

that the resource usages (GPU, CPU, and host memory) of all

the jobs are much lower and more smooth than the requested

amounts. This indicates severe resource wastes, and will be

detailed in Section IV.

We analyze the relationship between the requested numbers

of GPUs and the GPU time, which is defined as the number

of GPUs multiplied by the job duration. Figure 3 compares

the CDFs of jobs and GPU time in terms of GPU resource

demands. It shows about 60% of the jobs request one GPU.

However, they only consume about 20% of the GPU time.

Multi-GPU jobs consume most of the GPU time, which is

similar to other GPU clusters like Helios [17].

IV. RESOURCE UNDERUTILIZATION

From Section III, we observe there exists a resource under-

utilization problem in CloudBrain-I. In this section, we

make an in-depth analysis of this issue and elaborate the reason

that leads to such underutilization. We summarize several

typical anomalous resource usage patterns of jobs through

quantitative analysis. These patterns together contribute to

the underutilization issue. We also present some implications

learned from this analysis. These lessons can also be applied

to production-level clusters that suffer from the similar under-

utilization problem [5], [17].

A. Job-level Resource Underutilization

The GPU resources in CloudBrain-I are not fully

utilized. Figure 4 shows the distributions of the average

utilization of GPUs, GPU memory and CPUs among different

jobs. We observe that jobs cannot utilize the allocated GPUs

well. The average values of GPU utilization and GPU memory

usage are surprisingly low, with approximately 70.57% of

jobs consuming less than 50% of both GPU cards and GPU

memory. To make matters worse, a significant percentage of

jobs (54.57%) have very low average GPU utilization (20%

of both GPU cards and memory), clustered in the left bottom

corner in Figure 4(a). The CPUs are also not fully utilized

in CloudBrain-I and shows a mismatch with the GPU

resource allocation. Figure 4(b) shows the CPU utilization

distribution along with GPU utilization among jobs. There are

50.28% of jobs with the consumption of less than 20% of both

GPU cards and CPUs, shown in Figure 4(b).

Implication #1: The utilization of GPUs, CPUs, and GPU

memory shows heterogeneity among jobs, which increases

the difficulty of job scheduling.

The dense areas in the top left and bottom right of Figure

4 suggest that a noticeable percentage of jobs have relatively

contrary average utilization of GPUs versus CPUs, demon-

strating the potential imbalance in resource allocation for these

jobs. The CPU utilization of jobs with high GPU utilization

675

Authorized licensed use limited to: Nanyang Technological University Library. Downloaded on December 21,2022 at 00:43:43 UTC from IEEE Xplore. Restrictions apply.

(a) Job Duration Distribution

(b) GPU Request and Usage

(c) CPU Request and Usage

(d) Host Memory Request and Usage

Fig. 2. Job duration, resource requests and usages in CloudBrain-I.

Fig. 3. Job GPU requests and GPU time distribution.

(a) GPU-GPU Memory

(b) GPU-CPU

Fig. 4.

Distributions of the average utilization of GPUs, CPUs, and GPU

memory across different jobs. A point in the figure represents one job

respectively. The x and y coordinates of the point represent the utilization

of GPU cards and memory/CPUs in Figure (a)/(b).

(80%) is mainly (67.91%) distributed from 10% to 40%.

About 5% of jobs suffer from a severe mismatch, which have

a utilization of greater than 80% for one resource and less than

20% for the other resource. This may be because that users

are not familiar with the real resource requirements of their

jobs, and thus request inappropriate configurations of CPU and

GPU resources. The performance of DL workloads may also

be affected due to their sensitivity to the resources [30].

Implication #2: The imbalanced utilization of various

resources in CloudBrain-I is a common problem, wast-

ing large amounts of expensive resources and threatening

the job performance.

Figure 5 shows the resource usage and maximum utilization

among jobs. Both the GPUs and CPUs are underutilized. The

average utilization of GPUs, GPU memory, CPUs and host

memory among jobs are 21.24%, 25.75%, 18.12%, 33.08%

(a) GPU

(b) CPU

(c) GPU Memory

(d) Host Memory

Fig. 5. Maximum and average resource usage distributions of GPUs, CPUs,

GPU memory and host memory among jobs.

respectively. The median of maximum GPU and GPU memory

usage are 0.78 and 2.4 GB respectively. As seen from this

figure, the maximum demand for resources by jobs also tends

to be lower than the requested resources. One reason for such

mismatch between allocated and utilized resources lies on the

approaches of resource allocation in the schedulers. Existing

schedulers for DL training usually consider GPUs as the

dominant resource in the cluster and focus on GPU allocation

in achieving the desired scheduling objectives. The scheduler

of CloudBrain-I follows this strategy and allocates other

resources, including CPUs and main memory, proportionally

based on the pre-defined resource configurations mentioned in

Section II-B.

Implication

#3:

Low

utilization

and

overestimation

of

resource

requirements

are

common

for

jobs

in

CloudBrain-I. It exacerbates the waste of various com-

puting resources and incentivizes the feasibility of GPU

sharing.

676

Authorized licensed use limited to: Nanyang Technological University Library. Downloaded on December 21,2022 at 00:43:43 UTC from IEEE Xplore. Restrictions apply.

B. Fluctuating Resource Utilization

The iterative characteristic of DL job execution leads to

fluctuating usages of CPU and GPU resources, especially for

GPUs, wasting resources spatially. During each mini-batch of

DL training, besides the heavy parallel computation performed

on the GPUs such as forward and backward propagation, a

large amount of data are transferred for communication at

the beginning and the end of the mini-batch, resulting in

an iterative usage of GPUs in the training process. There

are also many framework-level optimizations dedicated to

synchronizing the computation and communication processes

for more efficient GPU usage [31], [32]. However, the dy-

namic fluctuating usage of GPU resources brings challenges

for DL workloads to saturate the GPU’s compute capacity.

Below we give detailed illustration of this resource utilization

characteristic.

Fig. 6.

The resource utilization of a task from the job trace. The x-axis

denotes the time during the training. The blue, red and green lines represent

the utilization of CPUs, GPU memory, and one allocated GPU for this task.

Figure 6 shows the utilization of GPUs, CPUs and GPU

memory for an example task. It clearly shows the fluctuation

of GPU utilization, caused by the DL framework behaviors.

Specifically, DL frameworks (e.g., TensorFlow, PyTorch) need

to reconcile the processes of data loading, transferring to

GPUs, computation on GPUs, and copying back to CPUs

for aggregation or synchronization. Therefore, it is hard for

DL jobs to saturate the allocated computation resources (e.g.,

CPUs and GPUs) all the time. About 11.54% of the jobs in

CloudBrain-I show a similar pattern of sharp and unstable

fluctuations (utilization floats over 90% in most (over 75%)

of intervals with 120s) in CPU or GPU utilization. This poses

a pitfall that GPU sharing may lead to inter-job interference

easily without considering the sharp fluctuations.

Implication #4: The fluctuating CPU and GPU utiliza-

tion indicates the strong need for safe and efficient GPU

sharing. Schedulers need to carefully consider fine-grained

dynamic GPU sharing to maximize the utilization and

minimize the interference across jobs.

We define a stable phase as a period whose length is larger

than a threshold t and the idle GPU memory is larger than

another threshold m. Table III shows the ratio of stable phases

in our traces under different thresholds (t, m). We consider the

thresholds of (240s, 2G), and 87.02% GPU time satisfies this

requirement. This shows that GPU memory is stable in most

TABLE III

GPU TIME PERCENTAGE OF STABLE PHASES UNDER DIFFERENT LENGTH

THRESHOLD AND IDLE GPU MEMORY THRESHOLD.

m (G)

t (s)

60

120

240

480

960

1

92.28

91.77

90.86

89.65

88.21

2

88.41

87.91

87.02

85.83

84.45

4

82.90

82.43

81.59

80.48

79.22

8

70.68

70.27

69.51

68.52

67.42

jobs’ lifetime, which provides the opportunity to make a safe

GPU sharing among jobs.

(a) Job A with two stable phases: 200s – 2800s and 3000s – 6200s.

(b) Job B with three stable phases: 0s – 2600s, 2600s – 5100s, and 5100s

– 7300s. The last period is too short (240s) to be considered as a stable

phase.

Fig. 7. Two jobs which have multiple stable phases.

A remarkable proportion (about 38.05%) of GPU jobs have

multiple stable phases. Figure 7 shows two example jobs with

multiple stable phases. Jobs may have different GPU memory

requests in different phases during their lifetime. Over 20.97%

of jobs have a memory gap greater than 1G and over 8.99%

of jobs have a gap greater than 8G among different phases.

Lots of GPU memory is wasted if the scheduler just allocates

GPU memory according to the largest requirement. This poses

a strong need for schedulers to detect the phases and allocate

proper resources according to the changing demands when

colocating jobs.

Implication #5: The stable phase provides feasibility for

safe GPU sharing. The characteristic of jobs containing

multiple stable phases requires the scheduler to dynami-

cally adjust the GPU memory allocation.

677

Authorized licensed use limited to: Nanyang Technological University Library. Downloaded on December 21,2022 at 00:43:43 UTC from IEEE Xplore. Restrictions apply.

C. Non-continuous GPU Utilization

In addition to the feature of resource underutilization, we

perform further analysis of their resource usages from a

temporal perspective. We find that many jobs cannot maintain

an active GPU usage during their whole lifetime, but consume

the expensive GPU resources in a non-continuous manner. To

quantify this non-continuous usage phenomenon and analyze

its severity and potential causes, we define the idle slot of a

job as a period of length larger than a threshold, during which

the job does not actually use any GPU resources (i.e., both

GPU utilization and GPU memory usage are equal to 0). We

set this threshold to 60s and calculate the percentage of idle

slots contributing to the total GPU time.

Table IV describes the statistics about the idle slots of

jobs in CloudBrain-I. We consider two types of jobs:

debugging and non-debugging jobs. We also consider two

GPU usage scenario: idle-slot means the job still uses GPUs

although there exist some idle slots; never-used means the job

never used part of the allocated GPUs during its lifetime. We

compute the percentage of such GPU time among the GPU

time of this job, as well as all the jobs in the cluster.

TABLE IV

THE STATISTIC RESULTS OF NON-CONTINUOUS GPU USAGE.

% among

Debugging

Non-debugging

Total

Idle-slot

its own job

41.62

9.76

-

GPU time

all the jobs

1.77

9.35

11.12

Never-used

its own job

36.10

2.76

-

GPU time

all the jobs

1.54

2.64

4.18

Total

its own job

77.72

12.52

-

all the jobs

3.31

11.99

15.30

We observe that the debugging jobs have a much higher

ratio of idle slots than the non-debugging jobs due to their

debugging properties. About 77.7% of the lifetime of these

debugging jobs is wasted. They are likely the cause of the

GPU machine time waste. However, the idle slots of non-

debugging jobs contribute more than debugging jobs to the

GPU machine time waste considering the total GPU time. For

these non-debugging jobs, most of the GPU waste is caused

by the idle slots among job duration.

1) Idle Slots among Job Lifetime: We look deeper into the

idle slots of jobs in CloudBrain-I. They play the most

important role in wasting GPU time for both debugging and

non-debugging jobs.

The idle slots of non-debugging jobs

are possibly caused by the cold start overhead for initializing

runtime environments and pre- or post-processing in the DL

lifecycle. Since we do not have more runtime information

(e.g., the time information corresponding to the model training

stage) to reason about the idle slots, we only focus on the idle

slots of debugging jobs.

Figure 8 shows the characteristics of the GPU utilization

for one interactive debugging job over the time. During the

first 3 hours, the user debugs and evaluates the job on the

GPU interactively. It clearly shows that the GPU is not

used between 0s to 600s, 1200s to 1800s, and 4400s to

Fig. 8. Resource utilization of a debugging job. The period between 4500s

to 9000s reflects its interactive property.

8500s. The job continues to run until it is terminated by the

scheduler when the 8-hour quota is reached. Due to such

interactive execution characteristics, all the debugging jobs

in CloudBrain-I waste about 41.62% of the allocated

GPU time. We also observe that nearly 80% of debugging

jobs actually do not use GPUs among 80% of their lifetime.

Existing scheduling algorithms ignore such characteristic and

allocate exclusive GPUs to debugging jobs, which can waste

GPU resources greatly. The long idle time of debugging jobs

is also exacerbated by the fact that users forget to stop the

debugging jobs. About 40.41% of the debugging jobs approach

or exceed the maximum duration (8 hours).

Implication #6: The interactive and exploration nature of

debugging jobs prevents them from enjoying high resource

utilization, and causes great GPU resource waste. Sched-

ulers for R&D clusters should be able to identify and apply

different scheduling policies to such interactive jobs.

2) Never-used Allocated GPUs: Another phenomenon of

GPU waste is the presence of completely unused GPUs

in the job. This is not rare for both debugging and non-

debugging jobs in CloudBrain-I. There are much more job

submissions for testing the correctness of the program, than

production development in R&D clusters. These testing jobs

generally request certain amount of resources for execution.

After deeper analysis of multi-GPU jobs, we find that there

exists a remarkable proportion (about 24.01%) of DL jobs

that only use part of the requested GPUs during their lifetime.

Table V shows the abnormal number of jobs that waste at

least one GPU entirely. One possible reason is that users

could misconfigure the important parameters in distributed

training frameworks and environments in R&D clusters. From

a scheduling perspective, it is necessary to proactively monitor

GPU usage of all the jobs and provide timely feedback to

users.

Implication #7: The exploration nature of DL jobs in R&D

cluster leads to frequent misusage of GPUs, thus wasting

GPU resources. Schedulers for R&D clusters should be

able to identify the abnormal resource usage scenarios and

make dynamic GPU resource allocation for different jobs.

678

Authorized licensed use limited to: Nanyang Technological University Library. Downloaded on December 21,2022 at 00:43:43 UTC from IEEE Xplore. Restrictions apply.

TABLE V

STATISTICS ABOUT THE JOBS WITH UNUSED GPUS.

# of GPUs requested

# of Jobs with unused GPUs

Ratio

1

24370

26.20%

2

6671

23.82%

4

2336

15.47%

8

1016

14.23%

16

553

17.43%

Other

1514

24.16%

Total

36460

24.01%

V. RELATED WORK

A. DL Trace Analysis of GPU Clusters

Recently released traces of DL training workloads are

mainly from production-level clusters in giant IT companies.

Philly [18] from Microsoft shows the influence of job locality

on queuing delay and resource utilization, and identifies the

percentage of different reasons for errors. Helios [17] from

SenseTime shows the characteristics of cluster resource uti-

lization and unfairness among users from the cluster, job, and

user perspectives. Weng et al. [33] analyze the challenges in

Alibaba’s cluster PAI from temporal and spatial perspectives.

Wang et al. [34] focus on the performance bottlenecks of jobs

in Alibaba’s PAI, which is not detailed in the paper because

of the lack of public traces.

Different from those works, this paper fills in the missing

part of DL workloads traces for R&D clusters. We collect

and analyze a trace from CloudBrain-I, demonstrate dif-

ferent characteristics of R&D jobs, and provide guidance for

scheduling of R&D clusters. Some findings and scheduling

implications from prior works may also be applicable to

R&D clusters due to some similarities between R&D jobs and

production jobs.

B. Deep Learning Cluster Scheduling

Past years witness a wealth of research works to optimize

the execution of DL training jobs in GPU clusters from differ-

ent perspectives. To maximize the cluster efficiency, Gandiva

[1] designs primitives for DL job packing and sharing, as

well as introspective migration for the cluster scheduling.

Antman

[35] supports controlling fine-grained elastic usage

of GPUs by grow-shrink, thus enabling sharing GPUs between

jobs. Pollux

[3] rearranges resources to different jobs to

improve cluster-wide throughput with dynamic adjustment of

batch sizes and learning rates. To minimize the average job

completion time, Optimus

[36] and Tiresias

[2] predict

job remaining time by learning the training progress till

convergence and analytic modeling respectively. To satisfy the

QoS requirements, Allox [37], Gandivafair [6] and Gavel

[38] target on heterogeneous clusters with different generations

of GPUs or computation resources, while HiveD [4] considers

the inter-GPU affinity as a type of resource for isolating and

allocating GPUs. Themis

[7] and ASTRAEA [9] measure

the impact of placement policies on the job performance

for fairness enhancement. Chronus [8] adopts the intra-job

predictability to guarantee the deadline of DL jobs.

However, these works focus on specific optimization for

DL R&D clusters rather than general workload characteriza-

tion. We provide a thorough analysis and characterization for

the workloads, which could inspire other works to optimize

the management of DL jobs in R&D clusters from diverse

perspectives.

VI. CONCLUSION

In this paper, we collect and analyze job traces from a deep

learning research and development cluster (CloudBrain-I)

over 10 months. We uncover the underutilization of differ-

ent resources (GPUs, CPUs, host memory), the most severe

problem for R&D jobs. We also analyze the causes of the

underutilization, including the fluctuating GPU usages of DL

jobs, the interactive execution of debugging jobs, abnormal

resource consumption due to users, and the mismatching

between resource allocation and utilization. We conclude the

implications and lessons which could inspire new solutions

to this problem. The trace will be publicly available for

further investigation and benefit the deep learning scheduling

community.

ACKNOWLEDGEMENTS

The research is supported in part by the National Science

Foundation of China (Nos. 62032001, 62032008) and PKU-

Baidu Fund 2020BD001. This study is also supported under

the RIE2020 Industry Alignment Fund–Industry Collaboration

Projects (IAF-ICP) Funding Initiative, as well as cash and in-

kind contributions from the industry partner(s).

REFERENCES

[1] W. Xiao, R. Bhardwaj, R. Ramjee, M. Sivathanu, N. Kwatra, Z. Han,

P. Patel, X. Peng, H. Zhao, Q. Zhang et al., “Gandiva: Introspective

cluster scheduling for deep learning,” in OSDI, 2018.

[2] J. Gu, M. Chowdhury, K. G. Shin, Y. Zhu, M. Jeon, J. Qian, H. Liu, and

C. Guo, “Tiresias: A gpu cluster manager for distributed deep learning,”

in NSDI, 2019.

[3] A. Qiao, S. K. Choe, S. J. Subramanya, W. Neiswanger, Q. Ho,

H. Zhang, G. R. Ganger, and E. P. Xing, “Pollux: Co-adaptive cluster

scheduling for goodput-optimized deep learning,” in OSDI, 2021.

[4] H. Zhao, Z. Han, Z. Yang, Q. Zhang, F. Yang, L. Zhou, M. Yang, F. C.

Lau, Y. Wang, Y. Xiong, and B. Wang, “Hived: Sharing a GPU cluster

for deep learning with guarantees,” in OSDI, 2020.

[5] Q. Weng, W. Xiao, Y. Yu, W. Wang, C. Wang, J. He, Y. Li, L. Zhang,

W. Lin, and D. Yu, “MLaaS in the wild: Workload analysis and

scheduling in Large-Scale heterogeneous GPU clusters,” in NSDI, 2022.

[6] S. Chaudhary, R. Ramjee, M. Sivathanu, N. Kwatra, and S. Viswanatha,

“Balancing efficiency and fairness in heterogeneous gpu clusters for deep

learning,” in EuroSys, 2020.

[7] K. Mahajan, A. Balasubramanian, A. Singhvi, S. Venkataraman,

A. Akella, A. Phanishayee, and S. Chawla, “Themis: Fair and efficient

gpu cluster scheduling,” in NSDI, 2020.

[8] W. Gao, Z. Ye, P. Sun, Y. Wen, and T. Zhang, “Chronus: A novel

deadline-aware scheduler for deep learning training jobs,” in SoCC,

2021.

[9] Z. Ye, P. Sun, W. Gao, T. Zhang, X. Wang, S. Yan, and Y. Luo, “Astraea:

A fair deep learning scheduler for multi-tenant gpu clusters,” IEEE

Transactions on Parallel and Distributed Systems, pp. 1–1, 2021.

[10] J. Dong, Z. Cao, T. Zhang, J. Ye, S. Wang, F. Feng, L. Zhao, X. Liu,

L. Song, L. Peng, Y. Guo, X. Jiang, L. Tang, Y. Du, Y. Zhang, P. Pan, and

Y. Xie, “Eflops: Algorithm and system co-design for a high performance

distributed training platform,” in HPCA, 2020.

[11] N. Corporation, “Nvidia dgx superpod,” 2020. [Online]. Available:

https://www.nvidia.com/en-us/data-center/dgx-superpod

679

Authorized licensed use limited to: Nanyang Technological University Library. Downloaded on December 21,2022 at 00:43:43 UTC from IEEE Xplore. Restrictions apply.

[12] Y. Peng, Y. Zhu, Y. Chen, Y. Bao, B. Yi, C. Lan, C. Wu, and

C. Guo, “A generic communication scheduler for distributed dnn training

acceleration,” in SOSP, 2019.

[13] Y. Jiang, Y. Zhu, C. Lan, B. Yi, Y. Cui, and C. Guo, “A unified

architecture for accelerating distributed DNN training in heterogeneous

GPU/CPU clusters,” in OSDI, 2020.

[14] S. Gan, X. Lian, R. Wang, J. Chang, C. Liu, H. Shi, S. Zhang, X. Li,

T. Sun, J. Jiang, B. Yuan, S. Yang, J. Liu, and C. Zhang, “Bagua: Scaling

up distributed learning with system relaxations,” 2021.

[15] Z. Chen, W. Quan, M. Wen, J. Fang, J. Yu, C. Zhang, and L. Luo,

“Deep learning research and development platform: Characterizing and

scheduling with qos guarantees on gpu clusters,” IEEE Transactions on

Parallel and Distributed Systems, vol. 31, no. 1, pp. 34–50, 2020.

[16] Z. Chen, “Rifling: A reinforcement learning-based gpu scheduler for

deep learning research and development platforms,” Software: Practice

and Experience, 2021.

[17] Q. Hu, P. Sun, S. Yan, Y. Wen, and T. Zhang, “Characterization and

prediction of deep learning workloads in large-scale gpu datacenters,”

in SC, 2021.

[18] M. Jeon, S. Venkataraman, A. Phanishayee, J. Qian, W. Xiao, and

F. Yang, “Analysis of large-scale multi-tenant gpu clusters for dnn

training workloads,” in ATC, 2019.

[19] open-intelligence contributors, 2020. [Online]. Available: https://github.

com/open-intelligence/OpenI-Octopus

[20] Kubernetes contributors, 2021. [Online]. Available: https://kubernetes.io/

[21] Prometheus contributors, 2022. [Online]. Available: https://prometheus.

io/

[22] K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image

recognition,” in CVPR, 2016.

[23] K. Simonyan and A. Zisserman, “Very deep convolutional networks for

large-scale image recognition,” arXiv preprint arXiv:1409.1556, 2014.

[24] S. Hochreiter and J. Schmidhuber, “Long short-term memory,” Neural

Comput., vol. 9, no. 8, p. 1735–1780, nov 1997. [Online]. Available:

https://doi.org/10.1162/neco.1997.9.8.1735

[25] J. Devlin, M.-W. Chang, K. Lee, and K. Toutanova, “Bert: Pre-training of

deep bidirectional transformers for language understanding,” in NAACL-

HLT, 2019.

[26] M. Abadi, P. Barham, J. Chen, Z. Chen, A. Davis, J. Dean, M. Devin,

S. Ghemawat, G. Irving, M. Isard et al., “Tensorflow: A system for

large-scale machine learning,” in OSDI, 2016.

[27] A. Paszke, S. Gross, F. Massa, A. Lerer, J. Bradbury, G. Chanan,

T. Killeen, Z. Lin, N. Gimelshein, L. Antiga et al., “Pytorch: An

imperative style, high-performance deep learning library,” Advances in

neural information processing systems, 2019.

[28] NVIDIA GPU Prometheus Exporter contributors, 2022. [Online]. Avail-

able: https://github.com/mindprince/nvidia gpu prometheus exporter

[29] S. Wang, P. Yang, Y. Zheng, X. Li, and G. Pekhimenko, “Horizontally

fused training array: An effective hardware utilization squeezer for

training novel deep learning models,” in MLSys, 2021.

[30] J. Mohan, A. Phanishayee, A. Raniwala, and V. Chidambaram,

“Analyzing and mitigating data stalls in DNN training,” Proc. VLDB

Endow., vol. 14, no. 5, pp. 771–784, 2021. [Online]. Available:

http://www.vldb.org/pvldb/vol14/p771-mohan.pdf

[31] Y. Huang, Y. Cheng, A. Bapna, O. Firat, D. Chen, M. Chen, H. Lee,

J. Ngiam, Q. V. Le, Y. Wu et al., “Gpipe: Efficient training of giant neu-

ral networks using pipeline parallelism,” Advances in neural information

processing systems, 2019.

[32] P. Sun, Y. Wen, R. Han, W. Feng, and S. Yan, “Gradientflow: Optimizing

network performance for large-scale distributed dnn training,” IEEE

Transactions on Big Data, 2019.

[33] M. Wang, C. Meng, G. Long, C. Wu, J. Yang, W. Lin, and Y. Jia,

“Characterizing deep learning training workloads on alibaba-pai,” in

IISWC, 2019, pp. 189–202.

[34] W. Mengdi, M. Chen, L. Guoping, W. Chuan, Y. Jun, L. Wei, and

J. Yangqing, “Characterizing deep learning training workloads on

alibaba-pai,” CoRR, vol. abs/1910.05930, 2019. [Online]. Available:

http://arxiv.org/abs/1910.05930

[35] W. Xiao, S. Ren, Y. Li, Y. Zhang, P. Hou, Z. Li, Y. Feng, W. Lin, and

Y. Jia, “Antman: Dynamic scaling on GPU clusters for deep learning,”

in OSDI, 2020.

[36] Y. Peng, Y. Bao, Y. Chen, C. Wu, and C. Guo, “Optimus: an efficient

dynamic resource scheduler for deep learning clusters,” in EuroSys,

2018, pp. 1–14.

[37] T. N. Le, X. Sun, M. Chowdhury, and Z. Liu, “Allox: Compute allocation

in hybrid clusters,” in EuroSys, 2020.

[38] D. Narayanan, K. Santhanam, F. Kazhamiaka, A. Phanishayee, and

M. Zaharia, “Heterogeneity-aware cluster scheduling policies for deep

learning workloads,” in OSDI, 2020.

680

Authorized licensed use limited to: Nanyang Technological University Library. Downloaded on December 21,2022 at 00:43:43 UTC from IEEE Xplore. Restrictions apply.