+ All Categories
Home > Documents > Wharf: Sharing Docker Image in a Distributed File...

Wharf: Sharing Docker Image in a Distributed File...

Date post: 01-Apr-2021
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
18
Wharf: Sharing Docker Image in a Distributed File System Chao Zheng, Lukas Rupprecht, Vasily Tarasov, Douglas Thain, Mohamed Mohamed, Dimitrios Skourtis, Amit S. Warke and Dean Hildebrand
Transcript
Page 1: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

Wharf: Sharing Docker Image in a Distributed File System

Chao Zheng, Lukas Rupprecht, Vasily Tarasov, Douglas Thain, Mohamed Mohamed, Dimitrios Skourtis,

Amit S. Warke and Dean Hildebrand

Page 2: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

ProblemHigh Network and Storage Overheads

2

1

Page 3: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

Docker Container Runtime

3

▰ Container Image & Layer▻ Multiple read-only layers and one writable layer

▻ Different images may share layers

▻ All changes are stored in writable layer (COW)

▰ Graph Driver▻ Overlay drivers: AUFS, OverlayFS/2

▻ Specialized drivers: Devicemapper, btrfs

Page 4: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

Docker on Distributed Storage

▰ High Network Overheads

▰ Waste Disk Space

▰ Longer Workload Startup Time

4

Page 5: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

SolutionShare Images & Layers across Daemons

5

2

Page 6: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

Share Layers Across Daemons

6

▰ Daemons share storage▻ Cluster often offer a shared storage layer to computing nodes

▰ Few data is read▻ Only 6.4% of the image data is read by containers on average [1]

[1] Harter et al. Slacker: Fast Distribution with Lazy Docker Containers FAST’16

Page 7: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

Challenges

7

▰ Keep consistency between daemons

▰ Avoid potential performance degradation

▰ Avoid remote access to shared storage

But, How to … ?

Page 8: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

Design Goals

8

▰ Avoid Redundancy

▰ Collaboration

▰ Efficient Synchronization

▰ Avoid Remote Access

▰ Fault Tolerance

Page 9: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

Wharf

9

▰ Global/Local State▻ Global State: 1) Shared Data Store - image and layer data; 2)

Shared Metadata Store - layer, image and xfering metadata

▻ Local State: 1) Metadata: network, volume, container plugins, etc. 2) Container Data: container writable layers

▰ Read/Write Operations▻ All operations will access the shared metadata store, before

the shared data store

▻ Read: read the global state. eg. list images

▻ Write: update the global state. eg. pull images

Page 10: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

Fine-grained Locking

10

▰ Lock small portion of global state▻ Only lock the metadata related to the operation (list

images, pull layer, …)

▻ Operation can only be started after successfully accessing the metadata store

▰ Concurrent Read, Exclusive Write

▰ Extend the parallel model of Docker▻ Use watcher to watch the pulling of layers

▻ Use dummy transfer to imitate real transfer

Page 11: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

Concurrent Image Retrieval Workflow

11

Page 12: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

EvaluationWharf vs Docker

12

3

Page 13: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

Experimental Setup

13

▰ Three configurations▻ Docker Local

▻ Docker NFS

▻ Wharf NFS

▰ Cluster Configuration▻ 5 - 20 aws t2.medium instances. .

▻ Wharf is based on Docker CE17.05

▻ Local image registry

Page 14: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

14

Pull Latencies

DockerNFS

DockerLocal

WharfNFS

Page 15: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

15

Network Overheads Data From RegistryDockerNFS

DockerLocal

WharfNFS

Page 16: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

16

Runtime Overheads

Docker Wharf

Total Exec 7 m 26 s 7 m 47 s

Avg Exec (s) 158 154

Min Exec (s) 31 46

Max Exec (s) 252 263

Data Rev (MB) 3227 354

Data Sent (MB) 50 768

▰ Workload Spec▻ Bioinformatics Workflow

▻ 1,000 parallel tasks

▰ Overhead mainly due to remote accesses

Page 17: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

12 XFaster pulling

2.6 - 4.7 %Runtime degradation

9.1 XLess data pulled, stored

17

Summary

Page 18: Wharf: Sharing Docker Image in a Distributed File Systemacmsocc.org/2018/slides/socc18-slides-zheng.pdf · 2018. 11. 13. · Wharf: Sharing Docker Image in a Distributed File System

18

THANKS!Any questions?

You can find us [email protected]


Recommended