Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Mobile cloud2020
1. Docker Container Deployment in Distributed Fog
Infrastructures with Checkpoint/Restart
Arif Ahmed
arifch2009@gmail.com
August 5th, 2020
Arif Ahmed MobileCloud 2020 August 5
th, 2020 1 / 12
2. A Distributed Fog Infrastructure
Fog infrastructure with four Point-of-Presence (PoPs)
Each PoP is equipped with large number of physically small, exible,
energy-ecient machines (such as single-board Raspberry PIs (RPI)).
Arif Ahmed MobileCloud 2020 August 5
th, 2020 2 / 12
3. Application Deployment in a Fog PoP
Application deployment when the user is mobile
A PoP with 3 fog servers
Applications will be short-lived in each server.
Arif Ahmed MobileCloud 2020 August 5
th, 2020 3 / 12
4. Application Deployment in a Fog PoP
When compute intensive applications are deployed
A PoP with 3 fog servers
Multiple instances of the application are deployed to scale horizontally.
In both cases, applications need to deploy frequently in a fog PoP.
Arif Ahmed MobileCloud 2020 August 5
th, 2020 4 / 12
5. Application Deployment Time is Very Important for Users
Deploying a simple Ubuntu container in RPIs take multiple minutes.
Application must be deployed before user leaves the PoP.
Any delay in the application deployment time means the end user has
to wait for the service.
This will be aected on the Quality-of-Experience (QoE) of the users.
Minimizing Application Deployment time is Necessary in Fog.
Arif Ahmed MobileCloud 2020 August 5
th, 2020 5 / 12
6. How does Docker deploy Containers?
Start
Yes
NoImage in
Cache
Pull the Image
Stop
Create the container
Boot the application
Image
Cache
WRITE
READ
Total deployment time = Pulling the image from a registry +
Creating the container + Booting the application
Arif Ahmed MobileCloud 2020 August 5
th, 2020 6 / 12
7. Docker takes Times to Boot the Application
Containers takes signicant time to boot the application.
Deployment
timeline
Starts
Image
deployment
Container
creation
Boot
phase
Starts
application
Boot sequence of the containers is always the same.
Reducing the container boot phase time may signicantly imporove
the deployment time
Our goal is to eliminate the boot phase in the deployment.
Arif Ahmed MobileCloud 2020 August 5
th, 2020 7 / 12
8. Proposed to Use Checkpoint/Restart in Deployment
We proposed to use checkpoint/restart to deploy containers.
First
deployment
Starts
Image
deployment
Container
creation
Boot
phase
Starts
application
Checkpoint
Subsequent
deployment Restart from
checkpoint image
Checkpoint each container after its boot phase completion.
Restart containers from the checkpoint image in the subsequent
deployments.
We use DMTCP tool for implementing container checkpoint/restart.
Arif Ahmed MobileCloud 2020 August 5
th, 2020 8 / 12
9. Evaluation
We evaluated the performance in a fog testbed:
Testbed: 5 VMs with 2 vCPUs, 1 GB RAM and 32 GB disk.
OS: Ubuntu 18.04 server with Linux kernel 4.15.0-47-generic.
Ceph version 12.0.4
DMTCP version 2.5.2
We used the Edge-sharelatex application in the study:
Web-based application to edit latex projects, compile and generate
output.
Composed of 14 independent micro-services dedicated to dierent
tasks.
Those services have dierent characteristics to evaluate our system.
Arif Ahmed MobileCloud 2020 August 5
th, 2020 9 / 12
10. Boot Phase Time with DMTCP Checkpoint/Restart
Boot phase time of the proposed model vs standard Docker:
Performance gains are largely proportional to the time the container takes
to boot.
Arif Ahmed MobileCloud 2020 August 5
th, 2020 10 / 12
11. Boot Phase Time with DMTCP Checkpoint/Restart
Boot phase time of the proposed model vs standard Docker:
Performance gains are largely proportional to the time the container takes
to boot.
Arif Ahmed MobileCloud 2020 August 5
th, 2020 11 / 12
12. Conclusion
Problem:
Containers are repeatedly deployed, created and booted in fog.
Deployment sequence of the containers remains the same.
Solution:
Proposed container deployment framework with DMTCP
checkpoint/restart.
DMTCP checkpoints the containers after its boot phase.
In subsequent deployments, DMTCP restarts the container from the
checkpoint image.
Gains up to 60x in deployment time with negligible checkpointing
overhead.
Arif Ahmed MobileCloud 2020 August 5
th, 2020 12 / 12