]> git.somenet.org - pub/jan/lsdc.git/blob - docs/scheduler.txt
GITOLITE.txt
[pub/jan/lsdc.git] / docs / scheduler.txt
1
2 Scheduler A
3
4 Initial State: All PMs switched off. Create for every application that arrives an own VM with the parameters 
5 of the application (size, CPU and RAM). Fill PMs with VMs until they are full. Start a new PM if you need one. 
6 Kill a VM if you don’t need it anymore (no applications running on it), kill a PM if there are no VMs running 
7 on it. Try to find an efficient way to decide on which PM you start a new VM.
8
9 Efficient way of deciding on which pm a new vm should be started: 
10 If no machine is running start a machine and a vm with the size of the application. 
11 Otherwise calculate the current utilization of size, CPU and RAM separately and then determine the average utilization. 
12 The physical machines then are sorted by utilization, the PMs with highest utilization come first. 
13 The PMs are iterated until there is enough space to start the VM together with the application. 
14 This way it should be ensured that the physical machines are highly utilized and as few PMs as possible need to be started. 
15
16
17
18 Scheduler B
19
20 Initial State: All PMs switched off. If an application arrives, try to modify size, CPU and RAM of an existing VM to run the application. 
21 If no VM is running, create a new one (start a new PM if necessary). If the application has finished decrease the size, CPU and RAM 
22 of the VM. If no applications are running on a VM, shut down the VM. If no VM is running on a PM, shut down the PM. Try to get a maximum 
23 of utilization on every PM. Migration: Try to move applications from VMs to other VMs to get a better utilization and to use less PMs.
24
25
26
27 Scheduler C
28
29 Initial State: All PMs switched off. If an application arrives, try to place it on a running VM. 
30 If no VM is running or if running VMs don't provide enough space, start a new PM and create a VM with the
31 size of the PM. Then start the application within this newly created virtual machine. 
32 If the application has finished remove it from the VM such that it provides space for other applications. 
33 If no applications are running on a VM, shut down the VM, and since there is only one VM shut down the PM as well. 
34 This way no resizing is needed which saves computational effort. 
35 Try to get a maximum of utilization on every PM. Migration: Try to move applications from VMs
36 to other VMs to get a better utilization and to use less PMs.
37
38
39
40
41
42 3 apps per VM: 
43
44 Initial State: All PMs switched off. If an application arrives, try to modify size, CPU and RAM of an
45 existing VM to run the application. However, on a single VM only three applications may be running. 
46 If this number is superseded or if no VM is running, create a new one (start a new PM if
47 necessary). If the application has finished decrease the size, CPU and RAM of the VM. If no
48 applications are running on a VM, shut down the VM. If no VM is running on a PM, shut down the
49 PM. Try to get a maximum of utilization on every PM. Migration: Try to move applications from VMs
50 to other VMs to get a better utilization (at most 3 apps per VM) and to use less PMs.
51 In scenario 3 try to get a good balance of HPC and web-based apps such that each machine 
52 is best utilized.