Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
G
gpucloudsim
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
LPDS
gpucloudsim
Commits
85c0db67
Commit
85c0db67
authored
Jul 27, 2010
by
Anton Beloglazov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Updated VmSchedulerSpaceShared: respects MIPS specification for VMs
- Removed priority field from the Vm class
parent
2bac5f52
Show whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
125 additions
and
465 deletions
+125
-465
CloudSimExample1.java
...java/org/cloudbus/cloudsim/examples/CloudSimExample1.java
+1
-2
CloudSimExample2.java
...java/org/cloudbus/cloudsim/examples/CloudSimExample2.java
+7
-7
CloudSimExample3.java
...java/org/cloudbus/cloudsim/examples/CloudSimExample3.java
+10
-12
CloudSimExample4.java
...java/org/cloudbus/cloudsim/examples/CloudSimExample4.java
+2
-4
CloudSimExample5.java
...java/org/cloudbus/cloudsim/examples/CloudSimExample5.java
+2
-3
CloudSimExample6.java
...java/org/cloudbus/cloudsim/examples/CloudSimExample6.java
+1
-2
CloudSimExample7.java
...java/org/cloudbus/cloudsim/examples/CloudSimExample7.java
+1
-2
CloudSimExample8.java
...java/org/cloudbus/cloudsim/examples/CloudSimExample8.java
+1
-2
NetworkExample1.java
...g/cloudbus/cloudsim/examples/network/NetworkExample1.java
+1
-2
NetworkExample2.java
...g/cloudbus/cloudsim/examples/network/NetworkExample2.java
+4
-6
NetworkExample3.java
...g/cloudbus/cloudsim/examples/network/NetworkExample3.java
+2
-3
NetworkExample4.java
...g/cloudbus/cloudsim/examples/network/NetworkExample4.java
+1
-2
DVFS.java
.../main/java/org/cloudbus/cloudsim/examples/power/DVFS.java
+1
-2
NonPowerAware.java
...a/org/cloudbus/cloudsim/examples/power/NonPowerAware.java
+1
-2
SingleThreshold.java
...org/cloudbus/cloudsim/examples/power/SingleThreshold.java
+1
-2
Datacenter.java
...udsim/src/main/java/org/cloudbus/cloudsim/Datacenter.java
+0
-3
Vm.java
modules/cloudsim/src/main/java/org/cloudbus/cloudsim/Vm.java
+1
-33
VmSchedulerOportunisticSpaceShared.java
...cloudbus/cloudsim/VmSchedulerOportunisticSpaceShared.java
+0
-112
VmSchedulerSpaceShared.java
...in/java/org/cloudbus/cloudsim/VmSchedulerSpaceShared.java
+33
-50
VmSchedulerTimeSharedWithPriority.java
.../cloudbus/cloudsim/VmSchedulerTimeSharedWithPriority.java
+0
-143
PowerDatacenter.java
...ain/java/org/cloudbus/cloudsim/power/PowerDatacenter.java
+0
-10
HostDynamicWorkloadTest.java
...t/java/org/cloudbus/cloudsim/HostDynamicWorkloadTest.java
+4
-4
HostTest.java
...loudsim/src/test/java/org/cloudbus/cloudsim/HostTest.java
+9
-9
VmSchedulerTimeSharedTest.java
...java/org/cloudbus/cloudsim/VmSchedulerTimeSharedTest.java
+6
-6
VmTest.java
.../cloudsim/src/test/java/org/cloudbus/cloudsim/VmTest.java
+3
-9
PeListTest.java
...src/test/java/org/cloudbus/cloudsim/lists/PeListTest.java
+4
-4
VmListTest.java
...src/test/java/org/cloudbus/cloudsim/lists/VmListTest.java
+7
-7
PeListTest.java
...st/java/org/cloudbus/cloudsim/power/lists/PeListTest.java
+2
-2
BwProvisionerSimpleTest.java
...oudbus/cloudsim/provisioners/BwProvisionerSimpleTest.java
+6
-6
PeProvisionerSimpleTest.java
...oudbus/cloudsim/provisioners/PeProvisionerSimpleTest.java
+8
-8
RamProvisionerSimpleTest.java
...udbus/cloudsim/provisioners/RamProvisionerSimpleTest.java
+6
-6
No files found.
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/CloudSimExample1.java
View file @
85c0db67
...
@@ -84,11 +84,10 @@ public class CloudSimExample1 {
...
@@ -84,11 +84,10 @@ public class CloudSimExample1 {
int
ram
=
512
;
// vm memory (MB)
int
ram
=
512
;
// vm memory (MB)
long
bw
=
1000
;
long
bw
=
1000
;
int
pesNumber
=
1
;
// number of cpus
int
pesNumber
=
1
;
// number of cpus
int
priority
=
1
;
String
vmm
=
"Xen"
;
// VMM name
String
vmm
=
"Xen"
;
// VMM name
// create VM
// create VM
Vm
vm
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
// add the VM to the vmList
// add the VM to the vmList
vmlist
.
add
(
vm
);
vmlist
.
add
(
vm
);
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/CloudSimExample2.java
View file @
85c0db67
...
@@ -29,7 +29,7 @@ import org.cloudbus.cloudsim.UtilizationModel;
...
@@ -29,7 +29,7 @@ import org.cloudbus.cloudsim.UtilizationModel;
import
org.cloudbus.cloudsim.UtilizationModelFull
;
import
org.cloudbus.cloudsim.UtilizationModelFull
;
import
org.cloudbus.cloudsim.Vm
;
import
org.cloudbus.cloudsim.Vm
;
import
org.cloudbus.cloudsim.VmAllocationPolicySimple
;
import
org.cloudbus.cloudsim.VmAllocationPolicySimple
;
import
org.cloudbus.cloudsim.VmSchedulerTimeShared
WithPriority
;
import
org.cloudbus.cloudsim.VmSchedulerTimeShared
;
import
org.cloudbus.cloudsim.core.CloudSim
;
import
org.cloudbus.cloudsim.core.CloudSim
;
import
org.cloudbus.cloudsim.provisioners.BwProvisionerSimple
;
import
org.cloudbus.cloudsim.provisioners.BwProvisionerSimple
;
import
org.cloudbus.cloudsim.provisioners.PeProvisionerSimple
;
import
org.cloudbus.cloudsim.provisioners.PeProvisionerSimple
;
...
@@ -40,7 +40,9 @@ import org.cloudbus.cloudsim.provisioners.RamProvisionerSimple;
...
@@ -40,7 +40,9 @@ import org.cloudbus.cloudsim.provisioners.RamProvisionerSimple;
* A simple example showing how to create
* A simple example showing how to create
* a datacenter with one host and run two
* a datacenter with one host and run two
* cloudlets on it. The cloudlets run in
* cloudlets on it. The cloudlets run in
* VMs with different priorities.
* VMs with the same MIPS requirements.
* The cloudlets will take the same time to
* complete the execution.
*/
*/
public
class
CloudSimExample2
{
public
class
CloudSimExample2
{
...
@@ -85,16 +87,14 @@ public class CloudSimExample2 {
...
@@ -85,16 +87,14 @@ public class CloudSimExample2 {
int
ram
=
512
;
//vm memory (MB)
int
ram
=
512
;
//vm memory (MB)
long
bw
=
1000
;
long
bw
=
1000
;
int
pesNumber
=
1
;
//number of cpus
int
pesNumber
=
1
;
//number of cpus
int
priority
=
1
;
String
vmm
=
"Xen"
;
//VMM name
String
vmm
=
"Xen"
;
//VMM name
//create two VMs
//create two VMs
Vm
vm1
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm1
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
//the second VM will have twice the priority of VM1 and so will receive twice CPU time
//the second VM will have twice the priority of VM1 and so will receive twice CPU time
vmid
++;
vmid
++;
priority
=
2
;
Vm
vm2
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm2
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
//add the VMs to the vmList
//add the VMs to the vmList
vmlist
.
add
(
vm1
);
vmlist
.
add
(
vm1
);
...
@@ -186,7 +186,7 @@ public class CloudSimExample2 {
...
@@ -186,7 +186,7 @@ public class CloudSimExample2 {
new
BwProvisionerSimple
(
bw
),
new
BwProvisionerSimple
(
bw
),
storage
,
storage
,
peList
,
peList
,
new
VmSchedulerTimeShared
WithPriority
(
peList
)
new
VmSchedulerTimeShared
(
peList
)
)
)
);
// This is our machine
);
// This is our machine
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/CloudSimExample3.java
View file @
85c0db67
...
@@ -28,7 +28,7 @@ import org.cloudbus.cloudsim.UtilizationModel;
...
@@ -28,7 +28,7 @@ import org.cloudbus.cloudsim.UtilizationModel;
import
org.cloudbus.cloudsim.UtilizationModelFull
;
import
org.cloudbus.cloudsim.UtilizationModelFull
;
import
org.cloudbus.cloudsim.Vm
;
import
org.cloudbus.cloudsim.Vm
;
import
org.cloudbus.cloudsim.VmAllocationPolicySimple
;
import
org.cloudbus.cloudsim.VmAllocationPolicySimple
;
import
org.cloudbus.cloudsim.VmSchedulerTimeShared
WithPriority
;
import
org.cloudbus.cloudsim.VmSchedulerTimeShared
;
import
org.cloudbus.cloudsim.core.CloudSim
;
import
org.cloudbus.cloudsim.core.CloudSim
;
import
org.cloudbus.cloudsim.provisioners.BwProvisionerSimple
;
import
org.cloudbus.cloudsim.provisioners.BwProvisionerSimple
;
import
org.cloudbus.cloudsim.provisioners.PeProvisionerSimple
;
import
org.cloudbus.cloudsim.provisioners.PeProvisionerSimple
;
...
@@ -39,10 +39,10 @@ import org.cloudbus.cloudsim.provisioners.RamProvisionerSimple;
...
@@ -39,10 +39,10 @@ import org.cloudbus.cloudsim.provisioners.RamProvisionerSimple;
* A simple example showing how to create
* A simple example showing how to create
* a datacenter with two hosts and run two
* a datacenter with two hosts and run two
* cloudlets on it. The cloudlets run in
* cloudlets on it. The cloudlets run in
* VMs with different
priorities. However,
* VMs with different
MIPS requirements.
*
since each VM run exclusively in each host,
*
The cloudlets will take different time
*
less priority will not delay the cloudlet
*
to complete the execution depending on
*
on it
.
*
the requested VM performance
.
*/
*/
public
class
CloudSimExample3
{
public
class
CloudSimExample3
{
...
@@ -82,21 +82,19 @@ public class CloudSimExample3 {
...
@@ -82,21 +82,19 @@ public class CloudSimExample3 {
//VM description
//VM description
int
vmid
=
0
;
int
vmid
=
0
;
int
mips
=
100
0
;
int
mips
=
25
0
;
long
size
=
10000
;
//image size (MB)
long
size
=
10000
;
//image size (MB)
int
ram
=
2048
;
//vm memory (MB)
int
ram
=
2048
;
//vm memory (MB)
long
bw
=
1000
;
long
bw
=
1000
;
int
pesNumber
=
1
;
//number of cpus
int
pesNumber
=
1
;
//number of cpus
int
priority
=
1
;
String
vmm
=
"Xen"
;
//VMM name
String
vmm
=
"Xen"
;
//VMM name
//create two VMs
//create two VMs
Vm
vm1
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm1
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
//the second VM will have twice the priority of VM1 and so will receive twice CPU time
//the second VM will have twice the priority of VM1 and so will receive twice CPU time
vmid
++;
vmid
++;
priority
=
2
;
Vm
vm2
=
new
Vm
(
vmid
,
brokerId
,
mips
*
2
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm2
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
//add the VMs to the vmList
//add the VMs to the vmList
vmlist
.
add
(
vm1
);
vmlist
.
add
(
vm1
);
...
@@ -187,7 +185,7 @@ public class CloudSimExample3 {
...
@@ -187,7 +185,7 @@ public class CloudSimExample3 {
new
BwProvisionerSimple
(
bw
),
new
BwProvisionerSimple
(
bw
),
storage
,
storage
,
peList
,
peList
,
new
VmSchedulerTimeShared
WithPriority
(
peList
)
new
VmSchedulerTimeShared
(
peList
)
)
)
);
// This is our first machine
);
// This is our first machine
...
@@ -205,7 +203,7 @@ public class CloudSimExample3 {
...
@@ -205,7 +203,7 @@ public class CloudSimExample3 {
new
BwProvisionerSimple
(
bw
),
new
BwProvisionerSimple
(
bw
),
storage
,
storage
,
peList2
,
peList2
,
new
VmSchedulerTimeShared
WithPriority
(
peList2
)
new
VmSchedulerTimeShared
(
peList2
)
)
)
);
// This is our second machine
);
// This is our second machine
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/CloudSimExample4.java
View file @
85c0db67
...
@@ -84,16 +84,14 @@ public class CloudSimExample4 {
...
@@ -84,16 +84,14 @@ public class CloudSimExample4 {
int
ram
=
512
;
//vm memory (MB)
int
ram
=
512
;
//vm memory (MB)
long
bw
=
1000
;
long
bw
=
1000
;
int
pesNumber
=
1
;
//number of cpus
int
pesNumber
=
1
;
//number of cpus
int
priority
=
1
;
String
vmm
=
"Xen"
;
//VMM name
String
vmm
=
"Xen"
;
//VMM name
//create two VMs
//create two VMs
Vm
vm1
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm1
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
//the second VM will have twice the priority of VM1 and so will receive twice CPU time
//the second VM will have twice the priority of VM1 and so will receive twice CPU time
vmid
++;
vmid
++;
priority
=
2
;
Vm
vm2
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm2
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
//add the VMs to the vmList
//add the VMs to the vmList
vmlist
.
add
(
vm1
);
vmlist
.
add
(
vm1
);
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/CloudSimExample5.java
View file @
85c0db67
...
@@ -90,14 +90,13 @@ public class CloudSimExample5 {
...
@@ -90,14 +90,13 @@ public class CloudSimExample5 {
int
ram
=
512
;
//vm memory (MB)
int
ram
=
512
;
//vm memory (MB)
long
bw
=
1000
;
long
bw
=
1000
;
int
pesNumber
=
1
;
//number of cpus
int
pesNumber
=
1
;
//number of cpus
int
priority
=
1
;
String
vmm
=
"Xen"
;
//VMM name
String
vmm
=
"Xen"
;
//VMM name
//create two VMs: the first one belongs to user1
//create two VMs: the first one belongs to user1
Vm
vm1
=
new
Vm
(
vmid
,
brokerId1
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm1
=
new
Vm
(
vmid
,
brokerId1
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
//the second VM: this one belongs to user2
//the second VM: this one belongs to user2
Vm
vm2
=
new
Vm
(
vmid
,
brokerId2
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm2
=
new
Vm
(
vmid
,
brokerId2
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
//add the VMs to the vmlists
//add the VMs to the vmlists
vmlist1
.
add
(
vm1
);
vmlist1
.
add
(
vm1
);
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/CloudSimExample6.java
View file @
85c0db67
...
@@ -58,14 +58,13 @@ public class CloudSimExample6 {
...
@@ -58,14 +58,13 @@ public class CloudSimExample6 {
int
mips
=
250
;
int
mips
=
250
;
long
bw
=
1000
;
long
bw
=
1000
;
int
pesNumber
=
1
;
//number of cpus
int
pesNumber
=
1
;
//number of cpus
int
priority
=
1
;
String
vmm
=
"Xen"
;
//VMM name
String
vmm
=
"Xen"
;
//VMM name
//create VMs
//create VMs
Vm
[]
vm
=
new
Vm
[
vms
];
Vm
[]
vm
=
new
Vm
[
vms
];
for
(
int
i
=
0
;
i
<
vms
;
i
++){
for
(
int
i
=
0
;
i
<
vms
;
i
++){
vm
[
i
]
=
new
Vm
(
i
,
userId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
vm
[
i
]
=
new
Vm
(
i
,
userId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
//for creating a VM with a space shared scheduling policy for cloudlets:
//for creating a VM with a space shared scheduling policy for cloudlets:
//vm[i] = Vm(i, userId, mips, pesNumber, ram, bw, size, priority, vmm, new CloudletSchedulerSpaceShared());
//vm[i] = Vm(i, userId, mips, pesNumber, ram, bw, size, priority, vmm, new CloudletSchedulerSpaceShared());
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/CloudSimExample7.java
View file @
85c0db67
...
@@ -58,14 +58,13 @@ public class CloudSimExample7 {
...
@@ -58,14 +58,13 @@ public class CloudSimExample7 {
int
mips
=
250
;
int
mips
=
250
;
long
bw
=
1000
;
long
bw
=
1000
;
int
pesNumber
=
1
;
//number of cpus
int
pesNumber
=
1
;
//number of cpus
int
priority
=
1
;
String
vmm
=
"Xen"
;
//VMM name
String
vmm
=
"Xen"
;
//VMM name
//create VMs
//create VMs
Vm
[]
vm
=
new
Vm
[
vms
];
Vm
[]
vm
=
new
Vm
[
vms
];
for
(
int
i
=
0
;
i
<
vms
;
i
++){
for
(
int
i
=
0
;
i
<
vms
;
i
++){
vm
[
i
]
=
new
Vm
(
idShift
+
i
,
userId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
vm
[
i
]
=
new
Vm
(
idShift
+
i
,
userId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
list
.
add
(
vm
[
i
]);
list
.
add
(
vm
[
i
]);
}
}
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/CloudSimExample8.java
View file @
85c0db67
...
@@ -60,14 +60,13 @@ public class CloudSimExample8 {
...
@@ -60,14 +60,13 @@ public class CloudSimExample8 {
int
mips
=
250
;
int
mips
=
250
;
long
bw
=
1000
;
long
bw
=
1000
;
int
pesNumber
=
1
;
//number of cpus
int
pesNumber
=
1
;
//number of cpus
int
priority
=
1
;
String
vmm
=
"Xen"
;
//VMM name
String
vmm
=
"Xen"
;
//VMM name
//create VMs
//create VMs
Vm
[]
vm
=
new
Vm
[
vms
];
Vm
[]
vm
=
new
Vm
[
vms
];
for
(
int
i
=
0
;
i
<
vms
;
i
++){
for
(
int
i
=
0
;
i
<
vms
;
i
++){
vm
[
i
]
=
new
Vm
(
idShift
+
i
,
userId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
vm
[
i
]
=
new
Vm
(
idShift
+
i
,
userId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
list
.
add
(
vm
[
i
]);
list
.
add
(
vm
[
i
]);
}
}
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/network/NetworkExample1.java
View file @
85c0db67
...
@@ -83,11 +83,10 @@ public class NetworkExample1 {
...
@@ -83,11 +83,10 @@ public class NetworkExample1 {
int
ram
=
512
;
//vm memory (MB)
int
ram
=
512
;
//vm memory (MB)
long
bw
=
1000
;
long
bw
=
1000
;
int
pesNumber
=
1
;
//number of cpus
int
pesNumber
=
1
;
//number of cpus
int
priority
=
1
;
String
vmm
=
"Xen"
;
//VMM name
String
vmm
=
"Xen"
;
//VMM name
//create VM
//create VM
Vm
vm1
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm1
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
//add the VM to the vmList
//add the VM to the vmList
vmlist
.
add
(
vm1
);
vmlist
.
add
(
vm1
);
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/network/NetworkExample2.java
View file @
85c0db67
...
@@ -30,7 +30,7 @@ import org.cloudbus.cloudsim.UtilizationModel;
...
@@ -30,7 +30,7 @@ import org.cloudbus.cloudsim.UtilizationModel;
import
org.cloudbus.cloudsim.UtilizationModelFull
;
import
org.cloudbus.cloudsim.UtilizationModelFull
;
import
org.cloudbus.cloudsim.Vm
;
import
org.cloudbus.cloudsim.Vm
;
import
org.cloudbus.cloudsim.VmAllocationPolicySimple
;
import
org.cloudbus.cloudsim.VmAllocationPolicySimple
;
import
org.cloudbus.cloudsim.VmSchedulerTimeShared
WithPriority
;
import
org.cloudbus.cloudsim.VmSchedulerTimeShared
;
import
org.cloudbus.cloudsim.core.CloudSim
;
import
org.cloudbus.cloudsim.core.CloudSim
;
import
org.cloudbus.cloudsim.provisioners.BwProvisionerSimple
;
import
org.cloudbus.cloudsim.provisioners.BwProvisionerSimple
;
import
org.cloudbus.cloudsim.provisioners.PeProvisionerSimple
;
import
org.cloudbus.cloudsim.provisioners.PeProvisionerSimple
;
...
@@ -86,16 +86,14 @@ public class NetworkExample2 {
...
@@ -86,16 +86,14 @@ public class NetworkExample2 {
int
ram
=
512
;
//vm memory (MB)
int
ram
=
512
;
//vm memory (MB)
long
bw
=
1000
;
long
bw
=
1000
;
int
pesNumber
=
1
;
//number of cpus
int
pesNumber
=
1
;
//number of cpus
int
priority
=
1
;
String
vmm
=
"Xen"
;
//VMM name
String
vmm
=
"Xen"
;
//VMM name
//create two VMs
//create two VMs
Vm
vm1
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm1
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
//the second VM will have twice the priority of VM1 and so will receive twice CPU time
//the second VM will have twice the priority of VM1 and so will receive twice CPU time
vmid
++;
vmid
++;
priority
=
2
;
Vm
vm2
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm2
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
//add the VMs to the vmList
//add the VMs to the vmList
vmlist
.
add
(
vm1
);
vmlist
.
add
(
vm1
);
...
@@ -209,7 +207,7 @@ public class NetworkExample2 {
...
@@ -209,7 +207,7 @@ public class NetworkExample2 {
new
BwProvisionerSimple
(
bw
),
new
BwProvisionerSimple
(
bw
),
storage
,
storage
,
peList
,
peList
,
new
VmSchedulerTimeShared
WithPriority
(
peList
)
new
VmSchedulerTimeShared
(
peList
)
)
)
);
// This is our machine
);
// This is our machine
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/network/NetworkExample3.java
View file @
85c0db67
...
@@ -91,14 +91,13 @@ public class NetworkExample3 {
...
@@ -91,14 +91,13 @@ public class NetworkExample3 {
int
ram
=
512
;
//vm memory (MB)
int
ram
=
512
;
//vm memory (MB)
long
bw
=
1000
;
long
bw
=
1000
;
int
pesNumber
=
1
;
//number of cpus
int
pesNumber
=
1
;
//number of cpus
int
priority
=
1
;
String
vmm
=
"Xen"
;
//VMM name
String
vmm
=
"Xen"
;
//VMM name
//create two VMs: the first one belongs to user1
//create two VMs: the first one belongs to user1
Vm
vm1
=
new
Vm
(
vmid
,
brokerId1
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm1
=
new
Vm
(
vmid
,
brokerId1
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
//the second VM: this one belongs to user2
//the second VM: this one belongs to user2
Vm
vm2
=
new
Vm
(
vmid
,
brokerId2
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm2
=
new
Vm
(
vmid
,
brokerId2
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
//add the VMs to the vmlists
//add the VMs to the vmlists
vmlist1
.
add
(
vm1
);
vmlist1
.
add
(
vm1
);
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/network/NetworkExample4.java
View file @
85c0db67
...
@@ -85,11 +85,10 @@ public class NetworkExample4 {
...
@@ -85,11 +85,10 @@ public class NetworkExample4 {
int
ram
=
512
;
//vm memory (MB)
int
ram
=
512
;
//vm memory (MB)
long
bw
=
1000
;
long
bw
=
1000
;
int
pesNumber
=
1
;
//number of cpus
int
pesNumber
=
1
;
//number of cpus
int
priority
=
1
;
String
vmm
=
"Xen"
;
//VMM name
String
vmm
=
"Xen"
;
//VMM name
//create VM
//create VM
Vm
vm1
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerTimeShared
());
Vm
vm1
=
new
Vm
(
vmid
,
brokerId
,
mips
,
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerTimeShared
());
//add the VM to the vmList
//add the VM to the vmList
vmlist
.
add
(
vm1
);
vmlist
.
add
(
vm1
);
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/power/DVFS.java
View file @
85c0db67
...
@@ -197,12 +197,11 @@ public class DVFS {
...
@@ -197,12 +197,11 @@ public class DVFS {
int
ram
=
128
;
// vm memory (MB)
int
ram
=
128
;
// vm memory (MB)
long
bw
=
2500
;
// bandwidth
long
bw
=
2500
;
// bandwidth
long
size
=
2500
;
// image size (MB)
long
size
=
2500
;
// image size (MB)
int
priority
=
1
;
// image size (MB)
String
vmm
=
"Xen"
;
// VMM name
String
vmm
=
"Xen"
;
// VMM name
for
(
int
i
=
0
;
i
<
vmsNumber
;
i
++)
{
for
(
int
i
=
0
;
i
<
vmsNumber
;
i
++)
{
vms
.
add
(
vms
.
add
(
new
Vm
(
i
,
brokerId
,
mips
[
i
%
mips
.
length
],
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerSingleService
(
mips
[
i
%
mips
.
length
],
pesNumber
))
new
Vm
(
i
,
brokerId
,
mips
[
i
%
mips
.
length
],
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerSingleService
(
mips
[
i
%
mips
.
length
],
pesNumber
))
);
);
}
}
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/power/NonPowerAware.java
View file @
85c0db67
...
@@ -196,12 +196,11 @@ public class NonPowerAware {
...
@@ -196,12 +196,11 @@ public class NonPowerAware {
int
ram
=
128
;
// vm memory (MB)
int
ram
=
128
;
// vm memory (MB)
long
bw
=
2500
;
// bandwidth
long
bw
=
2500
;
// bandwidth
long
size
=
2500
;
// image size (MB)
long
size
=
2500
;
// image size (MB)
int
priority
=
1
;
// image size (MB)
String
vmm
=
"Xen"
;
// VMM name
String
vmm
=
"Xen"
;
// VMM name
for
(
int
i
=
0
;
i
<
vmsNumber
;
i
++)
{
for
(
int
i
=
0
;
i
<
vmsNumber
;
i
++)
{
vms
.
add
(
vms
.
add
(
new
Vm
(
i
,
brokerId
,
mips
[
i
%
mips
.
length
],
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerSingleService
(
mips
[
i
%
mips
.
length
],
pesNumber
))
new
Vm
(
i
,
brokerId
,
mips
[
i
%
mips
.
length
],
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerSingleService
(
mips
[
i
%
mips
.
length
],
pesNumber
))
);
);
}
}
...
...
modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples/power/SingleThreshold.java
View file @
85c0db67
...
@@ -198,12 +198,11 @@ public class SingleThreshold {
...
@@ -198,12 +198,11 @@ public class SingleThreshold {
int
ram
=
128
;
// vm memory (MB)
int
ram
=
128
;
// vm memory (MB)
long
bw
=
2500
;
// bandwidth
long
bw
=
2500
;
// bandwidth
long
size
=
2500
;
// image size (MB)
long
size
=
2500
;
// image size (MB)
int
priority
=
1
;
// image size (MB)
String
vmm
=
"Xen"
;
// VMM name
String
vmm
=
"Xen"
;
// VMM name
for
(
int
i
=
0
;
i
<
vmsNumber
;
i
++)
{
for
(
int
i
=
0
;
i
<
vmsNumber
;
i
++)
{
vms
.
add
(
vms
.
add
(
new
Vm
(
i
,
brokerId
,
mips
[
i
%
mips
.
length
],
pesNumber
,
ram
,
bw
,
size
,
priority
,
vmm
,
new
CloudletSchedulerSingleService
(
mips
[
i
%
mips
.
length
],
pesNumber
))
new
Vm
(
i
,
brokerId
,
mips
[
i
%
mips
.
length
],
pesNumber
,
ram
,
bw
,
size
,
vmm
,
new
CloudletSchedulerSingleService
(
mips
[
i
%
mips
.
length
],
pesNumber
))
);
);
}
}
...
...
modules/cloudsim/src/main/java/org/cloudbus/cloudsim/Datacenter.java
View file @
85c0db67
...
@@ -532,9 +532,6 @@ public class Datacenter extends SimEntity {
...
@@ -532,9 +532,6 @@ public class Datacenter extends SimEntity {
Vm
vm
=
(
Vm
)
migrate
.
get
(
"vm"
);
Vm
vm
=
(
Vm
)
migrate
.
get
(
"vm"
);
Host
host
=
(
Host
)
migrate
.
get
(
"host"
);
Host
host
=
(
Host
)
migrate
.
get
(
"host"
);
// if (vm.getId() == 408 && host.getId() == 235) {
// Log.printLine("found");
// }
getVmAllocationPolicy
().
deallocateHostForVm
(
vm
);
getVmAllocationPolicy
().
deallocateHostForVm
(
vm
);
host
.
removeMigratingInVm
(
vm
);
host
.
removeMigratingInVm
(
vm
);
...
...
modules/cloudsim/src/main/java/org/cloudbus/cloudsim/Vm.java
View file @
85c0db67
...
@@ -46,9 +46,6 @@ public class Vm {
...
@@ -46,9 +46,6 @@ public class Vm {
/** The bw. */
/** The bw. */
private
long
bw
;
private
long
bw
;
/** The priority. */
private
int
priority
;
/** The vmm. */
/** The vmm. */
private
String
vmm
;
private
String
vmm
;
...
@@ -100,7 +97,7 @@ public class Vm {
...
@@ -100,7 +97,7 @@ public class Vm {
* @pre cloudletScheduler != null
* @pre cloudletScheduler != null
* @post $none
* @post $none
*/
*/
public
Vm
(
int
id
,
int
userId
,
double
mips
,
int
pesNumber
,
int
ram
,
long
bw
,
long
size
,
int
priority
,
String
vmm
,
CloudletScheduler
cloudletScheduler
)
{
public
Vm
(
int
id
,
int
userId
,
double
mips
,
int
pesNumber
,
int
ram
,
long
bw
,
long
size
,
String
vmm
,
CloudletScheduler
cloudletScheduler
)
{
setId
(
id
);
setId
(
id
);
setUserId
(
userId
);
setUserId
(
userId
);
setUid
(
getUid
(
userId
,
id
));
setUid
(
getUid
(
userId
,
id
));
...
@@ -109,7 +106,6 @@ public class Vm {
...
@@ -109,7 +106,6 @@ public class Vm {
setRam
(
ram
);
setRam
(
ram
);
setBw
(
bw
);
setBw
(
bw
);
setSize
(
size
);
setSize
(
size
);
setPriority
(
priority
);
setVmm
(
vmm
);
setVmm
(
vmm
);
setCloudletScheduler
(
cloudletScheduler
);
setCloudletScheduler
(
cloudletScheduler
);
...
@@ -396,34 +392,6 @@ public class Vm {
...
@@ -396,34 +392,6 @@ public class Vm {
this
.
size
=
size
;
this
.
size
=
size
;
}
}
/**
* Returns the priority assigned to the VM.
* Effect of the priority in the scheduling
* is policy dependent
*
* @return VM priority
*
* @pre $none
* @post $none
*/
public
int
getPriority
()
{
return
this
.
priority
;
}
/**
* Sets the priority assigned to the VM.
* Effect of the priority in the scheduling
* is policy dependent
*
* @param priority new priority assigned to the VM
*
* @pre priority >= 0
* @post $none
*/
public
void
setPriority
(
int
priority
)
{
this
.
priority
=
priority
;
}
/**
/**
* Gets the VMM.
* Gets the VMM.
*
*
...
...
modules/cloudsim/src/main/java/org/cloudbus/cloudsim/VmSchedulerOportunisticSpaceShared.java
deleted
100644 → 0
View file @
2bac5f52
/*
* Title: CloudSim Toolkit
* Description: CloudSim (Cloud Simulation) Toolkit for Modeling and Simulation of Clouds
* Licence: GPL - http://www.gnu.org/copyleft/gpl.html
*
* Copyright (c) 2009-2010, The University of Melbourne, Australia
*/
package
org
.
cloudbus
.
cloudsim
;
import
java.util.HashMap
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
/**
* VmmAllocationPolicyTimeSpaceShared is a VMM allocation policy that
* allocates one or more Pe to a VM, and doesn't allow sharing
* of PEs. If there is no free PEs to the VM, allocation fails
* However, if there is free PEs, they are scheduled to the VMs
* This policy ignores requested number of MIPS.
*
* @author Rodrigo N. Calheiros
* @since CloudSim Toolkit 1.0
*/
public
class
VmSchedulerOportunisticSpaceShared
extends
VmScheduler
{
protected
Map
<
String
,
Integer
>
peAllocationMap
;
protected
int
pesInUse
;
public
VmSchedulerOportunisticSpaceShared
(
List
<?
extends
Pe
>
pelist
)
{
super
(
pelist
);
this
.
pesInUse
=
0
;
this
.
peAllocationMap
=
new
HashMap
<
String
,
Integer
>();
}
@Override
public
boolean
allocatePesForVm
(
Vm
vm
,
List
<
Double
>
mipsShare
){
//if there is no freePes, fails
if
(
vm
.
getPesNumber
()>
super
.
getPeList
().
size
())
{
return
false
;
}
peAllocationMap
.
put
(
vm
.
getUid
(),
vm
.
getPesNumber
());
pesInUse
+=
vm
.
getPesNumber
();
return
true
;
}
@Override
public
void
deallocatePesForVm
(
Vm
vm
){
int
pes
=
peAllocationMap
.
remove
(
vm
.
getUid
());
pesInUse
-=
pes
;
}
@Override
public
List
<
Double
>
getAllocatedMipsForVm
(
Vm
vm
)
{
double
[]
myShare
=
new
double
[
super
.
getPeList
().
size
()];
for
(
int
i
=
0
;
i
<
myShare
.
length
;
i
++)
{
myShare
[
i
]=
0.0
;
}
double
capacity
=
0.0
;
for
(
int
i
=
0
;
i
<
super
.
getPeList
().
size
();
i
++){
capacity
+=
super
.
getPeList
().
get
(
i
).
getMips
();
}
//it receives the capacity of the allocated VMs and the capacity of the free PEs.
if
(
pesInUse
>
super
.
getPeList
().
size
()){
capacity
/=
pesInUse
;
}
else
{
capacity
/=
super
.
getPeList
().
size
();
}
int
pes
=
peAllocationMap
.
get
(
vm
.
getUid
());
for
(
int
i
=
0
;
i
<
pes
;
i
++){
myShare
[
i
]=
capacity
;
}
LinkedList
<
Double
>
outputVector
=
new
LinkedList
<
Double
>();
for
(
double
share:
myShare
)
{
outputVector
.
add
(
share
);
}
return
outputVector
;
}
/**
* Gets the sum of available MIPS in all PEs.
*
* @return total available mips
*
* @pre $none
* @post $none
*/
@Override
public
double
getAvailableMips
()
{
if
(
getPeList
()
==
null
)
{
Log
.
printLine
(
"Pe list is empty"
);
return
0
;
}
double
mips
=
0.0
;
for
(
Pe
pe
:
getPeList
())
{
mips
+=
pe
.
getPeProvisioner
().
getAvailableMips
();
}
return
mips
;
}
}
modules/cloudsim/src/main/java/org/cloudbus/cloudsim/VmSchedulerSpaceShared.java
View file @
85c0db67
...
@@ -10,7 +10,7 @@ package org.cloudbus.cloudsim;
...
@@ -10,7 +10,7 @@ package org.cloudbus.cloudsim;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.
LinkedList
;
import
java.util.
Iterator
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -27,10 +27,10 @@ import java.util.Map;
...
@@ -27,10 +27,10 @@ import java.util.Map;
public
class
VmSchedulerSpaceShared
extends
VmScheduler
{
public
class
VmSchedulerSpaceShared
extends
VmScheduler
{
/** Map containing VM ID and a vector of PEs allocated to this VM. */
/** Map containing VM ID and a vector of PEs allocated to this VM. */
private
Map
<
String
,
List
<
Integer
>>
peAllocationMap
;
private
Map
<
String
,
List
<
Pe
>>
peAllocationMap
;
/** The free pes vector. */
/** The free pes vector. */
private
List
<
Integer
>
freePes
;
private
List
<
Pe
>
freePes
;
/**
/**
* Instantiates a new vm scheduler space shared.
* Instantiates a new vm scheduler space shared.
...
@@ -39,19 +39,13 @@ public class VmSchedulerSpaceShared extends VmScheduler {
...
@@ -39,19 +39,13 @@ public class VmSchedulerSpaceShared extends VmScheduler {
*/
*/
public
VmSchedulerSpaceShared
(
List
<?
extends
Pe
>
pelist
)
{
public
VmSchedulerSpaceShared
(
List
<?
extends
Pe
>
pelist
)
{
super
(
pelist
);
super
(
pelist
);
setPeAllocationMap
(
new
HashMap
<
String
,
List
<
Integer
>>());
setPeAllocationMap
(
new
HashMap
<
String
,
List
<
Pe
>>());
setFreePes
(
new
ArrayList
<
Integer
>());
getFreePes
().
addAll
(
pelist
);
for
(
int
i
=
0
;
i
<
pelist
.
size
();
i
++)
{
getFreePes
().
add
(
i
);
}
}
}
/* (non-Javadoc)
/* (non-Javadoc)
* @see org.cloudbus.cloudsim.VmScheduler#allocatePesForVm(org.cloudbus.cloudsim.Vm, java.util.List)
* @see org.cloudbus.cloudsim.VmScheduler#allocatePesForVm(org.cloudbus.cloudsim.Vm, java.util.List)
*/
*/
/**
* TODO: rewrite using PeProvisioner
*/
@Override
@Override
public
boolean
allocatePesForVm
(
Vm
vm
,
List
<
Double
>
mipsShare
)
{
public
boolean
allocatePesForVm
(
Vm
vm
,
List
<
Double
>
mipsShare
)
{
//if there is no enough free PEs, fails
//if there is no enough free PEs, fails
...
@@ -59,56 +53,45 @@ public class VmSchedulerSpaceShared extends VmScheduler {
...
@@ -59,56 +53,45 @@ public class VmSchedulerSpaceShared extends VmScheduler {
return
false
;
return
false
;
}
}
double
currentFreeMips
=
getAvailableMips
();
List
<
Pe
>
selectedPes
=
new
ArrayList
<
Pe
>();
List
<
Integer
>
chosenPes
=
new
ArrayList
<
Integer
>();
Iterator
<
Pe
>
peIterator
=
getFreePes
().
iterator
();
List
<
Double
>
newMipsList
=
new
LinkedList
<
Double
>();
Pe
pe
=
peIterator
.
next
();
for
(
int
i
=
0
;
i
<
mipsShare
.
size
();
i
++)
{
double
totalMips
=
0
;
int
allocatedPe
=
getFreePes
().
remove
(
0
);
for
(
Double
mips
:
mipsShare
)
{
chosenPes
.
add
(
allocatedPe
);
if
(
mips
<=
pe
.
getMips
())
{
selectedPes
.
add
(
pe
);
//add the smaller between requested MIPS and available MIPS: if PE supplied more capacity than requested,
pe
=
peIterator
.
next
();
//we reduce use of processor (and power consumption). Otherwise, we go PE's full power.
totalMips
+=
mips
;
if
(
getPeList
().
get
(
allocatedPe
).
getMips
()
<
mipsShare
.
get
(
i
))
{
newMipsList
.
add
((
double
)
getPeList
().
get
(
allocatedPe
).
getMips
());
currentFreeMips
-=
getPeList
().
get
(
allocatedPe
).
getMips
();
}
else
{
newMipsList
.
add
(
mipsShare
.
get
(
i
));
currentFreeMips
-=
mipsShare
.
get
(
i
);
}
}
}
}
if
(
mipsShare
.
size
()
>
selectedPes
.
size
())
{
return
false
;
}
getFreePes
().
removeAll
(
selectedPes
);
getPeAllocationMap
().
put
(
vm
.
getUid
(),
chosen
Pes
);
getPeAllocationMap
().
put
(
vm
.
getUid
(),
selected
Pes
);
getMipsMap
().
put
(
vm
.
getUid
(),
newMipsList
);
getMipsMap
().
put
(
vm
.
getUid
(),
mipsShare
);
setAvailableMips
(
currentFree
Mips
);
setAvailableMips
(
getAvailableMips
()
-
total
Mips
);
return
true
;
return
true
;
}
}
/* (non-Javadoc)
/* (non-Javadoc)
* @see org.cloudbus.cloudsim.VmScheduler#deallocatePesForVm(org.cloudbus.cloudsim.Vm)
* @see org.cloudbus.cloudsim.VmScheduler#deallocatePesForVm(org.cloudbus.cloudsim.Vm)
*/
*/
@Override
@Override
public
void
deallocatePesForVm
(
Vm
vm
)
{
public
void
deallocatePesForVm
(
Vm
vm
)
{
// free Pes
getFreePes
().
addAll
(
getPeAllocationMap
().
get
(
vm
.
getUid
()));
List
<
Integer
>
peVector
=
getPeAllocationMap
().
remove
(
vm
.
getUid
());
getPeAllocationMap
().
remove
(
vm
.
getUid
());
if
(
peVector
==
null
)
{
Log
.
printLine
(
this
.
getClass
()
+
":[Error]: no Pes allocated for this VM."
);
return
;
}
while
(!
peVector
.
isEmpty
())
{
double
totalMips
=
0
;
Integer
element
=
peVector
.
remove
(
0
);
getFreePes
().
add
(
element
);
}
// update use of mips
double
currentMips
=
getAvailableMips
();
for
(
double
mips
:
getMipsMap
().
get
(
vm
.
getUid
()))
{
for
(
double
mips
:
getMipsMap
().
get
(
vm
.
getUid
()))
{
current
Mips
+=
mips
;
total
Mips
+=
mips
;
}
}
setAvailableMips
(
currentMips
);
setAvailableMips
(
getAvailableMips
()
+
totalMips
);
getMipsMap
().
remove
(
vm
.
getUid
());
}
}
/**
/**
...
@@ -116,7 +99,7 @@ public class VmSchedulerSpaceShared extends VmScheduler {
...
@@ -116,7 +99,7 @@ public class VmSchedulerSpaceShared extends VmScheduler {
*
*
* @param peAllocationMap the pe allocation map
* @param peAllocationMap the pe allocation map
*/
*/
protected
void
setPeAllocationMap
(
Map
<
String
,
List
<
Integer
>>
peAllocationMap
)
{
protected
void
setPeAllocationMap
(
Map
<
String
,
List
<
Pe
>>
peAllocationMap
)
{
this
.
peAllocationMap
=
peAllocationMap
;
this
.
peAllocationMap
=
peAllocationMap
;
}
}
...
@@ -125,7 +108,7 @@ public class VmSchedulerSpaceShared extends VmScheduler {
...
@@ -125,7 +108,7 @@ public class VmSchedulerSpaceShared extends VmScheduler {
*
*
* @return the pe allocation map
* @return the pe allocation map
*/
*/
protected
Map
<
String
,
List
<
Integer
>>
getPeAllocationMap
()
{
protected
Map
<
String
,
List
<
Pe
>>
getPeAllocationMap
()
{
return
peAllocationMap
;
return
peAllocationMap
;
}
}
...
@@ -134,7 +117,7 @@ public class VmSchedulerSpaceShared extends VmScheduler {
...
@@ -134,7 +117,7 @@ public class VmSchedulerSpaceShared extends VmScheduler {
*
*
* @param freePes the new free pes vector
* @param freePes the new free pes vector
*/
*/
protected
void
setFreePes
(
List
<
Integer
>
freePes
)
{
protected
void
setFreePes
(
List
<
Pe
>
freePes
)
{
this
.
freePes
=
freePes
;
this
.
freePes
=
freePes
;
}
}
...
@@ -143,7 +126,7 @@ public class VmSchedulerSpaceShared extends VmScheduler {
...
@@ -143,7 +126,7 @@ public class VmSchedulerSpaceShared extends VmScheduler {
*
*
* @return the free pes vector
* @return the free pes vector
*/
*/
protected
List
<
Integer
>
getFreePes
()
{
protected
List
<
Pe
>
getFreePes
()
{
return
freePes
;
return
freePes
;
}
}
...
...
modules/cloudsim/src/main/java/org/cloudbus/cloudsim/VmSchedulerTimeSharedWithPriority.java
deleted
100644 → 0
View file @
2bac5f52
/*
* Title: CloudSim Toolkit
* Description: CloudSim (Cloud Simulation) Toolkit for Modeling and Simulation of Clouds
* Licence: GPL - http://www.gnu.org/copyleft/gpl.html
*
* Copyright (c) 2009-2010, The University of Melbourne, Australia
*/
package
org
.
cloudbus
.
cloudsim
;
import
java.util.HashMap
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
/**
* VmSchedulerTimeSharedWithPriority is a VMM allocation policy that
* allows sharing of PEs among virtual machines. CPU Share of each VM can be
* set through the priority field. The smaller value accepted for priority is
* 1. Values smaller than that are set to 1. Priority means how many times
* one machine runs faster than the other. E.g.: if a VM A has priority
* 1 and a VM B has a priority 2, B will run twice as faster as A.
*
* @author Rodrigo N. Calheiros
* @since CloudSim Toolkit 1.0
*/
public
class
VmSchedulerTimeSharedWithPriority
extends
VmScheduler
{
protected
Map
<
String
,
PEShare
>
peAllocationMap
;
protected
int
pesInUse
;
protected
int
shares
;
public
VmSchedulerTimeSharedWithPriority
(
List
<?
extends
Pe
>
pelist
)
{
super
(
pelist
);
this
.
pesInUse
=
0
;
this
.
shares
=
0
;
this
.
peAllocationMap
=
new
HashMap
<
String
,
PEShare
>();
}
@Override
public
boolean
allocatePesForVm
(
Vm
vm
,
List
<
Double
>
mipsShare
){
int
priority
=
vm
.
getPriority
();
if
(
priority
<
1
)
{
priority
=
1
;
}
peAllocationMap
.
put
(
vm
.
getUid
(),
new
PEShare
(
vm
.
getPesNumber
(),
priority
));
pesInUse
+=
vm
.
getPesNumber
();
shares
+=
priority
;
return
true
;
}
@Override
public
void
deallocatePesForVm
(
Vm
vm
){
PEShare
peShare
=
peAllocationMap
.
remove
(
vm
.
getUid
());
pesInUse
-=
peShare
.
getPes
();
shares
-=
peShare
.
getShare
();
}
/**
* Returns the MIPS share of each Pe that is available to a given VM
* @param id ID of the VM
* @param userId ID of VM's owner
* @return an array containing the amount of MIPS of each pe that is available to the VM
* @pre $none
* @post $none
*/
@Override
public
List
<
Double
>
getAllocatedMipsForVm
(
Vm
vm
)
{
//divides available MIPS among all VMs
List
<
Double
>
myShare
=
new
LinkedList
<
Double
>();
for
(
int
i
=
0
;
i
<
getPeList
().
size
();
i
++)
{
myShare
.
add
(
0.0
);
}
double
capacity
=
0.0
;
for
(
int
i
=
0
;
i
<
getPeList
().
size
();
i
++){
capacity
+=
getPeList
().
get
(
i
).
getMips
();
if
(
i
+
1
==
pesInUse
)
{
break
;
}
}
capacity
/=
shares
;
PEShare
peShare
=
this
.
peAllocationMap
.
get
(
vm
.
getUid
());
int
pes
=
peShare
.
getPes
();
int
share
=
peShare
.
getShare
();
for
(
int
i
=
0
;
i
<
pes
;
i
++){
myShare
.
remove
(
i
);
myShare
.
add
(
i
,
capacity
*
share
/
pes
);
}
return
myShare
;
}
/**
* Gets the sum of available MIPS in all PEs.
*
* @return total available mips
*
* @pre $none
* @post $none
*/
@Override
public
double
getAvailableMips
()
{
if
(
getPeList
()
==
null
)
{
Log
.
printLine
(
"Pe list is empty"
);
return
0
;
}
double
mips
=
0.0
;
for
(
Pe
pe
:
getPeList
())
{
mips
+=
pe
.
getPeProvisioner
().
getAvailableMips
();
}
return
mips
;
}
/**
* Internal class to store the PEs and the share of each VM.
*
*/
static
class
PEShare
{
private
final
int
pes
;
private
final
int
share
;
PEShare
(
int
pes
,
int
share
){
this
.
pes
=
pes
;
this
.
share
=
share
;
}
public
int
getPes
()
{
return
pes
;
}
public
int
getShare
()
{
return
share
;
}
}
}
modules/cloudsim/src/main/java/org/cloudbus/cloudsim/power/PowerDatacenter.java
View file @
85c0db67
...
@@ -81,11 +81,6 @@ public class PowerDatacenter extends Datacenter {
...
@@ -81,11 +81,6 @@ public class PowerDatacenter extends Datacenter {
*/
*/
@Override
@Override
protected
void
updateCloudletProcessing
()
{
protected
void
updateCloudletProcessing
()
{
// if (isInMigration()) {
// CloudSim.cancelAll(getId(), new PredicateType(CloudSimTags.VM_DATACENTER_EVENT));
// schedule(getId(), getSchedulingInterval(), CloudSimTags.VM_DATACENTER_EVENT);
// return;
// }
if
(
getCloudletSubmitted
()
==
-
1
||
getCloudletSubmitted
()
==
CloudSim
.
clock
())
{
if
(
getCloudletSubmitted
()
==
-
1
||
getCloudletSubmitted
()
==
CloudSim
.
clock
())
{
CloudSim
.
cancelAll
(
getId
(),
new
PredicateType
(
CloudSimTags
.
VM_DATACENTER_EVENT
));
CloudSim
.
cancelAll
(
getId
(),
new
PredicateType
(
CloudSimTags
.
VM_DATACENTER_EVENT
));
schedule
(
getId
(),
getSchedulingInterval
(),
CloudSimTags
.
VM_DATACENTER_EVENT
);
schedule
(
getId
(),
getSchedulingInterval
(),
CloudSimTags
.
VM_DATACENTER_EVENT
);
...
@@ -158,15 +153,10 @@ public class PowerDatacenter extends Datacenter {
...
@@ -158,15 +153,10 @@ public class PowerDatacenter extends Datacenter {
targetHost
.
addMigratingInVm
(
vm
);
targetHost
.
addMigratingInVm
(
vm
);
if
(
targetHost
.
getVmList
().
size
()
+
targetHost
.
getVmsMigratingIn
().
size
()
>
16
)
{
Log
.
printLine
(
"problem"
);
}
if
(
oldHost
==
null
)
{
if
(
oldHost
==
null
)
{
Log
.
formatLine
(
"%.2f: Migration of VM #%d to Host #%d is started"
,
CloudSim
.
clock
(),
vm
.
getId
(),
targetHost
.
getId
());
Log
.
formatLine
(
"%.2f: Migration of VM #%d to Host #%d is started"
,
CloudSim
.
clock
(),
vm
.
getId
(),
targetHost
.
getId
());
}
else
{
}
else
{
Log
.
formatLine
(
"%.2f: Migration of VM #%d from Host #%d to Host #%d is started"
,
CloudSim
.
clock
(),
vm
.
getId
(),
oldHost
.
getId
(),
targetHost
.
getId
());
Log
.
formatLine
(
"%.2f: Migration of VM #%d from Host #%d to Host #%d is started"
,
CloudSim
.
clock
(),
vm
.
getId
(),
oldHost
.
getId
(),
targetHost
.
getId
());
//oldHost.vmDestroy(vm);
}
}
incrementMigrationCount
();
incrementMigrationCount
();
...
...
modules/cloudsim/src/test/java/org/cloudbus/cloudsim/HostDynamicWorkloadTest.java
View file @
85c0db67
...
@@ -78,8 +78,8 @@ public class HostDynamicWorkloadTest {
...
@@ -78,8 +78,8 @@ public class HostDynamicWorkloadTest {
@Test
@Test
public
void
testGetMaxUtilization
()
{
public
void
testGetMaxUtilization
()
{
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
assertTrue
(
peList
.
get
(
0
).
getPeProvisioner
().
allocateMipsForVm
(
vm0
,
MIPS
/
3
));
assertTrue
(
peList
.
get
(
0
).
getPeProvisioner
().
allocateMipsForVm
(
vm0
,
MIPS
/
3
));
assertTrue
(
peList
.
get
(
1
).
getPeProvisioner
().
allocateMipsForVm
(
vm1
,
MIPS
/
5
));
assertTrue
(
peList
.
get
(
1
).
getPeProvisioner
().
allocateMipsForVm
(
vm1
,
MIPS
/
5
));
...
@@ -89,8 +89,8 @@ public class HostDynamicWorkloadTest {
...
@@ -89,8 +89,8 @@ public class HostDynamicWorkloadTest {
@Test
@Test
public
void
testGetMaxUtilizationAmongVmsPes
()
{
public
void
testGetMaxUtilizationAmongVmsPes
()
{
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
assertTrue
(
peList
.
get
(
0
).
getPeProvisioner
().
allocateMipsForVm
(
vm0
,
MIPS
/
3
));
assertTrue
(
peList
.
get
(
0
).
getPeProvisioner
().
allocateMipsForVm
(
vm0
,
MIPS
/
3
));
assertTrue
(
peList
.
get
(
1
).
getPeProvisioner
().
allocateMipsForVm
(
vm1
,
MIPS
/
5
));
assertTrue
(
peList
.
get
(
1
).
getPeProvisioner
().
allocateMipsForVm
(
vm1
,
MIPS
/
5
));
...
...
modules/cloudsim/src/test/java/org/cloudbus/cloudsim/HostTest.java
View file @
85c0db67
...
@@ -68,8 +68,8 @@ public class HostTest {
...
@@ -68,8 +68,8 @@ public class HostTest {
@Test
@Test
public
void
testIsSuitableForVm
()
{
public
void
testIsSuitableForVm
()
{
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
,
2
,
RAM
,
BW
,
0
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
,
2
));
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
,
2
,
RAM
,
BW
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
,
2
));
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
*
2
,
1
,
RAM
*
2
,
BW
*
2
,
0
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
*
2
,
2
));
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
*
2
,
1
,
RAM
*
2
,
BW
*
2
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
*
2
,
2
));
assertTrue
(
host
.
isSuitableForVm
(
vm0
));
assertTrue
(
host
.
isSuitableForVm
(
vm0
));
assertFalse
(
host
.
isSuitableForVm
(
vm1
));
assertFalse
(
host
.
isSuitableForVm
(
vm1
));
...
@@ -77,10 +77,10 @@ public class HostTest {
...
@@ -77,10 +77,10 @@ public class HostTest {
@Test
@Test
public
void
testVmCreate
()
{
public
void
testVmCreate
()
{
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
RAM
/
2
,
BW
/
2
,
0
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
/
2
,
1
));
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
RAM
/
2
,
BW
/
2
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
/
2
,
1
));
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
,
1
,
RAM
,
BW
,
0
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
,
1
));
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
,
1
,
RAM
,
BW
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
,
1
));
Vm
vm2
=
new
Vm
(
2
,
0
,
MIPS
*
2
,
1
,
RAM
,
BW
,
0
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
*
2
,
1
));
Vm
vm2
=
new
Vm
(
2
,
0
,
MIPS
*
2
,
1
,
RAM
,
BW
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
*
2
,
1
));
Vm
vm3
=
new
Vm
(
3
,
0
,
MIPS
/
2
,
2
,
RAM
/
2
,
BW
/
2
,
0
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
/
2
,
2
));
Vm
vm3
=
new
Vm
(
3
,
0
,
MIPS
/
2
,
2
,
RAM
/
2
,
BW
/
2
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
/
2
,
2
));
assertTrue
(
host
.
vmCreate
(
vm0
));
assertTrue
(
host
.
vmCreate
(
vm0
));
assertFalse
(
host
.
vmCreate
(
vm1
));
assertFalse
(
host
.
vmCreate
(
vm1
));
...
@@ -90,7 +90,7 @@ public class HostTest {
...
@@ -90,7 +90,7 @@ public class HostTest {
@Test
@Test
public
void
testVmDestroy
()
{
public
void
testVmDestroy
()
{
Vm
vm
=
new
Vm
(
0
,
0
,
MIPS
,
1
,
RAM
/
2
,
BW
/
2
,
0
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
,
1
));
Vm
vm
=
new
Vm
(
0
,
0
,
MIPS
,
1
,
RAM
/
2
,
BW
/
2
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
,
1
));
assertTrue
(
host
.
vmCreate
(
vm
));
assertTrue
(
host
.
vmCreate
(
vm
));
assertSame
(
vm
,
host
.
getVm
(
0
,
0
));
assertSame
(
vm
,
host
.
getVm
(
0
,
0
));
...
@@ -104,8 +104,8 @@ public class HostTest {
...
@@ -104,8 +104,8 @@ public class HostTest {
@Test
@Test
public
void
testVmDestroyAll
()
{
public
void
testVmDestroyAll
()
{
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
,
1
,
RAM
/
2
,
BW
/
2
,
0
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
,
1
));
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
,
1
,
RAM
/
2
,
BW
/
2
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
,
1
));
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
,
1
,
RAM
/
2
,
BW
/
2
,
0
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
,
1
));
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
,
1
,
RAM
/
2
,
BW
/
2
,
0
,
""
,
new
CloudletSchedulerSingleService
(
MIPS
,
1
));
assertTrue
(
host
.
vmCreate
(
vm0
));
assertTrue
(
host
.
vmCreate
(
vm0
));
assertSame
(
vm0
,
host
.
getVm
(
0
,
0
));
assertSame
(
vm0
,
host
.
getVm
(
0
,
0
));
...
...
modules/cloudsim/src/test/java/org/cloudbus/cloudsim/VmSchedulerTimeSharedTest.java
View file @
85c0db67
...
@@ -40,8 +40,8 @@ public class VmSchedulerTimeSharedTest {
...
@@ -40,8 +40,8 @@ public class VmSchedulerTimeSharedTest {
peList
.
add
(
new
Pe
(
0
,
new
PeProvisionerSimple
(
MIPS
)));
peList
.
add
(
new
Pe
(
0
,
new
PeProvisionerSimple
(
MIPS
)));
peList
.
add
(
new
Pe
(
1
,
new
PeProvisionerSimple
(
MIPS
)));
peList
.
add
(
new
Pe
(
1
,
new
PeProvisionerSimple
(
MIPS
)));
vmScheduler
=
new
VmSchedulerTimeShared
(
peList
);
vmScheduler
=
new
VmSchedulerTimeShared
(
peList
);
vm1
=
new
Vm
(
0
,
0
,
MIPS
/
4
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
vm1
=
new
Vm
(
0
,
0
,
MIPS
/
4
,
1
,
0
,
0
,
0
,
""
,
null
);
vm2
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
2
,
0
,
0
,
0
,
0
,
""
,
null
);
vm2
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
2
,
0
,
0
,
0
,
""
,
null
);
//vm3 = new Vm(2, 0, MIPS, 2, 0, 0, 0, 0, "", null);
//vm3 = new Vm(2, 0, MIPS, 2, 0, 0, 0, 0, "", null);
}
}
...
@@ -144,10 +144,10 @@ public class VmSchedulerTimeSharedTest {
...
@@ -144,10 +144,10 @@ public class VmSchedulerTimeSharedTest {
List
<
Pe
>
peList
=
new
ArrayList
<
Pe
>();
List
<
Pe
>
peList
=
new
ArrayList
<
Pe
>();
peList
.
add
(
new
Pe
(
0
,
new
PeProvisionerSimple
(
3500
)));
peList
.
add
(
new
Pe
(
0
,
new
PeProvisionerSimple
(
3500
)));
VmScheduler
vmScheduler
=
new
VmSchedulerTimeShared
(
peList
);
VmScheduler
vmScheduler
=
new
VmSchedulerTimeShared
(
peList
);
Vm
vm1
=
new
Vm
(
0
,
0
,
170
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
0
,
0
,
170
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
2000
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
2000
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm3
=
new
Vm
(
2
,
0
,
10
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm3
=
new
Vm
(
2
,
0
,
10
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm4
=
new
Vm
(
3
,
0
,
2000
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm4
=
new
Vm
(
3
,
0
,
2000
,
1
,
0
,
0
,
0
,
""
,
null
);
List
<
Double
>
mipsShare1
=
new
ArrayList
<
Double
>();
List
<
Double
>
mipsShare1
=
new
ArrayList
<
Double
>();
mipsShare1
.
add
(
170.0
);
mipsShare1
.
add
(
170.0
);
...
...
modules/cloudsim/src/test/java/org/cloudbus/cloudsim/VmTest.java
View file @
85c0db67
...
@@ -36,7 +36,6 @@ public class VmTest {
...
@@ -36,7 +36,6 @@ public class VmTest {
private
static
final
int
RAM
=
1024
;
private
static
final
int
RAM
=
1024
;
private
static
final
int
BW
=
10000
;
private
static
final
int
BW
=
10000
;
private
static
final
long
SIZE
=
1000
;
private
static
final
long
SIZE
=
1000
;
private
static
final
int
PRIORITY
=
1
;
private
static
final
String
VMM
=
"Xen"
;
private
static
final
String
VMM
=
"Xen"
;
private
CloudletSchedulerSingleService
vmScheduler
;
private
CloudletSchedulerSingleService
vmScheduler
;
...
@@ -45,7 +44,7 @@ public class VmTest {
...
@@ -45,7 +44,7 @@ public class VmTest {
@Before
@Before
public
void
setUp
()
throws
Exception
{
public
void
setUp
()
throws
Exception
{
vmScheduler
=
new
CloudletSchedulerSingleService
(
MIPS
,
PES_NUMBER
);
vmScheduler
=
new
CloudletSchedulerSingleService
(
MIPS
,
PES_NUMBER
);
vm
=
new
Vm
(
ID
,
USER_ID
,
MIPS
,
PES_NUMBER
,
RAM
,
BW
,
SIZE
,
PRIORITY
,
VMM
,
vmScheduler
);
vm
=
new
Vm
(
ID
,
USER_ID
,
MIPS
,
PES_NUMBER
,
RAM
,
BW
,
SIZE
,
VMM
,
vmScheduler
);
}
}
@Test
@Test
...
@@ -79,11 +78,6 @@ public class VmTest {
...
@@ -79,11 +78,6 @@ public class VmTest {
assertEquals
(
SIZE
,
vm
.
getSize
());
assertEquals
(
SIZE
,
vm
.
getSize
());
}
}
@Test
public
void
testGetPriority
()
{
assertEquals
(
PRIORITY
,
vm
.
getPriority
());
}
@Test
@Test
public
void
testGetVmm
()
{
public
void
testGetVmm
()
{
assertEquals
(
VMM
,
vm
.
getVmm
());
assertEquals
(
VMM
,
vm
.
getVmm
());
...
@@ -168,7 +162,7 @@ public class VmTest {
...
@@ -168,7 +162,7 @@ public class VmTest {
@Test
@Test
public
void
testGetCurrentRequestedMips
()
{
public
void
testGetCurrentRequestedMips
()
{
CloudletScheduler
cloudletScheduler
=
createMock
(
CloudletScheduler
.
class
);
CloudletScheduler
cloudletScheduler
=
createMock
(
CloudletScheduler
.
class
);
Vm
vm
=
new
Vm
(
ID
,
USER_ID
,
MIPS
,
PES_NUMBER
,
RAM
,
BW
,
SIZE
,
PRIORITY
,
VMM
,
cloudletScheduler
);
Vm
vm
=
new
Vm
(
ID
,
USER_ID
,
MIPS
,
PES_NUMBER
,
RAM
,
BW
,
SIZE
,
VMM
,
cloudletScheduler
);
List
<
Double
>
expectedCurrentMips1
=
new
ArrayList
<
Double
>();
List
<
Double
>
expectedCurrentMips1
=
new
ArrayList
<
Double
>();
expectedCurrentMips1
.
add
(
MIPS
);
expectedCurrentMips1
.
add
(
MIPS
);
...
@@ -196,7 +190,7 @@ public class VmTest {
...
@@ -196,7 +190,7 @@ public class VmTest {
@Test
@Test
public
void
testGetCurrentRequestedTotalMips
()
{
public
void
testGetCurrentRequestedTotalMips
()
{
CloudletScheduler
cloudletScheduler
=
createMock
(
CloudletScheduler
.
class
);
CloudletScheduler
cloudletScheduler
=
createMock
(
CloudletScheduler
.
class
);
Vm
vm
=
new
Vm
(
ID
,
USER_ID
,
MIPS
,
PES_NUMBER
,
RAM
,
BW
,
SIZE
,
PRIORITY
,
VMM
,
cloudletScheduler
);
Vm
vm
=
new
Vm
(
ID
,
USER_ID
,
MIPS
,
PES_NUMBER
,
RAM
,
BW
,
SIZE
,
VMM
,
cloudletScheduler
);
ArrayList
<
Double
>
currentMips
=
new
ArrayList
<
Double
>();
ArrayList
<
Double
>
currentMips
=
new
ArrayList
<
Double
>();
currentMips
.
add
(
MIPS
);
currentMips
.
add
(
MIPS
);
...
...
modules/cloudsim/src/test/java/org/cloudbus/cloudsim/lists/PeListTest.java
View file @
85c0db67
...
@@ -100,8 +100,8 @@ public class PeListTest {
...
@@ -100,8 +100,8 @@ public class PeListTest {
@Test
@Test
public
void
testGetMaxUtilization
()
{
public
void
testGetMaxUtilization
()
{
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
assertTrue
(
peList
.
get
(
0
).
getPeProvisioner
().
allocateMipsForVm
(
vm0
,
MIPS
/
3
));
assertTrue
(
peList
.
get
(
0
).
getPeProvisioner
().
allocateMipsForVm
(
vm0
,
MIPS
/
3
));
assertTrue
(
peList
.
get
(
1
).
getPeProvisioner
().
allocateMipsForVm
(
vm1
,
MIPS
/
5
));
assertTrue
(
peList
.
get
(
1
).
getPeProvisioner
().
allocateMipsForVm
(
vm1
,
MIPS
/
5
));
...
@@ -111,8 +111,8 @@ public class PeListTest {
...
@@ -111,8 +111,8 @@ public class PeListTest {
@Test
@Test
public
void
testGetMaxUtilizationAmongVmsPes
()
{
public
void
testGetMaxUtilizationAmongVmsPes
()
{
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
assertTrue
(
peList
.
get
(
0
).
getPeProvisioner
().
allocateMipsForVm
(
vm0
,
MIPS
/
3
));
assertTrue
(
peList
.
get
(
0
).
getPeProvisioner
().
allocateMipsForVm
(
vm0
,
MIPS
/
3
));
assertTrue
(
peList
.
get
(
1
).
getPeProvisioner
().
allocateMipsForVm
(
vm1
,
MIPS
/
5
));
assertTrue
(
peList
.
get
(
1
).
getPeProvisioner
().
allocateMipsForVm
(
vm1
,
MIPS
/
5
));
...
...
modules/cloudsim/src/test/java/org/cloudbus/cloudsim/lists/VmListTest.java
View file @
85c0db67
...
@@ -37,9 +37,9 @@ public class VmListTest {
...
@@ -37,9 +37,9 @@ public class VmListTest {
assertNull
(
VmList
.
getById
(
vmList
,
1
));
assertNull
(
VmList
.
getById
(
vmList
,
1
));
assertNull
(
VmList
.
getById
(
vmList
,
2
));
assertNull
(
VmList
.
getById
(
vmList
,
2
));
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm3
=
new
Vm
(
2
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm3
=
new
Vm
(
2
,
0
,
0
,
2
,
0
,
0
,
0
,
""
,
null
);
vmList
.
add
(
vm1
);
vmList
.
add
(
vm1
);
vmList
.
add
(
vm2
);
vmList
.
add
(
vm2
);
...
@@ -57,10 +57,10 @@ public class VmListTest {
...
@@ -57,10 +57,10 @@ public class VmListTest {
assertNull
(
VmList
.
getByIdAndUserId
(
vmList
,
0
,
1
));
assertNull
(
VmList
.
getByIdAndUserId
(
vmList
,
0
,
1
));
assertNull
(
VmList
.
getByIdAndUserId
(
vmList
,
1
,
1
));
assertNull
(
VmList
.
getByIdAndUserId
(
vmList
,
1
,
1
));
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm3
=
new
Vm
(
0
,
1
,
0
,
2
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm3
=
new
Vm
(
0
,
1
,
0
,
2
,
0
,
0
,
0
,
""
,
null
);
Vm
vm4
=
new
Vm
(
1
,
1
,
0
,
2
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm4
=
new
Vm
(
1
,
1
,
0
,
2
,
0
,
0
,
0
,
""
,
null
);
vmList
.
add
(
vm1
);
vmList
.
add
(
vm1
);
vmList
.
add
(
vm2
);
vmList
.
add
(
vm2
);
...
...
modules/cloudsim/src/test/java/org/cloudbus/cloudsim/power/lists/PeListTest.java
View file @
85c0db67
...
@@ -50,8 +50,8 @@ public class PeListTest {
...
@@ -50,8 +50,8 @@ public class PeListTest {
@Test
@Test
public
void
testGetPower
()
throws
Exception
{
public
void
testGetPower
()
throws
Exception
{
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm0
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
assertTrue
(
peList
.
get
(
0
).
getPeProvisioner
().
allocateMipsForVm
(
vm0
,
MIPS
/
3
));
assertTrue
(
peList
.
get
(
0
).
getPeProvisioner
().
allocateMipsForVm
(
vm0
,
MIPS
/
3
));
assertTrue
(
peList
.
get
(
1
).
getPeProvisioner
().
allocateMipsForVm
(
vm1
,
MIPS
/
5
));
assertTrue
(
peList
.
get
(
1
).
getPeProvisioner
().
allocateMipsForVm
(
vm1
,
MIPS
/
5
));
...
...
modules/cloudsim/src/test/java/org/cloudbus/cloudsim/provisioners/BwProvisionerSimpleTest.java
View file @
85c0db67
...
@@ -43,8 +43,8 @@ public class BwProvisionerSimpleTest {
...
@@ -43,8 +43,8 @@ public class BwProvisionerSimpleTest {
@Test
@Test
public
void
testAllocateBwforVm
()
{
public
void
testAllocateBwforVm
()
{
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
0
,
0
,
BW
/
2
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
0
,
0
,
BW
/
2
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
0
,
0
,
BW
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
0
,
0
,
BW
,
0
,
""
,
null
);
assertTrue
(
bwProvisioner
.
isSuitableForVm
(
vm1
,
BW
/
2
));
assertTrue
(
bwProvisioner
.
isSuitableForVm
(
vm1
,
BW
/
2
));
assertTrue
(
bwProvisioner
.
allocateBwForVm
(
vm1
,
BW
/
2
));
assertTrue
(
bwProvisioner
.
allocateBwForVm
(
vm1
,
BW
/
2
));
...
@@ -65,8 +65,8 @@ public class BwProvisionerSimpleTest {
...
@@ -65,8 +65,8 @@ public class BwProvisionerSimpleTest {
@Test
@Test
public
void
testGetAllocatedBwforVm
()
{
public
void
testGetAllocatedBwforVm
()
{
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
0
,
0
,
BW
/
2
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
0
,
0
,
BW
/
2
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
0
,
0
,
BW
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
0
,
0
,
BW
,
0
,
""
,
null
);
assertTrue
(
bwProvisioner
.
isSuitableForVm
(
vm1
,
BW
/
2
));
assertTrue
(
bwProvisioner
.
isSuitableForVm
(
vm1
,
BW
/
2
));
assertTrue
(
bwProvisioner
.
allocateBwForVm
(
vm1
,
BW
/
2
));
assertTrue
(
bwProvisioner
.
allocateBwForVm
(
vm1
,
BW
/
2
));
...
@@ -87,8 +87,8 @@ public class BwProvisionerSimpleTest {
...
@@ -87,8 +87,8 @@ public class BwProvisionerSimpleTest {
@Test
@Test
public
void
testDeallocateBwForVm
()
{
public
void
testDeallocateBwForVm
()
{
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
0
,
0
,
BW
/
2
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
0
,
0
,
BW
/
2
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
0
,
0
,
BW
/
2
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
0
,
0
,
BW
/
2
,
0
,
""
,
null
);
assertEquals
(
0
,
vm1
.
getCurrentAllocatedBw
());
assertEquals
(
0
,
vm1
.
getCurrentAllocatedBw
());
assertEquals
(
0
,
vm2
.
getCurrentAllocatedBw
());
assertEquals
(
0
,
vm2
.
getCurrentAllocatedBw
());
...
...
modules/cloudsim/src/test/java/org/cloudbus/cloudsim/provisioners/PeProvisionerSimpleTest.java
View file @
85c0db67
...
@@ -56,9 +56,9 @@ public class PeProvisionerSimpleTest {
...
@@ -56,9 +56,9 @@ public class PeProvisionerSimpleTest {
@Test
@Test
public
void
testAllocateMipsForVm
()
{
public
void
testAllocateMipsForVm
()
{
Vm
vm1
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm3
=
new
Vm
(
2
,
0
,
MIPS
/
2
,
2
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm3
=
new
Vm
(
2
,
0
,
MIPS
/
2
,
2
,
0
,
0
,
0
,
""
,
null
);
assertTrue
(
peProvisioner
.
allocateMipsForVm
(
vm1
,
MIPS
/
2
));
assertTrue
(
peProvisioner
.
allocateMipsForVm
(
vm1
,
MIPS
/
2
));
assertEquals
(
MIPS
/
2
,
peProvisioner
.
getAvailableMips
(),
0
);
assertEquals
(
MIPS
/
2
,
peProvisioner
.
getAvailableMips
(),
0
);
...
@@ -100,9 +100,9 @@ public class PeProvisionerSimpleTest {
...
@@ -100,9 +100,9 @@ public class PeProvisionerSimpleTest {
@Test
@Test
public
void
testGetAllocatedMipsForVm
()
{
public
void
testGetAllocatedMipsForVm
()
{
Vm
vm1
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm3
=
new
Vm
(
2
,
0
,
MIPS
/
2
,
2
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm3
=
new
Vm
(
2
,
0
,
MIPS
/
2
,
2
,
0
,
0
,
0
,
""
,
null
);
assertNull
(
peProvisioner
.
getAllocatedMipsForVm
(
vm1
));
assertNull
(
peProvisioner
.
getAllocatedMipsForVm
(
vm1
));
assertEquals
(
0
,
peProvisioner
.
getAllocatedMipsForVmByVirtualPeId
(
vm1
,
0
),
0
);
assertEquals
(
0
,
peProvisioner
.
getAllocatedMipsForVmByVirtualPeId
(
vm1
,
0
),
0
);
...
@@ -175,8 +175,8 @@ public class PeProvisionerSimpleTest {
...
@@ -175,8 +175,8 @@ public class PeProvisionerSimpleTest {
@Test
@Test
public
void
testDeallocateMipsForVM
()
{
public
void
testDeallocateMipsForVM
()
{
Vm
vm1
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
0
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
MIPS
/
2
,
1
,
0
,
0
,
0
,
""
,
null
);
peProvisioner
.
allocateMipsForVm
(
vm1
,
MIPS
/
2
);
peProvisioner
.
allocateMipsForVm
(
vm1
,
MIPS
/
2
);
peProvisioner
.
allocateMipsForVm
(
vm2
,
MIPS
/
4
);
peProvisioner
.
allocateMipsForVm
(
vm2
,
MIPS
/
4
);
...
...
modules/cloudsim/src/test/java/org/cloudbus/cloudsim/provisioners/RamProvisionerSimpleTest.java
View file @
85c0db67
...
@@ -43,8 +43,8 @@ public class RamProvisionerSimpleTest {
...
@@ -43,8 +43,8 @@ public class RamProvisionerSimpleTest {
@Test
@Test
public
void
testAllocateRamForVm
()
{
public
void
testAllocateRamForVm
()
{
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
0
,
RAM
/
2
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
0
,
RAM
/
2
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
0
,
RAM
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
0
,
RAM
,
0
,
0
,
""
,
null
);
assertTrue
(
ramProvisioner
.
isSuitableForVm
(
vm1
,
RAM
/
2
));
assertTrue
(
ramProvisioner
.
isSuitableForVm
(
vm1
,
RAM
/
2
));
assertTrue
(
ramProvisioner
.
allocateRamForVm
(
vm1
,
RAM
/
2
));
assertTrue
(
ramProvisioner
.
allocateRamForVm
(
vm1
,
RAM
/
2
));
...
@@ -65,8 +65,8 @@ public class RamProvisionerSimpleTest {
...
@@ -65,8 +65,8 @@ public class RamProvisionerSimpleTest {
@Test
@Test
public
void
testGetAllocatedRamForVm
()
{
public
void
testGetAllocatedRamForVm
()
{
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
0
,
RAM
/
2
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
0
,
RAM
/
2
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
0
,
RAM
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
0
,
RAM
,
0
,
0
,
""
,
null
);
assertTrue
(
ramProvisioner
.
isSuitableForVm
(
vm1
,
RAM
/
2
));
assertTrue
(
ramProvisioner
.
isSuitableForVm
(
vm1
,
RAM
/
2
));
assertTrue
(
ramProvisioner
.
allocateRamForVm
(
vm1
,
RAM
/
2
));
assertTrue
(
ramProvisioner
.
allocateRamForVm
(
vm1
,
RAM
/
2
));
...
@@ -87,8 +87,8 @@ public class RamProvisionerSimpleTest {
...
@@ -87,8 +87,8 @@ public class RamProvisionerSimpleTest {
@Test
@Test
public
void
testDeallocateBwForVm
()
{
public
void
testDeallocateBwForVm
()
{
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
0
,
RAM
/
2
,
0
,
0
,
0
,
""
,
null
);
Vm
vm1
=
new
Vm
(
0
,
0
,
0
,
0
,
RAM
/
2
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
0
,
RAM
/
2
,
0
,
0
,
0
,
""
,
null
);
Vm
vm2
=
new
Vm
(
1
,
0
,
0
,
0
,
RAM
/
2
,
0
,
0
,
""
,
null
);
assertEquals
(
0
,
vm1
.
getCurrentAllocatedRam
());
assertEquals
(
0
,
vm1
.
getCurrentAllocatedRam
());
assertEquals
(
0
,
vm2
.
getCurrentAllocatedRam
());
assertEquals
(
0
,
vm2
.
getCurrentAllocatedRam
());
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment