• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java VmStateHistoryEntry类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.cloudbus.cloudsim.VmStateHistoryEntry的典型用法代码示例。如果您正苦于以下问题:Java VmStateHistoryEntry类的具体用法?Java VmStateHistoryEntry怎么用?Java VmStateHistoryEntry使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



VmStateHistoryEntry类属于org.cloudbus.cloudsim包,在下文中一共展示了VmStateHistoryEntry类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getTimesBeforeVmMigration

import org.cloudbus.cloudsim.VmStateHistoryEntry; //导入依赖的package包/类
/**
 * Gets the times before vm migration.
 * 
 * @param vms the vms
 * @return the times before vm migration
 */
public static List<Double> getTimesBeforeVmMigration(List<Vm> vms) {
	List<Double> timeBeforeVmMigration = new LinkedList<Double>();
	for (Vm vm : vms) {
		boolean previousIsInMigration = false;
		double lastTimeMigrationFinished = 0;
		for (VmStateHistoryEntry entry : vm.getStateHistory()) {
			if (previousIsInMigration == true && entry.isInMigration() == false) {
				timeBeforeVmMigration.add(entry.getTime() - lastTimeMigrationFinished);
			}
			if (previousIsInMigration == false && entry.isInMigration() == true) {
				lastTimeMigrationFinished = entry.getTime();
			}
			previousIsInMigration = entry.isInMigration();
		}
	}
	return timeBeforeVmMigration;
}
 
开发者ID:Udacity2048,项目名称:CloudSimDisk,代码行数:24,代码来源:Helper.java


示例2: getVmListTotalInstCompleted

import org.cloudbus.cloudsim.VmStateHistoryEntry; //导入依赖的package包/类
public int getVmListTotalInstCompleted() {
	Log.printLine("Started");
	Log.print(hostList.size() + " ");

	for (Host host : hostList) {
		Log.print(host.getId() + " vmListsize " + host.getVmList().size() + ", ");

		for (Vm vm : vmList) {

			for (VmStateHistoryEntry vmhistory : vm.getStateHistory()) {
			//	if (!vmhistory.isInMigration())
					vmListTotalInstCompleted += vmhistory.getRequestedMips();

			}
		}
	}

	return vmListTotalInstCompleted;
}
 
开发者ID:StVak,项目名称:cloudsimPowerStats,代码行数:20,代码来源:PowerMonitor.java


示例3: getSlaMetrics

import org.cloudbus.cloudsim.VmStateHistoryEntry; //导入依赖的package包/类
/**
 * Gets the sla metrics.
 * 
 * @param vms the vms
 * @return the sla metrics
 */
protected static Map<String, Double> getSlaMetrics(List<Vm> vms) {
	Map<String, Double> metrics = new HashMap<String, Double>();
	List<Double> slaViolation = new LinkedList<Double>();
	double totalAllocated = 0;
	double totalRequested = 0;
	double totalUnderAllocatedDueToMigration = 0;

	for (Vm vm : vms) {
		double vmTotalAllocated = 0;
		double vmTotalRequested = 0;
		double vmUnderAllocatedDueToMigration = 0;
		double previousTime = -1;
		double previousAllocated = 0;
		double previousRequested = 0;
		boolean previousIsInMigration = false;

		for (VmStateHistoryEntry entry : vm.getStateHistory()) {
			if (previousTime != -1) {
				double timeDiff = entry.getTime() - previousTime;
				vmTotalAllocated += previousAllocated * timeDiff;
				vmTotalRequested += previousRequested * timeDiff;

				if (previousAllocated < previousRequested) {
					slaViolation.add((previousRequested - previousAllocated) / previousRequested);
					if (previousIsInMigration) {
						vmUnderAllocatedDueToMigration += (previousRequested - previousAllocated)
								* timeDiff;
					}
				}
			}

			previousAllocated = entry.getAllocatedMips();
			previousRequested = entry.getRequestedMips();
			previousTime = entry.getTime();
			previousIsInMigration = entry.isInMigration();
		}

		totalAllocated += vmTotalAllocated;
		totalRequested += vmTotalRequested;
		totalUnderAllocatedDueToMigration += vmUnderAllocatedDueToMigration;
	}

	metrics.put("overall", (totalRequested - totalAllocated) / totalRequested);
	if (slaViolation.isEmpty()) {
		metrics.put("average", 0.);
	} else {
		metrics.put("average", MathUtil.mean(slaViolation));
	}
	metrics.put("underallocated_migration", totalUnderAllocatedDueToMigration / totalRequested);
	// metrics.put("sla_time_per_vm_with_migration", slaViolationTimePerVmWithMigration /
	// totalTime);
	// metrics.put("sla_time_per_vm_without_migration", slaViolationTimePerVmWithoutMigration /
	// totalTime);

	return metrics;
}
 
开发者ID:Udacity2048,项目名称:CloudSimDisk,代码行数:63,代码来源:Helper.java


示例4: getSlaMetrics

import org.cloudbus.cloudsim.VmStateHistoryEntry; //导入依赖的package包/类
/**
 * Service level agreement 服务等级协议 : Gets the sla metrics.
 * 
 * @param vms the vms
 * @return the sla metrics
 */
