Research Article

ACEA: A Queueing Model-Based Elastic Scaling Algorithm for Container Cluster

Algorithm 1

The algorithm of ACEA.
Input: achievement rate of historical tasks , task processing interval , number of containers in the current cluster .
Output: indicator information for container cluster, volume of autoscaling, mode of adaptive scaling.
1. global var , Fitness; //Fitness: real-time comprehensive resource utilization rate of cluster.
2. const var , , ;// : maximum waiting time of tasks.
3. define func getConfig(): ;
4. Input
5. par[Pnum]=
6.  PSOInit(Pnum): ParticleInit(Pnum), ParticleEvaluate();
7. Fitness = Wq(getUall(s), getUlimit());
8. PSORun():
9. For each par.
10.  ParticleUpdate();
11.  ParticleEvaluate();
12. End For;
13. For Iteration times do.
14. If ():
15.  Contract(service);
16. End if;
17. If(()|| ):
18.  Expand(service);
19. End if;
20. If():
21.  PSOshowresult();
22. End if;
23. End For;