characterizing and benchmarking deep learning systems on ... · • deep learning is going through...

30
Characterizing and Benchmarking Deep Learning Systems on Modern Data Center Architectures Xiaoyi Lu The Ohio State University E-mail: [email protected] http://www.cse.ohio-state.edu/~luxi Talk at Bench 2018 by

Upload: others

Post on 20-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Characterizing and Benchmarking Deep Learning Systems on Modern Data Center Architectures

Xiaoyi LuThe Ohio State University

E-mail: [email protected]://www.cse.ohio-state.edu/~luxi

Talk at Bench 2018by

Page 2: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 2

• Deep Learning is a sub-set of Machine Learning

– Most radical and revolutionary subset

• Deep Learning is going through a resurgence

– Model: Excellent accuracy for deep/convolutional neural networks

– Data: Public availability of versatile datasets like MNIST, CIFAR, and ImageNet

– Capability: Unprecedented computing and communication capabilities: Multi-/Many-Core, GPGPUs, Xeon Phi, InfiniBand, RoCE, etc.

Overview of Deep Learning

Courtesy: http://www.zdnet.com/article/caffe2-deep-learning-wide-ambitions-flexibility-scalability-and-advocacy/

MNIST handwritten digits Deep Neural Network

Page 3: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 3

Trends of Deep Learning Systems

• Google TensorFlow

• Microsoft CNTK• Facebook Caffe2• PyTorch

• Google Search Trend (Dec 10, 2018)

Page 4: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 4

Big Data (Hadoop, Spark,

HBase, Memcached,

etc.)

Deep Learning(Caffe, TensorFlow, BigDL,

etc.)

HPC (MPI, RDMA, Lustre, etc.)

Increasing Usage of HPC, Big Data and Deep Learning on Modern Datacenters

Convergence of HPC, Big Data, and Deep Learning!

Increasing Need to Run these applications on the Cloud!!

Page 5: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 5

Drivers of Modern Data Center Architecture

• Multi-core/many-core technologies

• Remote Direct Memory Access (RDMA)-enabled networking (InfiniBand, iWARP, RoCE, and Omni-Path)

• Single Root I/O Virtualization (SR-IOV)

• Solid State Drives (SSDs), NVMe/NVMf, Parallel Filesystems, Object Storage Clusters

• Accelerators (NVIDIA GPGPUs and FPGAs)

High Performance Interconnects –InfiniBand (with SR-IOV)

<1usec latency, 200Gbps Bandwidth>Multi-/Many-core

Processors

Cloud CloudSDSC Comet TACC Stampede

Acceleratorshigh compute density, high

performance/watt>1 TFlop DP on a chip

SSD, NVMe-SSD, NVRAM

Page 6: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 6

• BLAS Libraries – the heart of math

operations

– Atlas/OpenBLAS

– NVIDIA cuBlas

– Intel Math Kernel Library (MKL)

• DNN Libraries – the heart of Convolutions!

– NVIDIA cuDNN

– Intel MKL-DNN

• Communication Libraries – the heart of

model parameter updating

– MPI

– gRPC

– RDMA / GPUDirect RDMA

Modern Deep Learning System Architecture

Page 7: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 7

• Layers of DLoBD Stacks– Deep learning application layer

– Deep learning library layer

– Big data analytics framework layer

– Resource scheduler layer

– Distributed file system layer – Hardware resource layer

• Where are the bottlenecks for deep learning jobs?

Example: Overview of DLoBD Stacks

Bottlenecks?

Page 8: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 8

• Stanford DAWNBench– An open-source benchmark and competition for end-to-end deep learning training and inference

– End-to-end training time, cost, accuracy

– Support TensorFlow and PyTorch

– Various types of hardware, like GPU, CPU

– https://dawn.cs.stanford.edu/benchmark/

• Baidu DeepBench– An open-source benchmark covering both training and inference

– Performance of basic operations in neural network libraries

– Determining the most suitable hardware for specific operations, and communicating requirements to

hardware manufacturers

– Various types of hardware, like GPU, CPU, mobile devices

– https://github.com/baidu-research/DeepBench

A Quick Survey on Current Deep Learning Bechmarks

Page 9: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 9

• Facebook AI Performance Evaluation Platform

– Compare Machine Learning or Deep Learning inferencing performance metrics on a set of models over

different backends

– Total execution time, error rate, and power consumption

– Support Caffe2 and TFLite

– Various types of hardware, like GPU, CPU, DSP, mobile devices

– https://github.com/facebook/FAI-PEP

• ICT BigDataBench 4.0

