a framework for satisfying the performance requirements of … · 2020-06-03 · containerized...

30
1 / 28 A Framework for Satisfying the Performance Requirements of Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer Hamzeh Khazaei

Upload: others

Post on 09-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

1 / 28

A Framework for Satisfying the Performance Requirements of Containerized Software Systems Through Multi-Versioning

Sara Gholami Alireza Goli Cor-Paul Bezemer Hamzeh Khazaei

Page 2: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

An example problem: The Slashdot Effect

2 / 28

Page 3: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

One solution to the Slashdot Effect is to increase the resources

3 / 28

Page 4: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

Another solution is to manage the available resources better

4 / 28

Page 5: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

High-level architecture of a service in Docker, where requests are load balanced in a Round Robin manner

5 / 28

Page 6: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

We present Docker with multi-versioning: DockerMV

6 / 28

Page 7: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

DockerMV takes away the service management nightmare

7 / 28

Load Balancer

Load Balancer

Load Balancer

Load Balancer

Page 8: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

8 / 28

How do we evaluate DockerMV?

Page 9: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

The TeaStore application, an online webstore application

9 / 28

Page 10: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

The Znn application, a three-tier online news application

10 / 28

Page 11: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

We conducted three experiments for the TeaStore application

11 / 28

Ideal case experimentRecommender with multiple training

(Only heavy weight)

Adaptive experimentAdaptive load distribution

(Mix of heavy and light weight)

Worst case experimentRecommender with single training

(Only light weight)

Page 12: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

We conducted three experiments for the Znn application

12 / 28

Ideal case experimentMultimedia responses only

(Only heavy weight)

Adaptive experimentAdaptive load distribution

(Mix of heavy and light weight)

Worst case experimentText responses only(Only light weight)

Page 13: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

Workload applied to the TeaStore application

13 / 28

100 users sending HTTP requests for 1,000 seconds(Almost 97 requests per second)

We defined the SLA response time threshold to be 450 ms

Page 14: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

In the TeaStore application’s ideal case experiment, the response time exceeds the threshold under the load

14 / 28

Ideal case exp.

Page 15: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

In the TeaStore application's worst case experiment, the response time falls below the threshold under the load

15 / 28

Worst case exp.

Page 16: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

In the TeaStore application’s adaptive experiment, the response time is maintained close to the threshold

16 / 28

Adaptive exp.

Page 17: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

The ratio of requests responded by the HeavyWeight version of the Recommender service in the TeaStore's adaptive experiment

17 / 28

Page 18: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

Workload applied to the Znn application

18 / 28

Page 19: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

In the Znn application’s ideal case experiment, the response time exceeds the threshold under the load

19 / 28

Ideal case exp.

Page 20: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

In the Znn application's worst case experiment, the response time falls below the threshold under the load

20 / 28

Worst case exp.

Page 21: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

In the Znn application’s adaptive experiment, the response time is maintained around the threshold

21 / 28

Adaptive exp.

Page 22: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

DockerMV source code is publicly available on GitHub

22 / 28

https://github.com/pacslab/DockerMV

Page 23: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

We present Docker with multi-versioning: DockerMV

23 / 28

Page 24: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

22 / 28

Page 25: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

In the TeaStore application’s adaptive experiment, the response time is close to the threshold

25 / 28

Adaptive exp.

Page 26: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

26 / 28

Page 27: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

In the Znn application’s adaptive experiment, the response time is maintained around the threshold

27 / 28

Adaptive exp.

Page 28: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

28 / 28

Sara Gholamisgholami @ualberta.ca

Page 29: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

Format of rules for the load balancer

29 / 28

$METRIC $OPERATOR $THRESHOLD,(version $VERSION_NAME perc =$PERCENTAGE;)+

For example:

RT > 0.4,version recommender:HeavyWeight perc=40;version recommender:LightWeight perc=60;

Page 30: A Framework for Satisfying the Performance Requirements of … · 2020-06-03 · Containerized Software Systems Through Multi-Versioning Sara Gholami Alireza Goli Cor-Paul Bezemer

How to run DockerMV

30 / 28

docker service create [$OPTIONS]$IMAGE1 $REPLICATION1

…$IMAGEn $REPLICATIONn

For example,

docker service create e REGISTRY_HOST=host_ip e REGISTRY_PORT=100010.2.5.26 Network recommender 8080 rules.txtsgholami/teastore-recommender:HeavyWeight 1sgholami/teastore-recommender:LightWeight 1