package org.cloudbus.cloudsim.examples.container;
import com.opencsv.CSVWriter;
import org.cloudbus.cloudsim.*;
import org.cloudbus.cloudsim.container.containerProvisioners.ContainerBwProvisionerSimple;
import org.cloudbus.cloudsim.container.containerProvisioners.ContainerPe;
import org.cloudbus.cloudsim.container.containerProvisioners.ContainerRamProvisionerSimple;
import org.cloudbus.cloudsim.container.containerProvisioners.CotainerPeProvisionerSimple;
import org.cloudbus.cloudsim.container.containerVmProvisioners.ContainerVmBwProvisionerSimple;
import org.cloudbus.cloudsim.container.containerVmProvisioners.ContainerVmPe;
import org.cloudbus.cloudsim.container.containerVmProvisioners.ContainerVmPeProvisionerSimple;
import org.cloudbus.cloudsim.container.containerVmProvisioners.ContainerVmRamProvisionerSimple;
import org.cloudbus.cloudsim.container.core.*;
import org.cloudbus.cloudsim.container.resourceAllocatorMigrationEnabled.PowerContainerVmAllocationPolicyMigrationAbstract;
import org.cloudbus.cloudsim.container.resourceAllocators.ContainerAllocationPolicy;
import org.cloudbus.cloudsim.container.resourceAllocators.ContainerVmAllocationPolicy;
import org.cloudbus.cloudsim.container.schedulers.ContainerCloudletSchedulerDynamicWorkload;
import org.cloudbus.cloudsim.container.schedulers.ContainerSchedulerTimeSharedOverSubscription;
import org.cloudbus.cloudsim.container.schedulers.ContainerVmSchedulerTimeSharedOverSubscription;
import org.cloudbus.cloudsim.container.utils.IDs;
import org.cloudbus.cloudsim.util.MathUtil;
import java.io.*;
import java.io.File;
import java.util.*;
/**
* This is the modified version of {@link org.cloudbus.cloudsim.examples.power.Helper} class in cloudsim.
* Created by sareh on 15/07/15.
*/
public class HelperEx {
public HelperEx() {
// System.out.print();
}
public static List<ContainerCloudlet> createContainerCloudletList(int brokerId, String inputFolderName, int numberOfCloudlets)
throws FileNotFoundException {
ArrayList cloudletList = new ArrayList();
long fileSize = 300L;
long outputSize = 300L;
UtilizationModelNull utilizationModelNull = new UtilizationModelNull();
File inputFolder1 = new File(inputFolderName);
File[] files1 = inputFolder1.listFiles();
int createdCloudlets = 0;
for (File aFiles1 : files1) {
File inputFolder = new File(aFiles1.toString());
File[] files = inputFolder.listFiles();
for (int i = 0; i < files.length; ++i) {
if (createdCloudlets < numberOfCloudlets) {
ContainerCloudlet cloudlet = null;
try {
cloudlet = new ContainerCloudlet(IDs.pollId(ContainerCloudlet.class), 216000000L * 1000, 1, fileSize, outputSize,
new UtilizationModelPlanetLabInMemoryExtended(files[i].getAbsolutePath(), 300.0D),
utilizationModelNull, utilizationModelNull);
} catch (Exception var13) {
var13.printStackTrace();
System.exit(0);
}
cloudlet.setUserId(brokerId);
// cloudlet.setVmId(i);
cloudletList.add(cloudlet);
createdCloudlets += 1;
} else {
return cloudletList;
}
}
}
return cloudletList;
}
// create the containers for hosting the cloudlets and binding them together.
public static List<Container> createContainerList(int brokerId, int containersNumber) {
ArrayList containers = new ArrayList();
for (int i = 0; i < containersNumber; ++i) {
// int containerType = new RandomGen().getNum(ConstantsExamples.CONTAINER_TYPES);
int containerType = i / (int) Math.ceil((double) containersNumber / 3.0D);
// int containerType = 0;
containers.add(new PowerContainer(IDs.pollId(Container.class), brokerId, (double) ConstantsExamples.CONTAINER_MIPS[containerType], ConstantsExamples.
CONTAINER_PES[containerType], ConstantsExamples.CONTAINER_RAM[containerType], ConstantsExamples.CONTAINER_BW, 0L, "Xen",
new ContainerCloudletSchedulerDynamicWorkload(ConstantsExamples.CONTAINER_MIPS[containerType],
ConstantsExamples.CONTAINER_PES[containerType]), ConstantsExamples.SCHEDULING_INTERVAL));
}
return containers;
}
// create the containers for hosting the cloudlets and binding them together.
public static List<ContainerVm> createVmList(int brokerId, int containerVmsNumber) {
ArrayList containerVms = new ArrayList();
for (int i = 0; i < containerVmsNumber; ++i) {
ArrayList peList = new ArrayList();
// int vmType = new RandomGen().getNum(ConstantsExamples.VM_TYPES);
// Log.print(vmType);
// Log.print("\n");
int vmType = i / (int) Math.ceil((double) containerVmsNumber / 4.0D);
// int vmType = 1;
// int vmType = 1;
for (int j = 0; j < ConstantsExamples.VM_PES[vmType]; ++j) {
peList.add(new ContainerPe(j, new CotainerPeProvisionerSimple((double) ConstantsExamples.VM_MIPS[vmType])));
}
containerVms.add(new PowerContainerVm(IDs.pollId(ContainerVm.class), brokerId, (double) ConstantsExamples.VM_MIPS[vmType], (float) ConstantsExamples.VM_RAM[vmType],
ConstantsExamples.VM_BW, ConstantsExamples.VM_SIZE, "Xen", new ContainerSchedulerTimeSharedOverSubscription(peList),
new ContainerRamProvisionerSimple(ConstantsExamples.VM_RAM[vmType]),
new ContainerBwProvisionerSimple(ConstantsExamples.VM_BW), peList, ConstantsExamples.SCHEDULING_INTERVAL));
}
return containerVms;
}
public static List<ContainerHost> createHostList(int hostsNumber) {
ArrayList hostList = new ArrayList();
for (int i = 0; i < hostsNumber; ++i) {
// int hostType = new RandomGen().getNum(ConstantsExamples.HOST_TYPES);
int hostType = i / (int) Math.ceil((double) hostsNumber / 3.0D);
// int hostType = i % 2;
// int hostType = 2;
ArrayList peList = new ArrayList();
for (int j = 0; j < ConstantsExamples.HOST_PES[hostType]; ++j) {
peList.add(new ContainerVmPe(j, new ContainerVmPeProvisionerSimple((double) ConstantsExamples.HOST_MIPS[hostType])));
}
// hostList.add(new PowerContainerHost(i, new ContainerVmRamProvisionerSimple(ConstantsExamples.HOST_RAM[hostType]),
// new ContainerVmBwProvisionerSimple(1000000L), 1000000L, peList, new ContainerVmSchedulerTimeSharedOverSubscription(peList), ConstantsExamples.HOST_POWER[hostType]));
hostList.add(new PowerContainerHostUtilizationHistory(IDs.pollId(ContainerHost.class), new ContainerVmRamProvisionerSimple(ConstantsExamples.HOST_RAM[hostType]),
new ContainerVmBwProvisionerSimple(1000000L), 1000000L, peList, new ContainerVmSchedulerTimeSharedOverSubscription(peList), ConstantsExamples.HOST_POWER[hostType]));
}
return hostList;
}
// Broker
public static ContainerDatacenterBroker createBroker(double overBookingFactor) {
ContainerDatacenterBroker broker = null;
try {
broker = new ContainerDatacenterBroker("Broker", overBookingFactor);
} catch (Exception var2) {
var2.printStackTrace();
System.exit(0);
}
return broker;
}
// // Data Center
// public static PowerContainerDatacenter createDatacenter(String name, List<ContainerHost> hostList, ContainerVmAllocationPolicy vmAllocationPolicy, ContainerAllocationPolicy con
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
CloudSim技术支持: 项目采用CloudSim技术,为用户提供真实的云平台模拟环境,使得性能评测更加真实可信。 多语言开发: 项目涉及HTML、Java、CSS等多种编程语言,确保系统的跨平台和兼容性,使得用户能够方便地在不同环境中使用。 全面性能评测: 我们的系统涵盖了云平台的各个性能方面,包括计算能力、存储性能、网络性能等,用户可根据需求进行全面评估。 用户友好界面: 通过精心设计的用户界面,使得系统易于使用,即使是对云计算领域不太了解的用户也能轻松上手。 项目目标: 我们的目标是为云计算从业者提供一个可靠的性能评测工具,帮助其更好地选择适合自身需求的云平台,提高云服务的质量和性能。
资源推荐
资源详情
资源评论
收起资源包目录
大创之基于CloudSim的云平台性能评测系统 (1605个子文件)
._package-list 4KB
topology.brite 554B
topology.brite 554B
topology.brite 554B
topology.brite 554B
HelperEx.class 36KB
PowerContainerVmAllocationPolicyMigrationAbstractContainerAdded.class 27KB
ContainerDatacenter.class 25KB
Helper.class 23KB
Datacenter.class 21KB
PowerContainerVmAllocationPolicyMigrationAbstract.class 19KB
ContainerVm.class 19KB
ContainerDatacenterBroker.class 17KB
PowerVmAllocationPolicyMigrationAbstract.class 17KB
Cloudlet.class 16KB
RunnerAbs.class 15KB
ContainerCloudSimExample1.class 15KB
CloudsimThread_Run.class 15KB
DatacenterBroker.class 15KB
Cloudsim_Run.class 14KB
PowerContainerDatacenter.class 14KB
CloudSim.class 14KB
NetDatacenterBroker.class 13KB
PowerContainerDatacenterCM.class 12KB
NetworkCloudletSpaceSharedScheduler.class 12KB
ContainerHost.class 12KB
PowerContainerVmAllocationPolicyMigrationAbstractContainerHostSelection.class 12KB
Switch.class 11KB
Container.class 11KB
Host.class 10KB
ContainerHostDynamicWorkload.class 10KB
CloudSimExample7.class 9KB
CloudletSchedulerSpaceShared.class 9KB
TestExample.class 9KB
CloudSimExample8.class 9KB
HarddriveStorage.class 8KB
PowerDatacenter.class 8KB
HostDynamicWorkload.class 8KB
RunnerAbstract.class 8KB
CloudSimExample6.class 8KB
ContainerCloudletSchedulerTimeShared.class 8KB
NetworkExample3.class 8KB
Vm.class 8KB
CloudletSchedulerTimeShared.class 8KB
NetworkExample2.class 8KB
CloudSimExample5.class 7KB
SimEntity.class 7KB
ContainerCloudletSchedulerDynamicWorkload.class 7KB
WorkloadFileReader.class 7KB
CloudSimExample3.class 7KB
NetworkExample1.class 7KB
CloudSimExample4.class 7KB
CloudletSchedulerDynamicWorkload.class 7KB
CloudSimExample2.class 7KB
MathUtil.class 7KB
NetworkExample4.class 7KB
CloudSimExample1.class 7KB
NetworkDatacenter.class 7KB
PowerContainerVmAllocationPolicyMigrationAbstractHostSelection.class 7KB
ContainerVmSchedulerTimeShared.class 7KB
ContainerDatacenterCharacteristics.class 7KB
InfoPacket.class 7KB
NetworkVmAllocationPolicy.class 7KB
ContainerSchedulerTimeShared.class 6KB
ContainerVmAllocationPolicySimple.class 6KB
DatacenterCharacteristics.class 6KB
ContainerAllocationPolicySimple.class 6KB
NetworkHost.class 6KB
ContainerVmScheduler.class 6KB
ContainerScheduler.class 6KB
VmSchedulerTimeShared.class 6KB
PowerContainerVm.class 6KB
VmAllocationPolicySimple.class 6KB
PowerDatacenterNonPowerAware.class 6KB
ContainerVmPeList.class 5KB
ContainerPeList.class 5KB
VmScheduler.class 5KB
ResCloudlet.class 5KB
NetworkTopology.class 5KB
File.class 5KB
ContainerVmSchedulerTimeSharedOverSubscription.class 5KB
PowerContainerSelectionPolicyMaximumCorrelation.class 5KB
CloudsimThread_Run$1.class 5KB
EdgeSwitch.class 5KB
PowerContainerVmSelectionPolicyMaximumCorrelation.class 5KB
CloudInformationService.class 5KB
PowerContainerVmAllocationPolicyMigrationAbstractContainerHostSelectionUnderUtilizedAdded.class 5KB
PeList.class 5KB
VmSchedulerTimeSharedOverSubscription.class 5KB
PowerVmAllocationPolicyMigrationLocalRegression.class 5KB
FileAttribute.class 5KB
PowerContainerVmAllocationAbstract.class 5KB
ContainerVmPeProvisionerSimple.class 4KB
ContainerSchedulerTimeSharedOverSubscription.class 4KB
CotainerPeProvisionerSimple.class 4KB
PowerVmAllocationPolicyMigrationMedianAbsoluteDeviation.class 4KB
PowerVmAllocationPolicyMigrationInterQuartileRange.class 4KB
PowerVmSelectionPolicyMaximumCorrelation.class 4KB
UserDB.class 4KB
PowerContainerAllocationPolicy.class 4KB
共 1605 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17
资源评论
梦回阑珊
- 粉丝: 2576
- 资源: 657
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功