– A comprehensive Big Data and AI benchmark suite

– Data motifs, which considers any Big Data and AI workload as a pipeline of one or more classes of

computation units performed on different input data sets

– Eight data motifs, including Matrix, Sampling, Logic, Transform, Set, Graph, Sort, and Statistic computation

– Support TensorFlow and Caffe

– http://prof.ict.ac.cn/

A Quick Survey on Current Deep Learning Benchmarks (Cont.)

Page 10: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 10

• MLPerf: a synthetic benchmark suite for measuring the performance of software frameworks, hardware accelerators, and cloud platforms for machine learning

• Fathom: a set of reference implementations of state-of-the-art deep learning models and has the ability to provide a quantitative analysis of the fundamental computational characteristics of these workloads

• TensorFlow Benchmark: a selection of image classification models across multiple platforms

• CortexSuite: a Synthetic Brain Benchmark Suite which classifies and identifies benchmarks by analogy to the human neural processing functions

• BenchNN: a hardware-based neural network accelerator can be compatible with many of the emerging benchmarks for high-performance micro-architectures

• DjiNN: an open infrastructure for providing Deep Neural Networks (DNN) as a service

• Tonic: provides image, speech, and natural language processing applications that can have a common DNN backend

Many Other Benchmarks

Page 11: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 11

• Current DL models and benchmarks are deeplearning research oriented.• Example: Facebook caffe2 takes 1 hour to

train ImageNet data1

• System researchers just focus on improvingthe computation and communication engineof deep learning systems• A fast benchmark that models deep learning

characteristics is highly desirable

• Understanding the cross-layer activities

Motivation

1. Goyal, Priya, et al. "Accurate, large minibatch SGD: training imagenet in 1 hour." arXiv preprint arXiv:1706.02677 (2017).

Page 12: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 12

Case Studies - Characterizing and Benchmarking TensorFlow

• Standalone TensorFlow• TensorFlow on Spark

Page 13: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 13

Overview of TensorFlowKey Features: • Widely used for Deep Learning • Open source software library for numerical

computation using data flow graphs• Nodes in the graph represent mathematical

operations• Graph edges represent the multidimensional

data arrays

• Flexible architecture allows to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device

• Used by Google, Airbnb, DropBox, Snapchat, Twitter, and many other companies

• Communication and Computation intensive

Before and After Usage of Distributed TF

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, vol. 16, 2016, pp. 265–283.

Communication

Image courtesy: http://cs231n.stanford.edu/

Page 14: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 14

Overview of Distributed Execution

TensorFlow PS Architecture

• Training variables are updated using aggregated gradients and deltas, represented as tensors

• Widely used approach for managing the training variables is Parameter Server

• Parameter Server (PS) owns the master copies of the variables

• Workers request for those variables when needed

• Workers compute (such as gradient updates) a new value of a variable, it sends an update to the PS

• Variable updates (tensor updates) are communication intensive

Page 15: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 15

Payload Distribution

1

4

16

64

256

1,024

4,096

16,384

65,536

262,144

1,048,576

4,194,304

16,777,216

0 1000 2000

Payloa

dsize(Bytes)

InstanceIDPayloadovergRPC

14

1664256

1,0244,09616,38465,536

262,1441,048,5764,194,304

16,777,216

0 1000 2000

Payloa

dSize(B

ytes)

InstanceIDPayloadovergRPC PayloadoverVerbs

1

4

16

64

256

1,024

4,096

16,384

65,536

262,144

1,048,576

4,194,304

16,777,216

0 1000 2000

Payloa

dSize(B

ytes)

InstanceIDPayloadovergRPC PayloadoverMPI

gRPC gRPC+Verbs gRPC+MPI

Page 16: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 16

Payload Distribution

iovec Buffer Distribution Observed for TensorFlow training over gRPC

• Profiled different CNNs• Small, Medium and Large indicate

buffers of few Bytes, KBytes and MBytes of length, respectively

• gRPC payload may contain a uniform distribution of such Small buffers

• A lot of Large buffers and a few Small buffers may create a skew distribution of such buffers in one gRPC payload

Page 17: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 17

TensorFlow DL Micro-benchmarks for gRPC

Design Considerations for TF-gRPC-Bench Micro-benchmark

R. Biswas, X. Lu, and D. K. Panda, Designing a MicroBenchmark Suite to Evaluate gRPC for TensorFlow: Early Experiences, BPOE-9, 2018.

Page 18: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 18

Design of TF-gRPC-Bench Micro-benchmark Suite

TF-gRPC-Bench Deployment

