kirikiri g线上的魔王:GridSim例子二:实现如何创建网格用户,以及网格作业的创建
来源:百度文库 编辑:偶看新闻 时间:2024/04/30 08:43:15
/*
* 这个例子主要实现如何创建网格用户,以及网格作业的创建
*/
/*
* 步骤:
* 1.创建一个网格任务列表,通过自己编写的方法createGridlet()方法来实现
* GridletList list = createGridlet();
* 1.1 在createGridlet()方法内,创建一个存储网格作业的容器
* GridletList list = new GridletList();
* 1.2 在没有GridSimRandom类的帮助下,人为的创建三个网格作业(任务)
* Gridlet gridlet1 = new Gridlet(id, length, file_size, output_size);
* 1.3 我们在类GridSimRandom and GriSimStandardPE的帮助下创建5个作业
* 2.创建一个网格用户列表 ResourceUserList userList = createGridUser(list);然后给这些用户指派作业
* 3.打印出网格任务列表 printGridletList(list);
*/ import java.util.*;
import gridsim.*;class example21 {
public static void main(String[] agrs)
{
System.out.println("开始怎样创建网格用户的例子");
System.out.println();
try
{
//创建一个网格任务列表
GridletList list = createGridlet();
System.out.println("创建 " + list.size() + " 网格作业");
ResourceUserList userList = createGridUser(list);
System.out.println("创建 " + userList.size() + "网格用户");
//打印出网格任务
printGridletList(list);
System.out.println("完成这个例子");
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("发生的错误");
}
}
/**
* 一个网格用户有许多要处理的作业
* 这个方法告诉你用或者不用GridSimRandom类去创建网格作业
* @return a GridletList 对象
*/
private static GridletList createGridlet()
{
//创建一个存储网格作业的容器
GridletList list = new GridletList();
//我们在没有GridSimRandom类的帮助下,人为的创建三个网格作业(任务)
int id = 0;
double length = 3500.0;
long file_size = 300;
long output_size = 300;
Gridlet gridlet1 = new Gridlet(id, length, file_size, output_size);
id++;
Gridlet gridlet2 = new Gridlet(id, 5000, 500, 500);
id++;
Gridlet gridlet3 = new Gridlet(id, 9000, 900, 900);
//把这些作业存放在一个列表中
list.add(gridlet1);
list.add(gridlet2);
list.add(gridlet3);
//我们在类GridSimRandom and GriSimStandardPE
//的帮助下创建5个作业
Random random = new Random();
//设置PE MIPS Rating
GridSimStandardPE.setRating(100);
//创建5个作业
int count = 5;
double min_range = 0.10;
double max_range = 0.50;
for (int i = 1; i< count+1; i++)
{
//作业的长度由random的值决定,当前的MIPS Rating for a PE
length = GridSimStandardPE.toMIs(random.nextDouble()*output_size);
// 决定作业文件的大小(100+(10% to 50%))
file_size = (long) GridSimRandom.real(100, min_range, max_range,
/*
import gridsim.*;class example21 {