Toward Lighter Containers for the Edge Misun Park misun@gatech.edu - - PowerPoint PPT Presentation

toward lighter containers for the edge
SMART_READER_LITE
LIVE PREVIEW

Toward Lighter Containers for the Edge Misun Park misun@gatech.edu - - PowerPoint PPT Presentation

Toward Lighter Containers for the Edge Misun Park misun@gatech.edu Ketan Bhardwaj ketanbj@gatech.edu Ada Gavrilovska ada@cc.gatech.edu Migrate Things from Cloud to the Edge K. Bilal, O. Khalid, A. Erbad and S. U. Khan, Potentials, trends,


slide-1
SLIDE 1

Toward Lighter Containers for the Edge

Misun Park

misun@gatech.edu

Ketan Bhardwaj

ketanbj@gatech.edu

Ada Gavrilovska

ada@cc.gatech.edu

slide-2
SLIDE 2

2

  • K. Bilal, O. Khalid, A. Erbad and S. U. Khan, “Potentials, trends, and prospects in edge

technologies: Fog, cloudlet, mobile edge, and micro data centers”, Computer Networks, vol 130, pp 94–120, 1 2018, doi: 10.1016/j.comnet.2017.10.002.

Migrate Things from Cloud to the Edge

slide-3
SLIDE 3

Challenges in Edge Computing

Cloud native applications can be adopted directly to the edge?

Limited Resource Image Bloat Slow Startup

3

slide-4
SLIDE 4

Limited Resources

4

slide-5
SLIDE 5

Image Size Bloat

  • Containerized applications with bloated size

○ Due to heavy/complex runtimes ○ Hardware acceleration supports

5

With GPU support like CUDA runtime, the number becomes far worse

slide-6
SLIDE 6

Slow Launch Time

Workload execution starts →

Docker run Runc run Python language runtime bootup Import TensorFlow

2000 msec 40 msec 200 msec 1700 msec

6

slide-7
SLIDE 7

Alternative approach: Checkpoint/Restore

1) Image Size

a) Bootup Time b) Checkpoint/Restore based approach solves the lengthened bootup latency?

2) Resource Pressure

a) However, the answer to Q2 incurs heavy resource pressure -- C/R incurs a high memory cost.

7

MB Figure: Comparison of maximum memory usage of containers with TensorFlow application, using between checkpoint restore and cold boot, respectively.

Not solving image bloat Nimble to start? Resource- demanding

  • Checkpointing requires additional memory by nature.
slide-8
SLIDE 8

Alternative approach: Single long-running monolithic container

8

Runtime Application

+ Limit resource requirement to a single runtime + Remove need for on-demand launch time

  • Exposes new programming and

deployment APIs

  • Does not leverage existing container-based

infrastructure

slide-9
SLIDE 9

Addressing the Gap

9

Runtime Application

  • Seeking opportunity to satisfy the edge requirements while retaining the

benefits from containerization

  • Our answer is: shared backend
slide-10
SLIDE 10

Addressing the Gap: Shared Runtime Backend

10

Application Runtime

  • Shared backend is a long running service process, warms up thick runtimes

in advance and allows them to be shared among multiple instances

  • Applications do not need to include, or launch heavy runtime itself, but just

borrow them

slide-11
SLIDE 11

A1 Runtime AN A2

Addressing the Gap: Shared Runtime Backend + Lightweight Application Containers

11

  • Benefits from containerization retained with smaller image size
slide-12
SLIDE 12

A1 Runtime AN A2

Addressing the Gap: Shared Runtime Backend + Lightweight Application Containers

12

  • Resource pressure reduced thanks to not instantiating multiple runtimes

for each applications

slide-13
SLIDE 13

Pocket

A service container Application containers

13

  • a new lightweight system to support edge

computing

  • splits containerized applications into two

parts: application container and a bloat-causing runtime service container + retains benefits of container technologies

+

achieves lower resource pressure, higher responsiveness, and better scalability

slide-14
SLIDE 14

Execution Model / Programming Model

File System

Devices Python Tensorflow PyTorch

Application Container Application Container Application Container

Pocket Interface Service Container

Concurrency and Dynamic Resource Scaling in Runtime High Performance IPC

request

14

response

Workload Isolation

slide-15
SLIDE 15

Evaluation

15

slide-16
SLIDE 16

Experimental Setup

https://github.com/zzh8829/yolov3-tf2

16

slide-17
SLIDE 17
  • Pocket demands less resource when # instances are equivalent.

○ Pocket application does not include Tensorflow in it, but monolithic application package must possess Tensorflow as its part ○ One Tensorflow-service process vs. N Tensorflow-service process

Pocket achieves higher resource efficiency

17

slide-18
SLIDE 18
  • Pocket outperforms monolithic with regard to mean execution time

○ Pocket benefits from shared backend, and also shared model

Pocket improves application performance

18

# Instances Pocket Monolithic 1 10.75 10.64 5 9.944 11.288 10 4.442 12.335 20 3.3245 12.663 (second) Mean time to launch 1 & 10 concurrent instances

slide-19
SLIDE 19

Pocket allows for lightweight application containers

  • Lightweight communication mechanism is necessary

○ gRPC and its dependency take time to import

19

# Instances Pocket-ssh Pocket-rpc Monolithic 1 58.69 2793.50 2575.63 10 63.55 6627.37 5800.86

(millisecond) Mean time to launch 1 & 10 concurrent instances

slide-20
SLIDE 20

Summary of Contributions

Pocket approach to application stack for the edge

20

Problems Image bloat Slow startup Resource pressure Path Forward Compact containers for the edge with shared backend runtimes Open Questions Concurrency, isolation, with lightweight and high-performance IPC