Wharf: Sharing Docker Image in a Distributed File System Chao - - PowerPoint PPT Presentation

wharf sharing docker image in a distributed file system
SMART_READER_LITE
LIVE PREVIEW

Wharf: Sharing Docker Image in a Distributed File System Chao - - PowerPoint PPT Presentation

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 1 Problem High Network and Storage Overheads 2


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Problem

High Network and Storage Overheads

2

1

slide-3
SLIDE 3

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

slide-4
SLIDE 4

Docker on Distributed Storage ▰ High Network Overheads ▰ Waste Disk Space ▰ Longer Workload Startup Time

4

slide-5
SLIDE 5

Solution

Share Images & Layers across Daemons

5

2

slide-6
SLIDE 6

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

slide-7
SLIDE 7

Challenges

7

▰ Keep consistency between daemons ▰ Avoid potential performance degradation ▰ Avoid remote access to shared storage

But, How to … ?

slide-8
SLIDE 8

Design Goals

8

▰ Avoid Redundancy ▰ Collaboration ▰ Efficient Synchronization ▰ Avoid Remote Access ▰ Fault Tolerance

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

Concurrent Image Retrieval Workflow

11

slide-12
SLIDE 12

Evaluation

Wharf vs Docker

12

3

slide-13
SLIDE 13

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

slide-14
SLIDE 14

14

Pull Latencies

DockerNFS DockerLocal WharfNFS

slide-15
SLIDE 15

15

Network Overheads

Data From Registry

DockerNFS DockerLocal WharfNFS

slide-16
SLIDE 16

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

slide-17
SLIDE 17

12 X

Faster pulling

2.6 - 4.7 %

Runtime degradation

9.1 X

Less data pulled, stored

17

Summary

slide-18
SLIDE 18

18

THANKS!

Any questions? You can find us at czheng2@nd.edu