• Deploys in Parameter Server architecture to exactly model the distributed TensorFlow communication pattern

• Three different benchmarks to measure –• Point-to-Point latency• Point-to-Point Bandwidth• Parameter Server Throughput

• Supports both serialized and non-serialized mode of payload transfer

• Written using gRPC’s C++ language binding API’s

• Uses gRPC’s core C APIs directly to avoid any serialization overhead

• Payload generation Schemes:• Uniform • Random• Skew

Page 19: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 19

Experimental Setup

• We have used two different clusters

• Software Stack used

A: OSU-RI2-IB-EDR B: SDSC-Comet-IB-FDR

qIntel Broadwell, dual fourteen-core processors qIntel Haswell, dual twelve-core processors

q512 GB RAM q128 GB RAM

q370 GB Local NVMe-SSD q320 GB Local SSD

qInfiniBand EDR qInfiniBand FDR

Stack Version Cluster

gRPC 1.5.0 A, B

AR-gRPC (OSU RDMA gRPC)1

Based on 1.5.0 A, B

TensorFlow 1.4 , Python 2.7 A

1. R. Biswas, X. Lu, and D. K. Panda,

Accelerating TensorFlow with Adaptive

RDMA-based gRPC. HiPC’18.

Page 20: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 20

TF-gRPC-P2P-Bandwidth

0

2000

4000

6000

Uniform Random Skew

Band

wid

th (M

B/s)

Payload Generation Scheme

Ethernet 40G IPoIB RDMA

0

2000

4000

6000

Uniform Random Skew

Band

wid

th (M

B/s)

Payload Generation Scheme

Ethernet 10G IPoIB RDMA

Cluster A Cluster B

• Cluster A: RDMA gRPC achieves a 2.14x bandwidth increase compared to IPoIB and Ethernet.

• Cluster B: RDMA achieves 3.2x bandwidth compared to IPoIB for skewed data.

Page 21: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 21

Point-to-Point Latency

0

20

40

60

80

100

2 8 32 128 512 2K 8K

Latency(us)

Payload(Bytes)

DefaultgRPCoverIPoIB

AR-gRPC

0

200

400

600

800

1,000

16K 32K 64K 128K 256K 512K

Latency(us)

Payload(Bytes)

DefaultgRPCoverIPoIB

AR-gRPC

0

4

8

12

16

20

1M 2M 4M 8M

Latency(ms)

Payload(Bytes)

DefaultgRPCoverIPoIBAR-gRPC

gRPC Point-to-Point Latency Evaluation on Cluster B

• AR-gRPC reduces 32 Bytes latency by 60%• Shows a speedup of about 2.5x and 4.1x for 64 KBytes and 1 MBytes payload, respectively

Page 22: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 22

Performance Comparison in Fully-Connected Architecture

0

6

12

18

24

30

2M 4M 8M

Latency(m

s)

PayloadSize(Bytes)

DefaultgRPCoverIPoIBAR-gRPC

0

100

200

300

400

500

2M 4M 8M

Calls/Second

PayloadSize(Bytes)

DefaultgRPCoverIPoIBAR-gRPC

Performance Comparison in Fully-Connected Architecture of gRPC on Cluster B

• AR-gRPC achieves 60% reduction in average latency.• Obtains throughput speedup of about 2.68x for 4 Mbytes payload.

Page 23: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 23

Evaluation of TensorFlow: Inception4

01020304050

8 16 32

Images/Secon

d

BatchSize/GPU

gRPC gRPC+VerbsgRPC+MPI AR-gRPC

020406080100

8 16 32

Images/Secon

d

BatchSize/GPU

gRPC gRPC+VerbsgRPC+MPI AR-gRPC

0306090120150

8 16 32

Images/Secon

d

BatchSize/GPU

gRPC gRPC+VerbsgRPC+MPI AR-gRPC

• AR-gRPC improves TensorFlow performance by a maximum of 29%, 80%, and 144% compared to default gRPC on 4, 8, and 12 nodes, respectively• For example: Improvement of 80% (93 vs 51 images) for batch size 16/GPU (total 176) on 12 nodes

• AR-gRPC process a maximum of 27%, 12%, and 31% more images than Verbs channel• AR-gRPC outperforms MPI channel by a maximum of 29%, 151%, and 228% for 4, 8, and 12 nodes

Inception4 Evaluation on Cluster A (Higher Better); TotalBatchSize = (BatchSize/GPU)×NUMofGPUs

4 Nodes 8 Nodes 12 Nodes

Page 24: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 24

Evaluation of TensorFlow: Resnet152

01020304050

8 16 32