protected static Map<String, Double> getSlaMetrics(List<Vm> vms) {
	Map<String, Double> metrics = new HashMap<String, Double>();
	List<Double> slaViolation = new LinkedList<Double>();
	double totalAllocated = 0;
	double totalRequested = 0;
	double totalUnderAllocatedDueToMigration = 0;

	for (Vm vm : vms) {
		double vmTotalAllocated = 0;
		double vmTotalRequested = 0;
		double vmUnderAllocatedDueToMigration = 0;//由于虚拟机迁移造成的
		double previousTime = -1;
		double previousAllocated = 0;
		double previousRequested = 0;
		boolean previousIsInMigration = false;
		// 虚拟机状态的历史
		for (VmStateHistoryEntry entry : vm.getStateHistory()) {
			if (previousTime != -1) {//第一次分配
				double timeDiff = entry.getTime() - previousTime;
				vmTotalAllocated += previousAllocated * timeDiff;
				vmTotalRequested += previousRequested * timeDiff;

				if (previousAllocated < previousRequested) {	//
					slaViolation.add((previousRequested - previousAllocated) / previousRequested);
					if (previousIsInMigration) {
						vmUnderAllocatedDueToMigration += (previousRequested - previousAllocated)
								* timeDiff;
					}
				}
			}

			previousAllocated = entry.getAllocatedMips();
			previousRequested = entry.getRequestedMips();
			previousTime = entry.getTime();
			previousIsInMigration = entry.isInMigration();
		}

		totalAllocated += vmTotalAllocated;
		totalRequested += vmTotalRequested;
		totalUnderAllocatedDueToMigration += vmUnderAllocatedDueToMigration;
	}

	metrics.put("overall", (totalRequested - totalAllocated) / totalRequested);
	if (slaViolation.isEmpty()) {
		metrics.put("average", 0.);
	} else {
		metrics.put("average", MathUtil.mean(slaViolation));
	}
	metrics.put("underallocated_migration", totalUnderAllocatedDueToMigration / totalRequested);
	// metrics.put("sla_time_per_vm_with_migration", slaViolationTimePerVmWithMigration /
	// totalTime);
	// metrics.put("sla_time_per_vm_without_migration", slaViolationTimePerVmWithoutMigration /
	// totalTime);

	return metrics;
}
 
开发者ID:demiaowu,项目名称:annotation-of-cloudsim3.0.3,代码行数:63,代码来源:Helper.java


示例5: getSlaMetrics

import org.cloudbus.cloudsim.VmStateHistoryEntry; //导入依赖的package包/类
protected static Map<String, Double> getSlaMetrics(List<Vm> vms) {
	Map<String, Double> metrics = new HashMap<String, Double>();
	List<Double> slaViolation = new LinkedList<Double>();
	double totalAllocated = 0;
	double totalRequested = 0;
	double totalUnderAllocatedDueToMigration = 0;

	for (Vm vm : vms) {
		double vmTotalAllocated = 0;
		double vmTotalRequested = 0;
		double vmUnderAllocatedDueToMigration = 0;
		double previousTime = -1;
		double previousAllocated = 0;
		double previousRequested = 0;
		boolean previousIsInMigration = false;

		for (VmStateHistoryEntry entry : vm.getStateHistory()) {
			if (previousTime != -1) {
				double timeDiff = entry.getTime() - previousTime;
				vmTotalAllocated += previousAllocated * timeDiff;
				vmTotalRequested += previousRequested * timeDiff;

				if (previousAllocated < previousRequested) {
					slaViolation
							.add((previousRequested - previousAllocated) / previousRequested);
					if (previousIsInMigration) {
						vmUnderAllocatedDueToMigration += (previousRequested - previousAllocated) * timeDiff;
					}
				}
			}

			previousAllocated = entry.getAllocatedMips();
			previousRequested = entry.getRequestedMips();
			previousTime = entry.getTime();
			previousIsInMigration = entry.isInMigration();
		}

		totalAllocated += vmTotalAllocated;
		totalRequested += vmTotalRequested;
		totalUnderAllocatedDueToMigration += vmUnderAllocatedDueToMigration;
	}

	metrics.put("overall",
			(totalRequested - totalAllocated) / totalRequested);
	if (slaViolation.isEmpty()) {
		metrics.put("average", 0.);
	} else {
		metrics.put("average", MathUtil.mean(slaViolation));
	}
	metrics.put("underallocated_migration",
			totalUnderAllocatedDueToMigration / totalRequested);
	// metrics.put("sla_time_per_vm_with_migration",
	// slaViolationTimePerVmWithMigration /
	// totalTime);
	// metrics.put("sla_time_per_vm_without_migration",
	// slaViolationTimePerVmWithoutMigration /
	// totalTime);

	return metrics;
}
 
开发者ID:StVak,项目名称:cloudsimPowerStats,代码行数:61,代码来源:PowerMonitor.java



注:本文中的org.cloudbus.cloudsim.VmStateHistoryEntry类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java BouncyCastleOpenSSLKey类代码示例发布时间:2022-05-22
下一篇:
Java Indent类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap