From: <bro...@us...> - 2008-03-13 05:10:19
|
Revision: 154 http://gridsim.svn.sourceforge.net/gridsim/?rev=154&view=rev Author: brobergj Date: 2008-03-12 22:10:26 -0700 (Wed, 12 Mar 2008) Log Message: ----------- FlowNetEx02 is a port of NetEx03 that has been modified to use the Flow networking stack in GridSim. This demonstrates that the flow model works with Gridlets and background traffic. Added Paths: ----------- branches/gridsim4.0-branch2/examples/FlowNetEx02/ branches/gridsim4.0-branch2/examples/FlowNetEx02/FlowNetEx02.java branches/gridsim4.0-branch2/examples/FlowNetEx02/FlowNetUser.java branches/gridsim4.0-branch2/examples/FlowNetEx02/NetEx03.class branches/gridsim4.0-branch2/examples/FlowNetEx02/NetUser.class branches/gridsim4.0-branch2/examples/FlowNetEx02/README.txt branches/gridsim4.0-branch2/examples/FlowNetEx02/User_0.csv branches/gridsim4.0-branch2/examples/FlowNetEx02/User_1.csv branches/gridsim4.0-branch2/examples/FlowNetEx02/output.txt branches/gridsim4.0-branch2/examples/FlowNetEx02/router1_report.csv branches/gridsim4.0-branch2/examples/FlowNetEx02/router2_report.csv Added: branches/gridsim4.0-branch2/examples/FlowNetEx02/FlowNetEx02.java =================================================================== --- branches/gridsim4.0-branch2/examples/FlowNetEx02/FlowNetEx02.java (rev 0) +++ branches/gridsim4.0-branch2/examples/FlowNetEx02/FlowNetEx02.java 2008-03-13 05:10:26 UTC (rev 154) @@ -0,0 +1,382 @@ +package FlowNetEx02; +/* + * Author: Anthony Sulistio + * Date: November 2004 + * Description: A simple program to demonstrate of how to use GridSim + * network extension package. + * This example shows how to create user and resource + * entities connected via a network topology, using link + * and router. + * In addition, background traffic functionality is explained + * in this example. + */ + +import gridsim.*; +import gridsim.net.*; +import gridsim.net.flow.FlowLink; +import gridsim.net.flow.FlowRouter; + +import java.util.*; +import gridsim.util.TrafficGenerator; // for background traffic +import eduni.simjava.distributions.*; // for background traffic + + +/** + * Test Driver class for this example + */ +public class FlowNetEx02 +{ + /** + * Creates main() to run this example + */ + public static void main(String[] args) + { + System.out.println("Starting network example ..."); + + try + { + ////////////////////////////////////////// + // First step: Initialize the GridSim package. It should be called + // before creating any entities. We can't run this example without + // initializing GridSim first. We will get run-time exception + // error. + int num_user = 2; // number of grid users + Calendar calendar = Calendar.getInstance(); + + // a flag that denotes whether to trace GridSim events or not. + boolean trace_flag = true; + + // Initialize the GridSim package + System.out.println("Initializing GridSim package"); + GridSim.initNetworkType(GridSimTags.NET_FLOW_LEVEL); + GridSim.init(num_user, calendar, trace_flag); + + + ////////////////////////////////////////// + // Second step: Creates one or more GridResource entities + + double baud_rate = 1000; // bits/sec + double propDelay = 10; // propagation delay in millisecond + int mtu = 1500; // max. transmission unit in byte + int i = 0; + + // more resources can be created by + // setting totalResource to an appropriate value + int totalResource = 1; + ArrayList resList = new ArrayList(totalResource); + for (i = 0; i < totalResource; i++) + { + GridResource res = createGridResource("Res_"+i, baud_rate, + propDelay, mtu); + + // add a resource into a list + resList.add(res); + } + + ////////////////////////////////////////// + // Third step: Creates one or more grid user entities + + // number of Gridlets that will be sent to the resource + int totalGridlet = 5; + + // create users + ArrayList userList = new ArrayList(num_user); + ArrayList userNameList = new ArrayList(); // for background traffic + for (i = 0; i < num_user; i++) + { + String name = "User_" + i; + + // if trace_flag is set to "true", then this experiment will + // create User_i.csv where i = 0 ... (num_user-1) + FlowNetUser user = new FlowNetUser(name, totalGridlet, baud_rate, + propDelay, mtu, trace_flag); + + // add a user into a list + userList.add(user); + userNameList.add(name); + } + + ////////////////////////////////////////// + // Fourth step: Builds the network topology among entities. + + // In this example, the topology is: + // user(s) --1Mb/s-- r1 --10Mb/s-- r2 --1Mb/s-- GridResource(s) + + // create the routers. + // If trace_flag is set to "true", then this experiment will create + // the following files (apart from sim_trace and sim_report): + // - router1_report.csv + // - router2_report.csv + Router r1 = new FlowRouter("router1", trace_flag); // router 1 + Router r2 = new FlowRouter("router2", trace_flag); // router 2 + + // generates some background traffic using SimJava2 distribution + // package. NOTE: if you set the values to be too high, then + // the simulation might finish longer + TrafficGenerator tg = new TrafficGenerator( + new Sim_uniform_obj("freq",1,3), // num of packets + new Sim_uniform_obj("inter_arrival_time",10,20) ); + + // connect all user entities with r1 with 1Mb/s connection + // For each host, specify which PacketScheduler entity to use. + FlowNetUser obj = null; + for (i = 0; i < userList.size(); i++) + { + // A First In First Out Scheduler is being used here. + // SCFQScheduler can be used for more fairness + FIFOScheduler userSched = new FIFOScheduler("NetUserSched_"+i); + obj = (FlowNetUser) userList.get(i); + r1.attachHost(obj, userSched); + + // for even user number + if (i % 2 == 0) + { + // for each time, sends junk packet(s) to all entities + tg.setPattern(TrafficGenerator.SEND_ALL); + + // sends junk packet(s) to resource and user entities + obj.setBackgroundTraffic(tg, userNameList); + } + else // for odd user number + { + // for each time, sends junk packet(s) to only one entity + tg.setPattern(TrafficGenerator.SEND_ONE_ONLY); + + // sends junk packet(s) to resource entities only + obj.setBackgroundTraffic(tg); + } + } + + // connect all resource entities with r2 with 1Mb/s connection + // For each host, specify which PacketScheduler entity to use. + GridResource resObj = null; + for (i = 0; i < resList.size(); i++) + { + FIFOScheduler resSched = new FIFOScheduler("GridResSched_"+i); + resObj = (GridResource) resList.get(i); + r2.attachHost(resObj, resSched); + } + + // then connect r1 to r2 with 10Mb/s connection + // For each host, specify which PacketScheduler entity to use. + baud_rate = 10000; + Link link = new FlowLink("r1_r2_link", baud_rate, propDelay, Integer.MAX_VALUE); + + FIFOScheduler r1Sched = new FIFOScheduler("r1_Sched"); + FIFOScheduler r2Sched = new FIFOScheduler("r2_Sched"); + + // attach r2 to r1 + r1.attachRouter(r2, link, r1Sched, r2Sched); + + ////////////////////////////////////////// + // Fifth step: Starts the simulation + GridSim.startGridSimulation(); + + ////////////////////////////////////////// + // Final step: Prints the Gridlets when simulation is over + + // also prints the routing table + r1.printRoutingTable(); + r2.printRoutingTable(); + + GridletList glList = null; + for (i = 0; i < userList.size(); i++) + { + obj = (FlowNetUser) userList.get(i); + glList = obj.getGridletList(); + printGridletList(glList, obj.get_name(), false); + } + + System.out.println("\nFinish network example ..."); + } + catch (Exception e) + { + e.printStackTrace(); + System.out.println("Unwanted errors happen"); + } + } + + /** + * Creates one Grid resource. A Grid resource contains one or more + * Machines. Similarly, a Machine contains one or more PEs (Processing + * Elements or CPUs). + * <p> + * In this simple example, we are simulating one Grid resource with three + * Machines that contains one or more PEs. + * @param name a Grid Resource name + * @param baud_rate the bandwidth of this entity + * @param delay the propagation delay + * @param MTU Maximum Transmission Unit + * @return a GridResource object + */ + private static GridResource createGridResource(String name, + double baud_rate, double delay, int MTU) + { + System.out.println(); + System.out.println("Starting to create one Grid resource with " + + "3 Machines"); + + // Here are the steps needed to create a Grid resource: + // 1. We need to create an object of MachineList to store one or more + // Machines + MachineList mList = new MachineList(); + //System.out.println("Creates a Machine list"); + + + // 2. A Machine contains one or more PEs or CPUs. Therefore, should + // create an object of PEList to store these PEs before creating + // a Machine. + PEList peList1 = new PEList(); + //System.out.println("Creates a PE list for the 1st Machine"); + + + // 3. Create PEs and add these into an object of PEList. + // In this example, we are using a resource from + // hpc420.hpcc.jp, AIST, Tokyo, Japan + // Note: these data are taken the from GridSim paper, page 25. + // In this example, all PEs has the same MIPS (Millions + // Instruction Per Second) Rating for a Machine. + peList1.add( new PE(0, 377) ); // need to store PE id and MIPS Rating + peList1.add( new PE(1, 377) ); + peList1.add( new PE(2, 377) ); + peList1.add( new PE(3, 377) ); + //System.out.println("Creates 4 PEs with same MIPS Rating and put them"+ + // " into the PE list"); + + + // 4. Create one Machine with its id and list of PEs or CPUs + mList.add( new Machine(0, peList1) ); // First Machine + //System.out.println("Creates the 1st Machine that has 4 PEs and " + + // "stores it into the Machine list"); + //System.out.println(); + + // 5. Repeat the process from 2 if we want to create more Machines + // In this example, the AIST in Japan has 3 Machines with same + // MIPS Rating but different PEs. + // NOTE: if you only want to create one Machine for one Grid resource, + // then you could skip this step. + PEList peList2 = new PEList(); + //System.out.println("Creates a PE list for the 2nd Machine"); + + peList2.add( new PE(0, 377) ); + peList2.add( new PE(1, 377) ); + peList2.add( new PE(2, 377) ); + peList2.add( new PE(3, 377) ); + //System.out.println("Creates 4 PEs with same MIPS Rating and put them"+ + // " into the PE list"); + + mList.add( new Machine(1, peList2) ); // Second Machine + //System.out.println("Creates the 2nd Machine that has 4 PEs and " + + // "stores it into the Machine list"); + //System.out.println(); + + PEList peList3 = new PEList(); + //System.out.println("Creates a PE list for the 3rd Machine"); + + peList3.add( new PE(0, 377) ); + peList3.add( new PE(1, 377) ); + //System.out.println("Creates 2 PEs with same MIPS Rating and put them"+ + // " into the PE list"); + + mList.add( new Machine(2, peList3) ); // Third Machine + //System.out.println("Creates the 3rd Machine that has 2 PEs and " + + // "stores it into the Machine list"); + //System.out.println(); + + // 6. Create a ResourceCharacteristics object that stores the + // properties of a Grid resource: architecture, OS, list of + // Machines, allocation policy: time- or space-shared, time zone + // and its price (G$/PE time unit). + String arch = "Sun Ultra"; // system architecture + String os = "Solaris"; // operating system + double time_zone = 9.0; // time zone this resource located + double cost = 3.0; // the cost of using this resource + + ResourceCharacteristics resConfig = new ResourceCharacteristics( + arch, os, mList, ResourceCharacteristics.TIME_SHARED, + time_zone, cost); + + //System.out.println("Creates the properties of a Grid resource and " + + // "stores the Machine list"); + + // 7. Finally, we need to create a GridResource object. + long seed = 11L*13*17*19*23+1; + double peakLoad = 0.0; // the resource load during peak hour + double offPeakLoad = 0.0; // the resource load during off-peak hr + double holidayLoad = 0.0; // the resource load during holiday + + // incorporates weekends so the grid resource is on 7 days a week + LinkedList Weekends = new LinkedList(); + Weekends.add(new Integer(Calendar.SATURDAY)); + Weekends.add(new Integer(Calendar.SUNDAY)); + + // incorporates holidays. However, no holidays are set in this example + LinkedList Holidays = new LinkedList(); + GridResource gridRes = null; + try + { + // creates a GridResource with a link + gridRes = new GridResource(name, + new FlowLink(name + "_link", baud_rate, delay, MTU), + seed, resConfig, peakLoad, offPeakLoad, holidayLoad, + Weekends, Holidays); + } + catch (Exception e) { + e.printStackTrace(); + } + + System.out.println("Finally, creates one Grid resource (name: " + name + + " - id: " + gridRes.get_id() + ")"); + System.out.println(); + + return gridRes; + } + + /** + * Prints the Gridlet objects + */ + private static void printGridletList(GridletList list, String name, + boolean detail) + { + int size = list.size(); + Gridlet gridlet = null; + + String indent = " "; + System.out.println(); + System.out.println("============= OUTPUT for " + name + " =========="); + System.out.println("Gridlet ID" + indent + "STATUS" + indent + + "Resource ID" + indent + "Cost"); + + // a loop to print the overall result + int i = 0; + for (i = 0; i < size; i++) + { + gridlet = (Gridlet) list.get(i); + System.out.print(indent + gridlet.getGridletID() + indent + + indent); + + System.out.print( gridlet.getGridletStatusString() ); + + System.out.println( indent + indent + gridlet.getResourceID() + + indent + indent + gridlet.getProcessingCost() ); + } + + if (detail == true) + { + // a loop to print each Gridlet's history + for (i = 0; i < size; i++) + { + gridlet = (Gridlet) list.get(i); + System.out.println( gridlet.getGridletHistory() ); + + System.out.print("Gridlet #" + gridlet.getGridletID() ); + System.out.println(", length = " + gridlet.getGridletLength() + + ", finished so far = " + + gridlet.getGridletFinishedSoFar() ); + System.out.println("======================================\n"); + } + } + } + +} // end class + Added: branches/gridsim4.0-branch2/examples/FlowNetEx02/FlowNetUser.java =================================================================== --- branches/gridsim4.0-branch2/examples/FlowNetEx02/FlowNetUser.java (rev 0) +++ branches/gridsim4.0-branch2/examples/FlowNetEx02/FlowNetUser.java 2008-03-13 05:10:26 UTC (rev 154) @@ -0,0 +1,222 @@ +package FlowNetEx02; +/* + * Author: Anthony Sulistio + * Date: November 2004 + * Description: A simple program to demonstrate of how to use GridSim + * network extension package. + * This example shows how to create user and resource + * entities connected via a network topology, using link + * and router. + * + */ + +import java.util.*; +import gridsim.*; +import gridsim.net.*; +import gridsim.net.flow.FlowLink; +import gridsim.util.SimReport; + + +/** + * This class basically creates Gridlets and submits them to a + * particular GridResources in a network topology. + */ +class FlowNetUser extends GridSim +{ + private int myId_; // my entity ID + private String name_; // my entity name + private GridletList list_; // list of submitted Gridlets + private GridletList receiveList_; // list of received Gridlets + private SimReport report_; // logs every events + + + /** + * Creates a new NetUser object + * @param name this entity name + * @param totalGridlet total number of Gridlets to be created + * @param baud_rate bandwidth of this entity + * @param delay propagation delay + * @param MTU Maximum Transmission Unit + * @param trace_flag logs every event or not + * @throws Exception This happens when name is null or haven't + * initialized GridSim. + */ + FlowNetUser(String name, int totalGridlet, double baud_rate, double delay, + int MTU, boolean trace_flag) throws Exception + { + //super( name, new FlowLink(name+"_link",baud_rate,delay, MTU) ); + super(name, new FlowLink(name+"_link",baud_rate,delay,Integer.MAX_VALUE)); + + + this.name_ = name; + this.receiveList_ = new GridletList(); + this.list_ = new GridletList(); + + // creates a report file + if (trace_flag == true) { + report_ = new SimReport(name); + } + + // Gets an ID for this entity + this.myId_ = super.getEntityId(name); + write("Creating a grid user entity with name = " + + name + ", and id = " + this.myId_); + + // Creates a list of Gridlets or Tasks for this grid user + write(name + ":Creating " + totalGridlet +" Gridlets"); + this.createGridlet(myId_, totalGridlet); + } + + /** + * The core method that handles communications among GridSim entities. + */ + public void body() + { + // wait for a little while for about 3 seconds. + // This to give a time for GridResource entities to register their + // services to GIS (GridInformationService) entity. + super.gridSimHold(3.0); + LinkedList resList = super.getGridResourceList(); + + // initialises all the containers + int totalResource = resList.size(); + int resourceID[] = new int[totalResource]; + String resourceName[] = new String[totalResource]; + + // a loop to get all the resources available + int i = 0; + for (i = 0; i < totalResource; i++) + { + // Resource list contains list of resource IDs + resourceID[i] = ( (Integer) resList.get(i) ).intValue(); + + // get their names as well + resourceName[i] = GridSim.getEntityName( resourceID[i] ); + } + + //////////////////////////////////////////////// + // SUBMIT Gridlets + + // determines which GridResource to send to + int index = myId_ % totalResource; + if (index >= totalResource) { + index = 0; + } + + // sends all the Gridlets + Gridlet gl = null; + boolean success; + for (i = 0; i < list_.size(); i++) + { + gl = (Gridlet) list_.get(i); + write(name_ + "Sending Gridlet #" + i + " to " + resourceName[index]); + + // For even number of Gridlets, send without an acknowledgement + // whether a resource has received them or not. + if (i % 2 == 0) + { + // by default - send without an ack + success = super.gridletSubmit(gl, resourceID[index]); + } + + // For odd number of Gridlets, send with an acknowledgement + else + { + // this is a blocking call + success = super.gridletSubmit(gl,resourceID[index],0.0,true); + write("ack = " + success + " for Gridlet #" + i); + } + } + + //////////////////////////////////////////////////////// + // RECEIVES Gridlets back + + // hold for few period - few seconds since the Gridlets length are + // quite huge for a small bandwidth + super.gridSimHold(5); + + // receives the gridlet back + for (i = 0; i < list_.size(); i++) + { + gl = (Gridlet) super.receiveEventObject(); // gets the Gridlet + receiveList_.add(gl); // add into the received list + + write(name_ + ": Receiving Gridlet #" + + gl.getGridletID() + " at time = " + GridSim.clock() ); + } + + //////////////////////////////////////////////////////// + // ping functionality + InfoPacket pkt = null; + int size = 500; + + // There are 2 ways to ping an entity: + // a. non-blocking call, i.e. + //super.ping(resourceID[index], size); // (i) ping + //super.gridSimHold(10); // (ii) do something else + //pkt = super.getPingResult(); // (iii) get the result back + + // b. blocking call, i.e. ping and wait for a result + pkt = super.pingBlockingCall(resourceID[index], size); + + // print the result + write("\n-------- " + name_ + " ----------------"); + write(pkt.toString()); + write("-------- " + name_ + " ----------------\n"); + + //////////////////////////////////////////////////////// + // shut down I/O ports + shutdownUserEntity(); + terminateIOEntities(); + + // don't forget to close the file + if (report_ != null) { + report_.finalWrite(); + } + + write(this.name_ + ": sending and receiving of Gridlets" + + " complete at " + GridSim.clock() ); + } + + /** + * Gets a list of received Gridlets + * @return a list of received/completed Gridlets + */ + public GridletList getGridletList() { + return receiveList_; + } + + /** + * This method will show you how to create Gridlets + * @param userID owner ID of a Gridlet + * @param numGridlet number of Gridlet to be created + */ + private void createGridlet(int userID, int numGridlet) + { + int data = 5000; + for (int i = 0; i < numGridlet; i++) + { + // Creates a Gridlet + Gridlet gl = new Gridlet(i, data, data, data); + gl.setUserID(userID); + + // add this gridlet into a list + this.list_.add(gl); + } + } + + /** + * Prints out the given message into stdout. + * In addition, writes it into a file. + * @param msg a message + */ + private void write(String msg) + { + System.out.println(msg); + if (report_ != null) { + report_.write(msg); + } + } + +} // end class + Added: branches/gridsim4.0-branch2/examples/FlowNetEx02/NetEx03.class =================================================================== (Binary files differ) Property changes on: branches/gridsim4.0-branch2/examples/FlowNetEx02/NetEx03.class ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/gridsim4.0-branch2/examples/FlowNetEx02/NetUser.class =================================================================== (Binary files differ) Property changes on: branches/gridsim4.0-branch2/examples/FlowNetEx02/NetUser.class ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/gridsim4.0-branch2/examples/FlowNetEx02/README.txt =================================================================== --- branches/gridsim4.0-branch2/examples/FlowNetEx02/README.txt (rev 0) +++ branches/gridsim4.0-branch2/examples/FlowNetEx02/README.txt 2008-03-13 05:10:26 UTC (rev 154) @@ -0,0 +1,53 @@ + +/** + * Author: James Broberg (adapted from NetEx03) + * Date: March 2008 + */ + + +Welcome to the Example of how to use GridSim network extension. +To compile the example source code: + In Unix/Linux: javac -classpath $GRIDSIM/jars/gridsim.jar:. FlowNetEx02.java + In Windows: javac -classpath %GRIDSIM%\jars\gridsim.jar;. FlowNetEx02.java + +where $GRIDSIM or %GRIDSIM% is the location of the gridsimtoolkit package. + + +To run the class file: + In Unix/Linux: java -classpath $GRIDSIM/jars/gridsim.jar:. FlowNetEx02 > file.txt + In Windows: java -classpath %GRIDSIM%\jars\gridsim.jar;. FlowNetEx02 > file.txt + + +The above command means run the program and output the results into a file +named "file.txt" rather than into screen or standard output. +To prevent from overwriting an existing file, I renamed "file.txt" into +"output.txt" +NOTE: When you open "output.txt" file, it tells you that grid user entities + sending Gridlets to a selected grid resource. + + +When running the example file, it will produce the following files: + + tracefile -> created by SimJava 1.2, now being replaced by sim_trace. + NOTE: GridSim 2.1 uses SimJava 1.2 + GridSim 2.2 onwards use SimJava2 + + sim_trace -> created by the SimJava2 package (lower-level) to trace every + events (performed by SimJava and GridSim) during the simulation. + We don't need to worry about this file. Not to important for our + example. + + sim_report -> created by the SimJava2 package (lower-level) of GridSim. + This is a simulation report that contains general information about + running this experiment. We don't need to worry about this file. + Not to important for our example. + + *.csv -> created by NetUser.java and gridsim.net.RIPRouter.java + to record every incoming activities. + The format of this file is: + simulation_time, ... + + where ... means other descriptive information. + +NOTE: sim_trace, sim_report and all *.csv files will be overwritten if running + a new experiment. Added: branches/gridsim4.0-branch2/examples/FlowNetEx02/User_0.csv =================================================================== --- branches/gridsim4.0-branch2/examples/FlowNetEx02/User_0.csv (rev 0) +++ branches/gridsim4.0-branch2/examples/FlowNetEx02/User_0.csv 2008-03-13 05:10:26 UTC (rev 154) @@ -0,0 +1,32 @@ +0.0, Creating a grid user entity with name = User_0, and id = 10 +0.0, User_0:Creating 5 Gridlets +3.0, User_0Sending Gridlet #0 to Res_0 +3.0, User_0Sending Gridlet #1 to Res_0 +205.59299946949602, ack = true for Gridlet #1 +205.59299946949602, User_0Sending Gridlet #2 to Res_0 +205.59299946949602, User_0Sending Gridlet #3 to Res_0 +786.6569994694959, ack = true for Gridlet #3 +786.6569994694959, User_0Sending Gridlet #4 to Res_0 +791.6569994694959, User_0: Receiving Gridlet #0 at time = 791.6569994694959 +791.6569994694959, User_0: Receiving Gridlet #1 at time = 791.6569994694959 +791.6569994694959, User_0: Receiving Gridlet #2 at time = 791.6569994694959 +875.8505994694959, User_0: Receiving Gridlet #3 at time = 875.8505994694959 +2487.722599469497, User_0: Receiving Gridlet #4 at time = 2487.722599469497 +6280.660000000001, +-------- User_0 ---------------- +6280.660000000001, Ping information for User_0 +Entity Name Entry Time Exit Time Bandwidth +---------------------------------------------------------- +User_0 2487.7226 3995.000 1000.000 +router1 3995.010 3997.410 10000.000 +router2 3997.420 6272.220 1000.000 +Res_0 6272.230 6276.230 1000.000 +router2 6276.240 6276.640 10000.000 +router1 6276.650 6280.650 1000.000 +User_0 6280.660 N/A N/A + +Round Trip Time : 2285.660 seconds +Number of Hops : 3 +Bottleneck Bandwidth : 1000.0 bits/s +6280.660000000001, -------- User_0 ---------------- + Added: branches/gridsim4.0-branch2/examples/FlowNetEx02/User_1.csv =================================================================== --- branches/gridsim4.0-branch2/examples/FlowNetEx02/User_1.csv (rev 0) +++ branches/gridsim4.0-branch2/examples/FlowNetEx02/User_1.csv 2008-03-13 05:10:26 UTC (rev 154) @@ -0,0 +1,32 @@ +0.0, Creating a grid user entity with name = User_1, and id = 14 +0.0, User_1:Creating 5 Gridlets +3.0, User_1Sending Gridlet #0 to Res_0 +3.0, User_1Sending Gridlet #1 to Res_0 +219.01999999999998, ack = true for Gridlet #1 +219.01999999999998, User_1Sending Gridlet #2 to Res_0 +219.01999999999998, User_1Sending Gridlet #3 to Res_0 +835.722599469496, ack = true for Gridlet #3 +835.722599469496, User_1Sending Gridlet #4 to Res_0 +840.722599469496, User_1: Receiving Gridlet #0 at time = 840.722599469496 +840.722599469496, User_1: Receiving Gridlet #1 at time = 840.722599469496 +840.722599469496, User_1: Receiving Gridlet #2 at time = 840.722599469496 +883.786599469496, User_1: Receiving Gridlet #3 at time = 883.786599469496 +2543.0200000000004, User_1: Receiving Gridlet #4 at time = 2543.0200000000004 +6680.660000000001, +-------- User_1 ---------------- +6680.660000000001, Ping information for User_1 +Entity Name Entry Time Exit Time Bandwidth +---------------------------------------------------------- +User_1 2543.020 4283.000 1000.000 +router1 4283.010 4283.410 10000.000 +router2 4283.420 6672.220 1000.000 +Res_0 6672.230 6676.230 1000.000 +router2 6676.240 6676.640 10000.000 +router1 6676.650 6680.650 1000.000 +User_1 6680.660 N/A N/A + +Round Trip Time : 2397.660 seconds +Number of Hops : 3 +Bottleneck Bandwidth : 1000.0 bits/s +6680.660000000001, -------- User_1 ---------------- + Added: branches/gridsim4.0-branch2/examples/FlowNetEx02/output.txt =================================================================== --- branches/gridsim4.0-branch2/examples/FlowNetEx02/output.txt (rev 0) +++ branches/gridsim4.0-branch2/examples/FlowNetEx02/output.txt 2008-03-13 05:10:26 UTC (rev 154) @@ -0,0 +1,116 @@ +Starting network example ... +Initializing GridSim package +Initialising... + +Starting to create one Grid resource with 3 Machines +Finally, creates one Grid resource (name: Res_0 - id: 5) + +Creating a grid user entity with name = User_0, and id = 10 +User_0:Creating 5 Gridlets +Creating a grid user entity with name = User_1, and id = 14 +User_1:Creating 5 Gridlets +Output_User_0.setBackgroundTraffic(): Warning - can not send junk packets to itself. +Starting GridSim version 3.1 +Entities started. +Output_User_1: background traffic will start at time 14 +Output_User_0: background traffic will start at time 18 +User_1Sending Gridlet #0 to Res_0 +User_0Sending Gridlet #0 to Res_0 +User_1Sending Gridlet #1 to Res_0 +User_0Sending Gridlet #1 to Res_0 +ack = true for Gridlet #1 +User_0Sending Gridlet #2 to Res_0 +User_0Sending Gridlet #3 to Res_0 +ack = true for Gridlet #1 +User_1Sending Gridlet #2 to Res_0 +User_1Sending Gridlet #3 to Res_0 +ack = true for Gridlet #3 +User_0Sending Gridlet #4 to Res_0 +User_0: Receiving Gridlet #0 at time = 821.3943999999999 +User_0: Receiving Gridlet #1 at time = 821.3943999999999 +User_0: Receiving Gridlet #2 at time = 821.3943999999999 +User_0: Receiving Gridlet #3 at time = 891.722599469496 +ack = true for Gridlet #3 +User_1Sending Gridlet #4 to Res_0 +User_1: Receiving Gridlet #0 at time = 1000.02 +User_1: Receiving Gridlet #1 at time = 1000.02 +User_1: Receiving Gridlet #2 at time = 1000.02 +User_1: Receiving Gridlet #3 at time = 1067.084 +User_0: Receiving Gridlet #4 at time = 2367.722599469497 +User_1: Receiving Gridlet #4 at time = 2735.0200000000004 + +-------- User_0 ---------------- +Ping information for User_0 +Entity Name Entry Time Exit Time Bandwidth +---------------------------------------------------------- +User_0 2367.7226 3875.000 1000.000 +router1 3875.010 3877.410 10000.000 +router2 3877.420 5720.220 1000.000 +Res_0 5720.230 5724.230 1000.000 +router2 5724.240 5724.640 10000.000 +router1 5724.650 5728.650 1000.000 +User_0 5728.660 N/A N/A + +Round Trip Time : 1853.660 seconds +Number of Hops : 3 +Bottleneck Bandwidth : 1000.0 bits/s +-------- User_0 ---------------- + +User_0: sending and receiving of Gridlets complete at 5728.660000000001 + +-------- User_1 ---------------- +Ping information for User_1 +Entity Name Entry Time Exit Time Bandwidth +---------------------------------------------------------- +User_1 2735.020 4607.000 1000.000 +router1 4607.010 4607.410 10000.000 +router2 4607.420 6852.220 1000.000 +Res_0 6852.230 6856.230 1000.000 +router2 6856.240 6856.640 10000.000 +router1 6856.650 6860.650 1000.000 +User_1 6860.660 N/A N/A + +Round Trip Time : 2253.660 seconds +Number of Hops : 3 +Bottleneck Bandwidth : 1000.0 bits/s +-------- User_1 ---------------- + +User_1: sending and receiving of Gridlets complete at 6860.660000000001 +GridInformationService: Notify all GridSim entities for shutting down +Sim_system: No more future events +Gathering simulation data. +Simulation completed. + +--- Routing Table for router1 --- +router2 r1_r2_link +User_1 User_1_link +User_0 User_0_link +Res_0 router2 +------------------------------------- + + +--- Routing Table for router2 --- +Res_0 Res_0_link +router1 r1_r2_link +User_0 router1 +User_1 router1 +------------------------------------- + + +============= OUTPUT for User_0 ========== +Gridlet ID STATUS Resource ID Cost + 0 Success 5 39.78779840848807 + 1 Success 5 39.78779840848807 + 2 Success 5 42.7877984084879 + 3 Success 5 42.7877984084879 + 4 Success 5 42.78779840848756 + +============= OUTPUT for User_1 ========== +Gridlet ID STATUS Resource ID Cost + 0 Success 5 39.78779840848807 + 1 Success 5 39.78779840848807 + 2 Success 5 42.7877984084879 + 3 Success 5 42.7877984084879 + 4 Success 5 42.78779840848756 + +Finish network example ... Added: branches/gridsim4.0-branch2/examples/FlowNetEx02/router1_report.csv =================================================================== --- branches/gridsim4.0-branch2/examples/FlowNetEx02/router1_report.csv (rev 0) +++ branches/gridsim4.0-branch2/examples/FlowNetEx02/router1_report.csv 2008-03-13 05:10:26 UTC (rev 154) @@ -0,0 +1,5792 @@ +0.0, attach this ROUTER, to entity, User_0, with packet scheduler, NetUserSched_0 +0.0, attach this ROUTER, to entity, User_1, with packet scheduler, NetUserSched_1 +0.0, attach this ROUTER, with router, router2, with link, r1_r2_link, with packet scheduler, r1_Sched +0.0, register this entity to GridInformationService entity. +0.0, advertise to router, router2 +5.0, receive router ad from, router2 +15.01, +15.01, receive incoming, Packet #1, out of, 4, with id, 0, from, Output_User_0, to, Res_0, tag, 21, delay, 1.2 +15.01, break this packet into, 1 +15.01, enqueing, Packet #1, out of, 4, with id, 0, from, Output_User_0, to, Res_0, tag, 21 +15.01, +15.01, receive incoming, Packet #1, out of, 4, with id, 0, from, Output_User_1, to, Res_0, tag, 21, delay, 0.0 +15.01, break this packet into, 1 +15.01, enqueing, Packet #1, out of, 4, with id, 0, from, Output_User_1, to, Res_0, tag, 21 +16.21, dequeuing, Packet #1, out of, 4, with id, 0, from, Output_User_0, to, Res_0, tag, 21 +17.41, dequeuing, Packet #1, out of, 4, with id, 0, from, Output_User_1, to, Res_0, tag, 21 +27.01, +27.01, receive incoming, Packet #2, out of, 4, with id, 1, from, Output_User_0, to, Res_0, tag, 21, delay, 1.2 +27.01, break this packet into, 1 +27.01, enqueing, Packet #2, out of, 4, with id, 1, from, Output_User_0, to, Res_0, tag, 21 +27.01, +27.01, receive incoming, Packet #2, out of, 4, with id, 1, from, Output_User_1, to, Res_0, tag, 21, delay, 0.0 +27.01, break this packet into, 1 +27.01, enqueing, Packet #2, out of, 4, with id, 1, from, Output_User_1, to, Res_0, tag, 21 +28.21, dequeuing, Packet #2, out of, 4, with id, 1, from, Output_User_0, to, Res_0, tag, 21 +29.41, dequeuing, Packet #2, out of, 4, with id, 1, from, Output_User_1, to, Res_0, tag, 21 +39.01, +39.01, receive incoming, Packet #3, out of, 4, with id, 2, from, Output_User_0, to, Res_0, tag, 21, delay, 1.2 +39.01, break this packet into, 1 +39.01, enqueing, Packet #3, out of, 4, with id, 2, from, Output_User_0, to, Res_0, tag, 21 +39.01, +39.01, receive incoming, Packet #3, out of, 4, with id, 2, from, Output_User_1, to, Res_0, tag, 21, delay, 0.0 +39.01, break this packet into, 1 +39.01, enqueing, Packet #3, out of, 4, with id, 2, from, Output_User_1, to, Res_0, tag, 21 +40.21, dequeuing, Packet #3, out of, 4, with id, 2, from, Output_User_0, to, Res_0, tag, 21 +41.410000000000004, dequeuing, Packet #3, out of, 4, with id, 2, from, Output_User_1, to, Res_0, tag, 21 +51.01, +51.01, receive incoming, Packet #4, out of, 4, with id, 3, from, Output_User_0, to, Res_0, tag, 21, delay, 0.4 +51.01, break this packet into, 1 +51.01, enqueing, Packet #4, out of, 4, with id, 3, from, Output_User_0, to, Res_0, tag, 21 +51.01, +51.01, receive incoming, Packet #4, out of, 4, with id, 3, from, Output_User_1, to, Res_0, tag, 21, delay, 0.0 +51.01, break this packet into, 1 +51.01, enqueing, Packet #4, out of, 4, with id, 3, from, Output_User_1, to, Res_0, tag, 21 +51.41, dequeuing, Packet #4, out of, 4, with id, 3, from, Output_User_0, to, Res_0, tag, 21 +51.809999999999995, dequeuing, Packet #4, out of, 4, with id, 3, from, Output_User_1, to, Res_0, tag, 21 +55.01, +55.01, receive incoming, Packet #1, out of, 4, with id, 4, from, Output_User_1, to, Res_0, tag, 22, delay, 1.2 +55.01, break this packet into, 1 +55.01, enqueing, Packet #1, out of, 4, with id, 4, from, Output_User_1, to, Res_0, tag, 22 +55.01, +55.01, receive incoming, Packet #1, out of, 4, with id, 4, from, Output_User_0, to, Res_0, tag, 22, delay, 0.0 +55.01, break this packet into, 1 +55.01, enqueing, Packet #1, out of, 4, with id, 4, from, Output_User_0, to, Res_0, tag, 22 +56.21, dequeuing, Packet #1, out of, 4, with id, 4, from, Output_User_1, to, Res_0, tag, 22 +57.410000000000004, dequeuing, Packet #1, out of, 4, with id, 4, from, Output_User_0, to, Res_0, tag, 22 +67.01, +67.01, receive incoming, Packet #2, out of, 4, with id, 5, from, Output_User_0, to, Res_0, tag, 22, delay, 1.2 +67.01, break this packet into, 1 +67.01, enqueing, Packet #2, out of, 4, with id, 5, from, Output_User_0, to, Res_0, tag, 22 +67.01, +67.01, receive incoming, Packet #2, out of, 4, with id, 5, from, Output_User_1, to, Res_0, tag, 22, delay, 0.0 +67.01, break this packet into, 1 +67.01, enqueing, Packet #2, out of, 4, with id, 5, from, Output_User_1, to, Res_0, tag, 22 +68.21000000000001, dequeuing, Packet #2, out of, 4, with id, 5, from, Output_User_0, to, Res_0, tag, 22 +69.41000000000001, dequeuing, Packet #2, out of, 4, with id, 5, from, Output_User_1, to, Res_0, tag, 22 +79.01, +79.01, receive incoming, Packet #3, out of, 4, with id, 6, from, Output_User_1, to, Res_0, tag, 22, delay, 1.2 +79.01, break this packet into, 1 +79.01, enqueing, Packet #3, out of, 4, with id, 6, from, Output_User_1, to, Res_0, tag, 22 +79.01, +79.01, receive incoming, Packet #3, out of, 4, with id, 6, from, Output_User_0, to, Res_0, tag, 22, delay, 0.0 +79.01, break this packet into, 1 +79.01, enqueing, Packet #3, out of, 4, with id, 6, from, Output_User_0, to, Res_0, tag, 22 +80.21000000000001, dequeuing, Packet #3, out of, 4, with id, 6, from, Output_User_1, to, Res_0, tag, 22 +81.41000000000001, dequeuing, Packet #3, out of, 4, with id, 6, from, Output_User_0, to, Res_0, tag, 22 +91.01, +91.01, receive incoming, Packet #4, out of, 4, with id, 7, from, Output_User_0, to, Res_0, tag, 22, delay, 0.4 +91.01, break this packet into, 1 +91.01, enqueing, Packet #4, out of, 4, with id, 7, from, Output_User_0, to, Res_0, tag, 22 +91.01, +91.01, receive incoming, Packet #4, out of, 4, with id, 7, from, Output_User_1, to, Res_0, tag, 22, delay, 0.0 +91.01, break this packet into, 1 +91.01, enqueing, Packet #4, out of, 4, with id, 7, from, Output_User_1, to, Res_0, tag, 22 +91.41000000000001, dequeuing, Packet #4, out of, 4, with id, 7, from, Output_User_0, to, Res_0, tag, 22 +91.81000000000002, dequeuing, Packet #4, out of, 4, with id, 7, from, Output_User_1, to, Res_0, tag, 22 +95.01, +95.01, receive incoming, Packet #1, out of, 2, with id, 8, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +95.01, break this packet into, 1 +95.01, enqueing, Packet #1, out of, 2, with id, 8, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +95.01, +95.01, receive incoming, Packet #1, out of, 2, with id, 8, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 0.0 +95.01, break this packet into, 1 +95.01, enqueing, Packet #1, out of, 2, with id, 8, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +96.21000000000001, dequeuing, Packet #1, out of, 2, with id, 8, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +97.41000000000001, dequeuing, Packet #1, out of, 2, with id, 8, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +107.01, +107.01, receive incoming, Packet #1, out of, 2, with id, 9, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +107.01, break this packet into, 1 +107.01, enqueing, Packet #1, out of, 2, with id, 9, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +107.01, +107.01, receive incoming, Packet #1, out of, 2, with id, 9, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 0.0 +107.01, break this packet into, 1 +107.01, enqueing, Packet #1, out of, 2, with id, 9, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +108.21000000000001, dequeuing, Packet #1, out of, 2, with id, 9, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +109.41000000000001, dequeuing, Packet #1, out of, 2, with id, 9, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +119.01, +119.01, receive incoming, Packet #1, out of, 2, with id, 10, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +119.01, break this packet into, 1 +119.01, enqueing, Packet #1, out of, 2, with id, 10, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +119.01, +119.01, receive incoming, Packet #1, out of, 2, with id, 10, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 0.0 +119.01, break this packet into, 1 +119.01, enqueing, Packet #1, out of, 2, with id, 10, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +120.21000000000001, dequeuing, Packet #1, out of, 2, with id, 10, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +121.41000000000001, dequeuing, Packet #1, out of, 2, with id, 10, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +126.71259946949604, +126.71259946949604, receive incoming, Packet #1, out of, 4, with id, 0, from, Output_Res_0, to, User_0, tag, 20, delay, 12.0 +126.71259946949604, break this packet into, 1 +126.71259946949604, enqueing, Packet #1, out of, 4, with id, 0, from, Output_Res_0, to, User_0, tag, 20 +131.01, +131.01, receive incoming, Packet #1, out of, 2, with id, 11, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT, delay, 12.0 +131.01, break this packet into, 1 +131.01, enqueing, Packet #1, out of, 2, with id, 11, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +131.01, +131.01, receive incoming, Packet #1, out of, 2, with id, 11, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +131.01, break this packet into, 1 +131.01, enqueing, Packet #1, out of, 2, with id, 11, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +132.20999999999998, dequeuing, Packet #1, out of, 2, with id, 11, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +138.712599469496, +138.712599469496, receive incoming, Packet #2, out of, 4, with id, 1, from, Output_Res_0, to, User_0, tag, 20, delay, 0.0 +138.712599469496, break this packet into, 1 +138.712599469496, enqueing, Packet #2, out of, 4, with id, 1, from, Output_Res_0, to, User_0, tag, 20 +138.71259946949604, dequeuing, Packet #1, out of, 4, with id, 0, from, Output_Res_0, to, User_0, tag, 20 +143.01, dequeuing, Packet #1, out of, 2, with id, 11, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +143.01, +143.01, receive incoming, Packet #1, out of, 2, with id, 12, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT, delay, 12.0 +143.01, break this packet into, 1 +143.01, enqueing, Packet #1, out of, 2, with id, 12, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +143.01, +143.01, receive incoming, Packet #1, out of, 2, with id, 12, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +143.01, break this packet into, 1 +143.01, enqueing, Packet #1, out of, 2, with id, 12, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +144.20999999999998, dequeuing, Packet #1, out of, 2, with id, 12, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +150.712599469496, +150.712599469496, receive incoming, Packet #3, out of, 4, with id, 2, from, Output_Res_0, to, User_0, tag, 20, delay, 0.0 +150.712599469496, break this packet into, 1 +150.712599469496, enqueing, Packet #3, out of, 4, with id, 2, from, Output_Res_0, to, User_0, tag, 20 +150.71259946949604, dequeuing, Packet #2, out of, 4, with id, 1, from, Output_Res_0, to, User_0, tag, 20 +155.01, dequeuing, Packet #1, out of, 2, with id, 12, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +155.01, +155.01, receive incoming, Packet #1, out of, 2, with id, 13, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT, delay, 12.0 +155.01, break this packet into, 1 +155.01, enqueing, Packet #1, out of, 2, with id, 13, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +155.01, +155.01, receive incoming, Packet #1, out of, 2, with id, 13, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +155.01, break this packet into, 1 +155.01, enqueing, Packet #1, out of, 2, with id, 13, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +156.20999999999998, dequeuing, Packet #1, out of, 2, with id, 13, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +161.91259946949603, +161.91259946949603, receive incoming, Packet #4, out of, 4, with id, 3, from, Output_Res_0, to, User_0, tag, 20, delay, 0.0 +161.91259946949603, break this packet into, 1 +161.91259946949603, enqueing, Packet #4, out of, 4, with id, 3, from, Output_Res_0, to, User_0, tag, 20 +162.71259946949604, dequeuing, Packet #3, out of, 4, with id, 2, from, Output_Res_0, to, User_0, tag, 20 +166.712599469496, +166.712599469496, receive incoming, Packet #1, out of, 4, with id, 4, from, Output_Res_0, to, User_1, tag, 20, delay, 0.0 +166.712599469496, break this packet into, 1 +166.712599469496, enqueing, Packet #1, out of, 4, with id, 4, from, Output_Res_0, to, User_1, tag, 20 +167.01, dequeuing, Packet #1, out of, 2, with id, 13, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +167.01, +167.01, receive incoming, Packet #1, out of, 2, with id, 14, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +167.01, break this packet into, 1 +167.01, enqueing, Packet #1, out of, 2, with id, 14, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +167.01, +167.01, receive incoming, Packet #1, out of, 2, with id, 14, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 0.0 +167.01, break this packet into, 1 +167.01, enqueing, Packet #1, out of, 2, with id, 14, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +168.20999999999998, dequeuing, Packet #1, out of, 2, with id, 14, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +169.40999999999997, dequeuing, Packet #1, out of, 2, with id, 14, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +174.71259946949604, dequeuing, Packet #4, out of, 4, with id, 3, from, Output_Res_0, to, User_0, tag, 20 +178.712599469496, +178.712599469496, receive incoming, Packet #2, out of, 4, with id, 5, from, Output_Res_0, to, User_1, tag, 20, delay, 0.0 +178.712599469496, break this packet into, 1 +178.712599469496, enqueing, Packet #2, out of, 4, with id, 5, from, Output_Res_0, to, User_1, tag, 20 +179.01, dequeuing, Packet #1, out of, 4, with id, 4, from, Output_Res_0, to, User_1, tag, 20 +179.01, +179.01, receive incoming, Packet #1, out of, 2, with id, 15, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +179.01, break this packet into, 1 +179.01, enqueing, Packet #1, out of, 2, with id, 15, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +179.01, +179.01, receive incoming, Packet #1, out of, 2, with id, 15, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 0.0 +179.01, break this packet into, 1 +179.01, enqueing, Packet #1, out of, 2, with id, 15, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +180.20999999999998, dequeuing, Packet #1, out of, 2, with id, 15, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +181.40999999999997, dequeuing, Packet #1, out of, 2, with id, 15, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +190.712599469496, +190.712599469496, receive incoming, Packet #3, out of, 4, with id, 6, from, Output_Res_0, to, User_1, tag, 20, delay, 0.0 +190.712599469496, break this packet into, 1 +190.712599469496, enqueing, Packet #3, out of, 4, with id, 6, from, Output_Res_0, to, User_1, tag, 20 +191.01, dequeuing, Packet #2, out of, 4, with id, 5, from, Output_Res_0, to, User_1, tag, 20 +191.01, +191.01, receive incoming, Packet #1, out of, 2, with id, 16, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +191.01, break this packet into, 1 +191.01, enqueing, Packet #1, out of, 2, with id, 16, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +191.01, +191.01, receive incoming, Packet #1, out of, 2, with id, 16, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 0.0 +191.01, break this packet into, 1 +191.01, enqueing, Packet #1, out of, 2, with id, 16, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +192.20999999999998, dequeuing, Packet #1, out of, 2, with id, 16, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +193.40999999999997, dequeuing, Packet #1, out of, 2, with id, 16, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +201.91259946949603, +201.91259946949603, receive incoming, Packet #4, out of, 4, with id, 7, from, Output_Res_0, to, User_1, tag, 20, delay, 0.0 +201.91259946949603, break this packet into, 1 +201.91259946949603, enqueing, Packet #4, out of, 4, with id, 7, from, Output_Res_0, to, User_1, tag, 20 +203.01, dequeuing, Packet #3, out of, 4, with id, 6, from, Output_Res_0, to, User_1, tag, 20 +203.01, +203.01, receive incoming, Packet #1, out of, 2, with id, 17, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +203.01, break this packet into, 1 +203.01, enqueing, Packet #1, out of, 2, with id, 17, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +203.01, +203.01, receive incoming, Packet #1, out of, 2, with id, 17, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 0.0 +203.01, break this packet into, 1 +203.01, enqueing, Packet #1, out of, 2, with id, 17, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +204.20999999999998, dequeuing, Packet #1, out of, 2, with id, 17, from, Output_User_0, to, Res_0, tag, GridSimTags.JUNK_PKT +205.40999999999997, dequeuing, Packet #1, out of, 2, with id, 17, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +205.51899946949604, +205.51899946949604, receive incoming, Packet #1, out of, 1, with id, 8, from, Output_Res_0, to, User_0, tag, 23, delay, 0.064 +205.51899946949604, break this packet into, 1 +205.51899946949604, enqueing, Packet #1, out of, 1, with id, 8, from, Output_Res_0, to, User_0, tag, 23 +205.58299946949603, dequeuing, Packet #1, out of, 1, with id, 8, from, Output_Res_0, to, User_0, tag, 23 +205.58299946949603, +205.58299946949603, receive incoming, Packet #1, out of, 1, with id, 9, from, Output_Res_0, to, User_1, tag, 23, delay, 0.0 +205.58299946949603, break this packet into, 1 +205.58299946949603, enqueing, Packet #1, out of, 1, with id, 9, from, Output_Res_0, to, User_1, tag, 23 +206.840599469496, +206.840599469496, receive incoming, Packet #1, out of, 4, with id, 10, from, Output_Res_0, to, User_0, tag, 20, delay, 12.0 +206.840599469496, break this packet into, 1 +206.840599469496, enqueing, Packet #1, out of, 4, with id, 10, from, Output_Res_0, to, User_0, tag, 20 +215.01, dequeuing, Packet #4, out of, 4, with id, 7, from, Output_Res_0, to, User_1, tag, 20 +215.01, +215.01, receive incoming, Packet #1, out of, 2, with id, 18, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT, delay, 0.0 +215.01, break this packet into, 1 +215.01, enqueing, Packet #1, out of, 2, with id, 18, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +215.01, +215.01, receive incoming, Packet #1, out of, 2, with id, 18, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +215.01, break this packet into, 1 +215.01, enqueing, Packet #1, out of, 2, with id, 18, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +216.20999999999998, dequeuing, Packet #1, out of, 2, with id, 18, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +218.840599469496, dequeuing, Packet #1, out of, 4, with id, 10, from, Output_Res_0, to, User_0, tag, 20 +218.840599469496, +218.840599469496, receive incoming, Packet #2, out of, 4, with id, 11, from, Output_Res_0, to, User_0, tag, 20, delay, 12.0 +218.840599469496, break this packet into, 1 +218.840599469496, enqueing, Packet #2, out of, 4, with id, 11, from, Output_Res_0, to, User_0, tag, 20 +219.01, dequeuing, Packet #1, out of, 1, with id, 9, from, Output_Res_0, to, User_1, tag, 23 +219.07399999999998, dequeuing, Packet #1, out of, 2, with id, 18, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +227.01, +227.01, receive incoming, Packet #1, out of, 2, with id, 19, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +227.01, break this packet into, 1 +227.01, enqueing, Packet #1, out of, 2, with id, 19, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +227.01, +227.01, receive incoming, Packet #1, out of, 2, with id, 19, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT, delay, 12.0 +227.01, break this packet into, 1 +227.01, enqueing, Packet #1, out of, 2, with id, 19, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +228.20999999999998, dequeuing, Packet #1, out of, 2, with id, 19, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +230.840599469496, dequeuing, Packet #2, out of, 4, with id, 11, from, Output_Res_0, to, User_0, tag, 20 +230.840599469496, +230.840599469496, receive incoming, Packet #3, out of, 4, with id, 12, from, Output_Res_0, to, User_0, tag, 20, delay, 12.0 +230.840599469496, break this packet into, 1 +230.840599469496, enqueing, Packet #3, out of, 4, with id, 12, from, Output_Res_0, to, User_0, tag, 20 +239.01, dequeuing, Packet #1, out of, 2, with id, 19, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +239.01, +239.01, receive incoming, Packet #1, out of, 2, with id, 20, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +239.01, break this packet into, 1 +239.01, enqueing, Packet #1, out of, 2, with id, 20, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +239.01, +239.01, receive incoming, Packet #1, out of, 2, with id, 20, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT, delay, 12.0 +239.01, break this packet into, 1 +239.01, enqueing, Packet #1, out of, 2, with id, 20, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +240.20999999999998, dequeuing, Packet #1, out of, 2, with id, 20, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +242.04059946949602, +242.04059946949602, receive incoming, Packet #4, out of, 4, with id, 13, from, Output_Res_0, to, User_0, tag, 20, delay, 0.0 +242.04059946949602, break this packet into, 1 +242.04059946949602, enqueing, Packet #4, out of, 4, with id, 13, from, Output_Res_0, to, User_0, tag, 20 +242.840599469496, dequeuing, Packet #3, out of, 4, with id, 12, from, Output_Res_0, to, User_0, tag, 20 +246.840599469496, +246.840599469496, receive incoming, Packet #1, out of, 4, with id, 14, from, Output_Res_0, to, User_1, tag, 20, delay, 0.0 +246.840599469496, break this packet into, 1 +246.840599469496, enqueing, Packet #1, out of, 4, with id, 14, from, Output_Res_0, to, User_1, tag, 20 +251.01, dequeuing, Packet #1, out of, 2, with id, 20, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +251.01, +251.01, receive incoming, Packet #1, out of, 2, with id, 21, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT, delay, 1.2 +251.01, break this packet into, 1 +251.01, enqueing, Packet #1, out of, 2, with id, 21, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +251.01, +251.01, receive incoming, Packet #1, out of, 2, with id, 21, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT, delay, 0.0 +251.01, break this packet into, 1 +251.01, enqueing, Packet #1, out of, 2, with id, 21, from, Output_User_0, to, User_1, tag, GridSimTags.JUNK_PKT +252.20999999999998, dequeuing, Packet #1, out of, 2, with id, 21, from, Output_User_1, to, Res_0, tag, GridSimTags.JUNK_PKT +254.840599469496, dequeuing, Packet #4, out of, 4, with id, 13, from, Output_Res_0, to, User_0, tag, 20 +258.840599469496, +258.840599469496, receive incoming, Packet #2, out of, 4, with id, 15, from, Output_Res_0, to, User_1, tag, 20, delay, 0.0 +258.840599469496, break this packet into, 1 +258.840599469496, enqueing, Packet #2, out of, 4, with id, 15, from, Output_Res_0, to, User_1, tag, 20 +263.01, dequeuing, Packet ... [truncated message content] |