Images/Secon

d

BatchSize/GPU

gRPC gRPC+VerbsgRPC+MPI AR-gRPC

020406080100

8 16 32

Images/Second

BatchSize/GPU

gRPC gRPC+VerbsgRPC+MPI AR-gRPC

0306090120150

8 16 32

Images/Secon

d

BatchSize/GPU

gRPC gRPC+VerbsgRPC+MPI AR-gRPC

Resnet152 Evaluation on Cluster A (Higher Better); TotalBatchSize = (BatchSize/GPU)×NUMofGPUs

• AR-gRPC accelerates TensorFlow by 62% (batch size 8/GPU) more compared to default gRPC on 4 nodes

• AR-gRPC improves Resnet152 performance by 32% (batch size 32/GPU) to 147% on 8 nodes• AR-gRPC incurs a maximum speedup of 3x (55 vs 18 images) compared to default gRPC 12 nodes

• Even for higher batch size of 32/GPU (total 352) AR-gRPC improves TensorFlow performance by 82% 12 nodes

• AR-gRPC processes a maximum of 40%, 35%, and 30% more images, on 4, 8, and 12 nodes, respectively, than Verbs

• AR-gRPC achieves a maximum speedup of 1.61x, 3.3x and 4.5x compared to MPI channel on 4, 8, and 12 nodes, respectively

4 Nodes 8 Nodes 12 Nodes

Page 25: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 25

Case Studies - Characterizing and Benchmarking TensorFlow

• Standalone TensorFlow• TensorFlow on Spark

Page 26: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 26

• Spark Executors acting as containers used to run TensorFlow code

• Two different modes to ingesting data– Read data directly from HDFS using

built-in TensorFlow modules – Feeding data from Spark RDDs to Spark

executors (TensorFlow core)• Scalable and Communication intensive– Parameter Server-based approach

– Embedded inside one Spark executor and talk to other workers over gRPC or gPRCwith RDMA

– Out-of-band communication

Overview of TensorFlowOnSpark

Page 27: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 27

Performance Characterization for IPoIB and RDMA with TensorFlowOnSpark (IB EDR)

• RDMA outperforms IPoIB by 33% for 8 GPUs in training CIFAR-10 model. However, in training MNIST, RDMA is 4.9% faster for 2 GPUs and worse than IPoIB for 4 GPUs

• The default RDMA design in TensorFlowOnSpark is not fully optimized yet. For MNIST tests, RDMA is not showing obvious benefits

050

100150200250300350400450

IPoIB RDMA IPoIB RDMA

CIFAR10 (2 GPUs/node) MNIST (1 GPU/node)

End-

to-E

nd T

ime

(sec

s)

TensorFlowOnSpark

2 GPUs 4 GPUs 8 GPUs

33.01%

4.9%

Page 28: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 28

• SoftMax Regression model, over MNIST dataset

• Up to 15.5% time in Apache HadoopYARN scheduler layer

• Up to 18.1% execution time in Spark job execution layer

• Data size is small, so we do not count the time spent on accessing HDFS layer.

• Need more effort to reduce the overhead across different layers of DLoBD stacks

• Maybe amortized in long-running deep learning jobs

Performance Overhead across Layers in DLoBD Stacks

0

10

20

30

40

50

60

70

IPoIB RDMA IPoIB RDMA

TensorFlowOnSpark Native TensorFlow

Tim

e (s

econ

d)

OtherSpark-OverheadYARN-OverheadActual Training

X. Lu, H. Shi, R. Biswas, M. H. Javed, and D. K. Panda, DLoBD: A Comprehensive Study of Deep Learning over Big Data Stacks on HPC Clusters. TMSCS’18.

Page 29: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 29

• Deep Learning community needs system perspective benchmarks to understand thecomplex executions in deep learning stacks, like TF and TF-on-Spark

• Such benchmarks should also be able to help system design and optimization

• Early experience with TF-gRPC-Bench

– Measures Point-to-Point latency, Point-to-Point bandwidth, and Parameter Serverthroughput that models the distributed TensorFlow communication pattern

– Supports gRPC workload generation that captures the TensorFlow deep learning workloadcharacteristics

• More bottlenecks in DLoBD stacks and lack of benchmarking tools

• Future Work

– Designing more generic and highly optimized DL Stacks and Benchmark Suites

Concluding Remarks and Future Work

Page 30: Characterizing and Benchmarking Deep Learning Systems on ... · • Deep Learning is going through a resurgence –Model: Excellent accuracy for deep/convolutional neural networks

Bench 2018 30

Q & AThank You!