vutukuribharat / cloudsim

Automatically exported from code.google.com/p/cloudsim
0 stars 0 forks source link

Behaviour of VmSechedulerTimeShared #39

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
1. Create a datacenter with one host using the VmSechedulerTimeShared policy. 
The host is a quad core machine, with 1000 MIPS each processing element.
2. A broker that tries to create 5 VMs in the datacenter, each one requesting 
one core running at 800 MIPS.

I thought it would create four virtual machines, each on one processor, and the 
fifth would fail as there is no processor with enough computing power (the 
virtual machine needs 800 MIPS, and each processor of the host has free only 
200 MIPS). However, the fifth virtual machine is created.

Original issue reported on code.google.com by rodrigo.calheiros on 9 Oct 2012 at 11:17

GoogleCodeExporter commented 8 years ago
Hi.

Is there any progress on this?

Regards.

Original comment by marcos.p...@gmail.com on 14 Jan 2013 at 10:28

GoogleCodeExporter commented 8 years ago
Hi,

We believe this is not an issue when one is using VmSechedulerTimeShared 
policy. This is because there is no commitment between the PE and the VM.

Therefore, the following assumption about the scheduling is valid and assumed 
in CloudSim:

1. Consider time intervals of 1/10 sec.

2. The following schedule occurs:

interval 0..0.1:
VM0 gets 50MI from PE0 (out of 100MI available in the interval)
VM1 gets 100MI from PE1
VM2 gets 100MI from PE2
VM3 gets 100MI from PE3
VM4 gets 50MI from PE0
TOTALS PER VM: 50/100/100/100/50

interval 0.1..0.2:
VM0 gets 100MI from PE0 (out of 100MI available in the interval)
VM1 gets 50MI from PE1
VM2 gets 50MI from PE1
VM3 gets 100MI from PE2
VM4 gets 100MI from PE3
TOTALS PER VM: 150/150/150/200/150

interval 0.2..0.3:
VM0 gets 100MI from PE0 (out of 100MI available in the interval)
VM1 gets 100MI from PE1
VM2 gets 100MI from PE2
VM3 gets 50MI from PE3
VM4 gets 50MI from PE3
TOTALS PER VM: 250/250/250/250/200

interval 0.3..0.4:
VM0 gets 100MI from PE0 (out of 100MI available in the interval)
VM1 gets 100MI from PE1
VM2 gets 50MI from PE2
VM3 gets 50MI from PE2
VM4 gets 100MI from PE3
TOTALS PER VM: 350/350/300/300/300

interval 0.4..0.5:
VM0 gets 50MI from PE0 (out of 100MI available in the interval)
VM1 gets 50MI from PE0
VM2 gets 100MI from PE1
VM3 gets 100MI from PE2
VM4 gets 100MI from PE3
TOTALS PER VM: 400/400/400/400/400

At this point, half of the time is passed (0.5s) and each VM got half of their 
required capacity for the time (400MI each).

This behaviour is expected for the VMSchedulerTimeShared.

Original comment by rodrigo.calheiros on 14 Jan 2013 at 11:09