From: <mkr...@us...> - 2008-08-20 13:13:47
|
Revision: 228 http://gridsim.svn.sourceforge.net/gridsim/?rev=228&view=rev Author: mkrystek Date: 2008-08-20 13:13:52 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Added Paths: ----------- branches/gssim/faq.txt Removed Paths: ------------- branches/gssim/trunk/faq.txt Copied: branches/gssim/faq.txt (from rev 227, branches/gssim/trunk/faq.txt) =================================================================== --- branches/gssim/faq.txt (rev 0) +++ branches/gssim/faq.txt 2008-08-20 13:13:52 UTC (rev 228) @@ -0,0 +1,458 @@ +# Frequently Asked Questions (FAQ) +# Maintained by Anthony Sulistio +# $Id: faq.txt,v 1.7 2007/09/01 02:46:01 anthony Exp $ + +Please read this document, FAQ, examples, API, etc before contacting us. +Moreover, look at the previous questions at the below website: +http://sourceforge.net/mail/?group_id=94592 + +Send any queries and feedbacks to gridsim-users @ lists.sourceforge.net + +--------------------------------------------------------- +Q: Where can I find gridbroker, visual modeler, ... ? + +A: If you are looking for applications or programs built on top of GridSim, +such as gridbroker or Visual Modeler, they can be found below: +http://www.gridbus.org/gridsim/release.html + +--------------------------------------------------------- +Q: I want to run the gridsim simulation on my computer but i can't because + Jcreator don't see the gridsim package. Please send to me the steps of + how compile and run the simulation. + +A: Go to GridSim website and there is an instruction on how to use it with + JCreator. http://www.gridbus.org/gridsim/paper/jcreator.pdf + + If you use JBuilder or Eclipse, the instructions can be found below: + http://www.gridbus.org/gridsim/paper/jbuilder.pdf + http://www.gridbus.org/gridsim/paper/eclipse.pdf + +--------------------------------------------------------- +Q: I would like to do some experiments for my research work on grid computing + using the simulator package that you have. Using the simulator, + can I simulate a grid environment with service providers requestors, + administartors etc. on a PC environment? Please pass on some resources, + links, and white papers and links where from I should download. + +Q: please help me by sending GridSim Package, give instructions and + also technical help to complete my project successfully. + +A: The best way to learn GridSim is by downloading it from below: + http://www.gridbus.org/gridsim/ + + Go through the provided examples. + In the website, it contains links to papers about GridSim. + + As long as you have JDK version 1.4 onwards, you can run GridSim + on a PC. However, if you run a huge simulation, you'd probably needs + bigger RAM and CPU. + +--------------------------------------------------------- +Q: Will GridSim require Globus? + +A: Why don't you download the GridSim toolkit and have a try? + Also, please read the README file. + +--------------------------------------------------------- +Q: How do you compile and run GridSim application? + +A: For example, if you want to run Example1 + + In Unix/Linux: + * go to the directory of where Example1 resides, i.e. + at command prompt type: cd $GRIDSIM/examples/Example01 + * to compile type: javac -classpath $GRIDSIM/gridsim.jar:. Example1.java + * to run type: java -classpath gridsim.jar:. Example1 + + In Windows: + * go to the directory of where Example1 resides, i.e. + at command prompt type: cd %GRIDSIM%\examples\Example01 + * to compile type: javac -classpath %GRIDSIM%\gridsim.jar;. Example1.java + * to run type: java -classpath gridsim.jar;. Example1 + + + The main difference is the use of ":" for Unix/Linux, and ";" for Windows + NOTE: $GRIDSIM or %GRIDSIM% is the location of the GridSim Toolkit package. + Also, inside gridsim.jar contains SimJava v2.0 classes. Hence, + you do not need to install SimJava libraries. + +--------------------------------------------------------- +Q: When I run GridSim application, I have the following error message: + Exception in thread "main" java.lang.NoClassDefFoundError: Example1 + +A: You need the classpath to refer to the directory where Example1.java + located. For Example, to run in Windows: + java -classpath gridsim.jar;. Example1 + + where Example1 is the classname you want to execute + +--------------------------------------------------------- +Q: My GridSim application runs perfectly, however, after the end of simulation + it just hang without exiting properly. + +A: The problem may be caused by not closing GridSim entities, such as + GridStatistics, I/O ports, etc. Each class that extends GridSim with + a networked I/O ports must use terminate the I/O entities by using + terminateIOEntities() before exiting body() method. + + Another cause for this problem is the number of Grid user entities. + Before the start of a GridSim application, you need to intialize the GridSim + package using GridSim.init(). The method requires to have the number of + Grid user entities. If the number is different from the actual Grid user + entities, your GridSim application will hang or can't exit properly. + +--------------------------------------------------------- +Q: I am creating a network topology using GridSim. When I run the experiment, +I have the following exception message: + +java.lang.NullPointerException + at gridsim.net.RIPRouter.getScheduler(RIPRouter.java:451) + at gridsim.net.RIPRouter.getScheduler(RIPRouter.java:401) + at gridsim.net.RIPRouter.processNetPacket(RIPRouter.java:302) + at gridsim.net.RIPRouter.processEvent(RIPRouter.java:270) + at gridsim.net.Router.body(Router.java:267) + at eduni.simjava.Sim_entity.run(Sim_entity.java:603) + +A: Network exception message is generally caused by 2 things: +- If you created a new router or link entity, it hasn't been registered to +GridInformationService class; OR + +- GridSim needs few seconds for all network entities to be registered and +for the network entity to fill in its routing table dynamically. +Currently, GridSim uses a flooding approach for locating the neighbour +routers. Hence, these routers need time to receive all the replies. +I think this could be the main cause of the exception message. + +--------------------------------------------------------- +Q: When running GridSim Example 4, 5 and 6 I got an infinite loop + saying: "Waiting to get list of resources". + +A: In GridSim 2.1, GridSim.getGridResourceList() uses a message event + to tell GIS (GridInformationService) entity to send the GridResource + list. This causes a significant delay and a bit redundant. + + In GridSim 2.2, GridSim.getGridResourceList() directly uses a + method call to GIS entity rather than a message passing. + This makes the operation a lot faster. However, during the early stage + of simulation, a GridResource might be slow in registering its service + to GIS. Hence, the GridResource list is always empty and causing + an infinite loop. + + To solve this problem, inside the while() loop, put the following + code: + // need to pause for a while to wait GridResources finish + // registering to GIS + super.gridSimHold(1.0); // hold by 1 second + + So, you wait 1 second later to get GridResource list. + +--------------------------------------------------------- +Q: When I tried to run GridSim Example4, I have the following error message: + java.lang.IncompatibleClassChangeError + at Example4.body(Example4.java:70) + at eduni.simjava.Sim_entity.run(Sim_entity.java:603) + +A: I am not sure what is the exact problem. However, this is mainly + caused by older release of SimJava. GridSim Toolkit 2.2 and above now use + SimJava2. Simply recompile the Example4.java will solve this + problem. + + NOTE: This problem is also effected GridSim Example6. + +--------------------------------------------------------- +Q: When I tried to run GridSim Example1, I have the following error message: + Exception in thread "main" eduni.simjava.Sim_exception: + Sim_entity: Entity names can't contain spaces. + at eduni.simjava.Sim_entity.<init>(Sim_entity.java:154) + at gridsim.GridSim.<init>(GridSim.java:149) + at gridsim.GridResource.<init>(GridResource.java:93) + at Example1.createGridResource(Example1.java:188) + at Example1.main(Example1.java:57) + +A: GridSim Toolkit 2.2 and above now use SimJava2. SimJava2 is more strict about + a valid entity name compare to previous release. Hence, to fix this + problem is to remove the unnecessary empty space, i.e. + "GridResource 0" becomes "GridResource_0" + +--------------------------------------------------------- +Q: Are there any type of applications that I can simulate with GridSim? + +A: GridSim provides the grid simulation environment (with resources and + users), but you need to write codes specifically for the application you + want to simulate, e.g. a resource broker Nimrod/G is written to call + GridSim classes. + +--------------------------------------------------------- +Q: How do I create Gridlets with compute I/O requirements? + +A: Gridlets with compute I/O requirements are simulated through their file + sizes (input) and output sizez (output) parameters. + See Figure 16 of the GridSim paper. + +--------------------------------------------------------- +Q: I have a question on network simulation in Gridsim. + In my understanding, entities with networking capability must define + input and output port. Both ports are "connected" to a simulated network. + How does Gridsim models network link and its characteristics, especially + bandwidth, since I couldn't find class that models this network link? + Does Gridsim also simulate bandwidth-sharing if there are several IOdata + are sent using the same link? + +A: Not supported in the older versions. Currently GridSim uses very + simple network model. + + Since GridSim ver3.1, it has a realistic network model. However, + advanced network features are not supported. + +--------------------------------------------------------- +Q: Is GridSim tool kit provides any help in solving problems for dynamical + resource allocation upon failure? + +A: GridSim provides mechanism to reserve, but policy of reservation and + how to handle failures etc. is up to server's provider and consumers + to define. + +--------------------------------------------------------- +Q: How do you model the gridlet execution in time_shared resource? + +A: Just creating a Gridlet is sufficient. It runs on both time and space + shared machines. + +--------------------------------------------------------- +Q: Does each gridlet can only be processed by only one PE? + +A: For older GridSim versions, it runs one PE. + Since GridSim ver3.0, each Gridlet can ask to be run on multiple PEs. + However, it is up to the scheduler to handle this. + At the moment, by default, TimeShared and SpaceShared scheduler executes + an incoming Gridlet to only 1 PE. + +--------------------------------------------------------- +Q: Is the model for parallel job included inside the GridSim? + +A: It is up users to model parallel application job at the higher level + (develop on top of gridsim). + +--------------------------------------------------------- +Q: When I run GridSim, I have the following error message: + Sim_system:Error - past event detected! + Time: 0.0, event time: -XXXXX.X event type: 1 + Where XXXXX.X is a negative number that varies. + +A: It appears like this error comes up for one of the following scenarios: + - an entity or object waits for a specific event. However, the response + event type is different. + - some events are not captured. + - GridSim runs under multi-threaded environment. Hence, some events might + be accidentally deleted or being changed by other thread to wait for + a different response that doesn't exist, etc ... + +--------------------------------------------------------- +Q: Does GridSim currently support the usage of any wireless network standard +when specifying network topology? + +A: No. We have NOT done so much about wireless network support in GridSim. + But if you are willing, we could explore this with you. + +--------------------------------------------------------- +Q: Does GridSim support multiple simulations or runs in a single program? + +A: No. Currently, GridSim only allows a single experiment to run in a main() + method. Hence, to calculate a confidence interval, you need to do this + manually. + +--------------------------------------------------------- +Q: Does GridSim run in a cluster or a PC? + +A: GridSim runs in a PC as a stand-alone program with multiple threads. + This means if you want to run in a cluster, you just need to request 1 node. + +--------------------------------------------------------- +Q: I came across three variables: peak load, off-peak load and holiday load. + I understand from the study I have done that these variables represent + the load factor. I do not fully get what this means and was hoping that + you could help me out so I can progress further with my work. + +A: These load factors are influencing the total execution time + of a job in a given resource. + If you set these loads to zero, means this resource is idle / free. + If you want to write a resource scheduler, like SpaceShared or TimeShared + then these load factors are important. + +--------------------------------------------------------- +Q: for the Gridlet class, what are the units of file size, length, and output? + +A: the unit of file size and output is in byte. + For the Gridlet length, the unit is in MI (Millions Instructions). + A CPU clock is measured in MIPS (Millions Instructions Per Second) as + suggested by SPEC. + +--------------------------------------------------------- +Q: In the previous releases of GridSim you had to use +GridSim class to send messages to other entities. The provided "send" methods +included a parameter to indicate the sender of the request. It is no clear how +to indicate this with the "send" methods provided by the GridSimCore class. The +lack of ID information in the event raises an exception in the GridResource +class. Reading the source code of the GridResource class I've realized that the +way to send the ID of the sender could be the following: + +super.send(resourceId, GridSimTags.SCHEDULE_NOW, +GridSimTags.RESOURCE_CHARACTERISTICS, new Integer(this.get_id())); + +This solves the first problem but generates a new exception in other class: +Exception in thread "Thread-7" java.lang.ArrayIndexOutOfBoundsException: -1 + at java.util.ArrayList.get(ArrayList.java:323) + at eduni.simjava.Sim_system.send(Sim_system.java:600) + at eduni.simjava.Sim_entity.sim_schedule(Sim_entity.java:342) + at gridsim.net.Output.defaultSend(Unknown Source) + at gridsim.net.Output.body(Unknown Source) + at eduni.simjava.Sim_entity.run(Sim_entity.java:603) + +I've read the source of the Output class, but I've not found a solution to the +problem. Do you know where can be the problem? + +A: The problem was in the "baudRate" attribute that wasn't initialized. +So using GridSim(String name, double baudRate) the problem was solved. + +--------------------------------------------------------- + + + +Questions related to GridBroker +=============================== + +Q: How do you compile and run GridBroker application? + +A: Similar to compile and to run GridSim. Instead of using gridsim.jar, + you use gridbroker.jar. Inside this jar file, it contains GridBroker, + GridSim and SimJava classes. + + Please do not use recent GridSim release jar file when running this broker + (see the below question). + +--------------------------------------------------------- +Q: I have executed all gridsim examples. But while executing gridbroker +i.e C:\gridsimtoolkit-4.0\application\gridbroker\example\Example1.java +it gives following error after initializing gridsim: + +Initialising... +Starting GridSim version 4.0 +Entities started. +java.lang.IncompatibleClassChangeError + at gridbroker.Broker.body( Broker.java:649) + at eduni.simjava.Sim_entity.run(Sim_entity.java:603) + + +A: read the README.txt file located under $GRIDSIM/application/gridbroker. +./gridbroker.jar - A jar file containing GridBroker, GridSim v2.1, and + SimJava v1.2 classes. +NOTE: No updates or improvements on GridBroker package since GridSim v2.1, +hence, it is more stable under GridSim v2.1 and SimJava v1.2 release. + +You cant mixed up jars from different class versions. +That's why you have this error message. + +--------------------------------------------------------- +Q: I want to create a specific application. Is it necessary to build on top + of GridBroker? + +A: You are expected to develop an application on top of GridSim, + instead of GridBroker. GridBroker is included to demonstrate the + capability of GridSim in simulating the Grid environment and a + Nimrod/G like deadline and budget constraint scheduling system. + +--------------------------------------------------------- +Q: The application generates the files: tracefile, stat.txt, g14.sched1, + g14.sched2, g14.sched3, g14.sched31, g14.sched4, g14.sched5, g14.sched6. + What are the meaning of these files? + +A: These files contains statistical results of the simulation that are of + interest to the GridSim user (ie. you). + + When running a GridBroker application, it will produce the following files: + + stat.txt -> created by GridSim class during GridSim.init() to create + a GridStatistics object for statistical purposes + + tracefile -> created by the SimJava package to trace every events + that are performed by SimJava, GridSim and GridBroker + during the simulation. + + g14.sched* -> All of these files are created by Broker class. + When we create an UserEntity object, it will + automatically creates a Broker object. + + Description on the g14.sched* files: + g14.sched1 is about Gridlets finished report. + g14.sched2 is about Gridlets processing expenses report. + g14.sched3 is about Gridlets on resource report. + g14.sched31 is about Gridlets committed for resource report. + g14.sched4 is same as g14.sched1, however this file only + displays the overall result or summary of g14.sched1 file. + + g14.sched5 is same as g14.sched2, however this file only + displays the overall result or summary of g14.sched2 file. + + g14.sched6 is same as g14.sched3, however this file only + displays the overall result or summary of g14.sched3 file. + + NOTE: Explanations about the content of each file are mentioned in + GridBroker example section. + +--------------------------------------------------------- + + +Questions related to VisualModeler +================================== + + +Q: What is VisualModeler (VM)? + +A: It is a program that generates GridBroker source code. + With VM, you can specify how many grid users and resources for your + simulation. After finish generating the GridBroker source code, you + can then compile and run the program using the GridBroker jar file. + +--------------------------------------------------------- +Q: How do I run VisualModeler? + +A: To run it, just type: + java -jar visualmodeler.jar + +--------------------------------------------------------- +Q: I have the following warning message when trying to run VisualModeler. + Jun 29, 2003 5:36:56 PM java.util.prefs.FileSystemPreferences$3 run + WARNING: Could not create system preferences directory. + System preferences are unusable. + +A: That's the JDK1.4 Preferences API, used to manage system-wide and per-user + preferences. On Windows, the implementation uses the Windows Registry; + on Unix/Linux, it uses the file system. + + The warning means Java (used under a user) tries to write preference files + in the root-owned directory that contains Java. This may be caused + by the way Java installed. + + To solve this problem is run VisualModeler under root. Java will + automatically creates system preferences directory. Possibly in + /etc/.java/.systemPrefs + + Go to the following website to know more about this: + http://java.sun.com/j2se/1.4.1/install-linux.html + +--------------------------------------------------------- + +Q: When I tried to run code generated from VisualModeler, + I have the following error message: + Exception in thread "main" eduni.simjava.Sim_exception: + Sim_entity: Entity names can't contain spaces. + at eduni.simjava.Sim_entity.<init>(Sim_entity.java:154) + at gridsim.GridSim.<init>(GridSim.java:149) + at gridsim.GridResource.<init>(GridResource.java:93) + at Example1.createGridResource(Example1.java:188) + at Example1.main(Example1.java:57) + +A: GridSim Toolkit 2.2 and above now use SimJava2. SimJava2 is more strict about + a valid entity name compare to the previous release. Hence, to fix this + problem is to remove the unnecessary empty space, i.e. + "GridResource 0" becomes "GridResource_0" Deleted: branches/gssim/trunk/faq.txt =================================================================== --- branches/gssim/trunk/faq.txt 2008-08-20 13:12:31 UTC (rev 227) +++ branches/gssim/trunk/faq.txt 2008-08-20 13:13:52 UTC (rev 228) @@ -1,458 +0,0 @@ -# Frequently Asked Questions (FAQ) -# Maintained by Anthony Sulistio -# $Id: faq.txt,v 1.7 2007/09/01 02:46:01 anthony Exp $ - -Please read this document, FAQ, examples, API, etc before contacting us. -Moreover, look at the previous questions at the below website: -http://sourceforge.net/mail/?group_id=94592 - -Send any queries and feedbacks to gridsim-users @ lists.sourceforge.net - ---------------------------------------------------------- -Q: Where can I find gridbroker, visual modeler, ... ? - -A: If you are looking for applications or programs built on top of GridSim, -such as gridbroker or Visual Modeler, they can be found below: -http://www.gridbus.org/gridsim/release.html - ---------------------------------------------------------- -Q: I want to run the gridsim simulation on my computer but i can't because - Jcreator don't see the gridsim package. Please send to me the steps of - how compile and run the simulation. - -A: Go to GridSim website and there is an instruction on how to use it with - JCreator. http://www.gridbus.org/gridsim/paper/jcreator.pdf - - If you use JBuilder or Eclipse, the instructions can be found below: - http://www.gridbus.org/gridsim/paper/jbuilder.pdf - http://www.gridbus.org/gridsim/paper/eclipse.pdf - ---------------------------------------------------------- -Q: I would like to do some experiments for my research work on grid computing - using the simulator package that you have. Using the simulator, - can I simulate a grid environment with service providers requestors, - administartors etc. on a PC environment? Please pass on some resources, - links, and white papers and links where from I should download. - -Q: please help me by sending GridSim Package, give instructions and - also technical help to complete my project successfully. - -A: The best way to learn GridSim is by downloading it from below: - http://www.gridbus.org/gridsim/ - - Go through the provided examples. - In the website, it contains links to papers about GridSim. - - As long as you have JDK version 1.4 onwards, you can run GridSim - on a PC. However, if you run a huge simulation, you'd probably needs - bigger RAM and CPU. - ---------------------------------------------------------- -Q: Will GridSim require Globus? - -A: Why don't you download the GridSim toolkit and have a try? - Also, please read the README file. - ---------------------------------------------------------- -Q: How do you compile and run GridSim application? - -A: For example, if you want to run Example1 - - In Unix/Linux: - * go to the directory of where Example1 resides, i.e. - at command prompt type: cd $GRIDSIM/examples/Example01 - * to compile type: javac -classpath $GRIDSIM/gridsim.jar:. Example1.java - * to run type: java -classpath gridsim.jar:. Example1 - - In Windows: - * go to the directory of where Example1 resides, i.e. - at command prompt type: cd %GRIDSIM%\examples\Example01 - * to compile type: javac -classpath %GRIDSIM%\gridsim.jar;. Example1.java - * to run type: java -classpath gridsim.jar;. Example1 - - - The main difference is the use of ":" for Unix/Linux, and ";" for Windows - NOTE: $GRIDSIM or %GRIDSIM% is the location of the GridSim Toolkit package. - Also, inside gridsim.jar contains SimJava v2.0 classes. Hence, - you do not need to install SimJava libraries. - ---------------------------------------------------------- -Q: When I run GridSim application, I have the following error message: - Exception in thread "main" java.lang.NoClassDefFoundError: Example1 - -A: You need the classpath to refer to the directory where Example1.java - located. For Example, to run in Windows: - java -classpath gridsim.jar;. Example1 - - where Example1 is the classname you want to execute - ---------------------------------------------------------- -Q: My GridSim application runs perfectly, however, after the end of simulation - it just hang without exiting properly. - -A: The problem may be caused by not closing GridSim entities, such as - GridStatistics, I/O ports, etc. Each class that extends GridSim with - a networked I/O ports must use terminate the I/O entities by using - terminateIOEntities() before exiting body() method. - - Another cause for this problem is the number of Grid user entities. - Before the start of a GridSim application, you need to intialize the GridSim - package using GridSim.init(). The method requires to have the number of - Grid user entities. If the number is different from the actual Grid user - entities, your GridSim application will hang or can't exit properly. - ---------------------------------------------------------- -Q: I am creating a network topology using GridSim. When I run the experiment, -I have the following exception message: - -java.lang.NullPointerException - at gridsim.net.RIPRouter.getScheduler(RIPRouter.java:451) - at gridsim.net.RIPRouter.getScheduler(RIPRouter.java:401) - at gridsim.net.RIPRouter.processNetPacket(RIPRouter.java:302) - at gridsim.net.RIPRouter.processEvent(RIPRouter.java:270) - at gridsim.net.Router.body(Router.java:267) - at eduni.simjava.Sim_entity.run(Sim_entity.java:603) - -A: Network exception message is generally caused by 2 things: -- If you created a new router or link entity, it hasn't been registered to -GridInformationService class; OR - -- GridSim needs few seconds for all network entities to be registered and -for the network entity to fill in its routing table dynamically. -Currently, GridSim uses a flooding approach for locating the neighbour -routers. Hence, these routers need time to receive all the replies. -I think this could be the main cause of the exception message. - ---------------------------------------------------------- -Q: When running GridSim Example 4, 5 and 6 I got an infinite loop - saying: "Waiting to get list of resources". - -A: In GridSim 2.1, GridSim.getGridResourceList() uses a message event - to tell GIS (GridInformationService) entity to send the GridResource - list. This causes a significant delay and a bit redundant. - - In GridSim 2.2, GridSim.getGridResourceList() directly uses a - method call to GIS entity rather than a message passing. - This makes the operation a lot faster. However, during the early stage - of simulation, a GridResource might be slow in registering its service - to GIS. Hence, the GridResource list is always empty and causing - an infinite loop. - - To solve this problem, inside the while() loop, put the following - code: - // need to pause for a while to wait GridResources finish - // registering to GIS - super.gridSimHold(1.0); // hold by 1 second - - So, you wait 1 second later to get GridResource list. - ---------------------------------------------------------- -Q: When I tried to run GridSim Example4, I have the following error message: - java.lang.IncompatibleClassChangeError - at Example4.body(Example4.java:70) - at eduni.simjava.Sim_entity.run(Sim_entity.java:603) - -A: I am not sure what is the exact problem. However, this is mainly - caused by older release of SimJava. GridSim Toolkit 2.2 and above now use - SimJava2. Simply recompile the Example4.java will solve this - problem. - - NOTE: This problem is also effected GridSim Example6. - ---------------------------------------------------------- -Q: When I tried to run GridSim Example1, I have the following error message: - Exception in thread "main" eduni.simjava.Sim_exception: - Sim_entity: Entity names can't contain spaces. - at eduni.simjava.Sim_entity.<init>(Sim_entity.java:154) - at gridsim.GridSim.<init>(GridSim.java:149) - at gridsim.GridResource.<init>(GridResource.java:93) - at Example1.createGridResource(Example1.java:188) - at Example1.main(Example1.java:57) - -A: GridSim Toolkit 2.2 and above now use SimJava2. SimJava2 is more strict about - a valid entity name compare to previous release. Hence, to fix this - problem is to remove the unnecessary empty space, i.e. - "GridResource 0" becomes "GridResource_0" - ---------------------------------------------------------- -Q: Are there any type of applications that I can simulate with GridSim? - -A: GridSim provides the grid simulation environment (with resources and - users), but you need to write codes specifically for the application you - want to simulate, e.g. a resource broker Nimrod/G is written to call - GridSim classes. - ---------------------------------------------------------- -Q: How do I create Gridlets with compute I/O requirements? - -A: Gridlets with compute I/O requirements are simulated through their file - sizes (input) and output sizez (output) parameters. - See Figure 16 of the GridSim paper. - ---------------------------------------------------------- -Q: I have a question on network simulation in Gridsim. - In my understanding, entities with networking capability must define - input and output port. Both ports are "connected" to a simulated network. - How does Gridsim models network link and its characteristics, especially - bandwidth, since I couldn't find class that models this network link? - Does Gridsim also simulate bandwidth-sharing if there are several IOdata - are sent using the same link? - -A: Not supported in the older versions. Currently GridSim uses very - simple network model. - - Since GridSim ver3.1, it has a realistic network model. However, - advanced network features are not supported. - ---------------------------------------------------------- -Q: Is GridSim tool kit provides any help in solving problems for dynamical - resource allocation upon failure? - -A: GridSim provides mechanism to reserve, but policy of reservation and - how to handle failures etc. is up to server's provider and consumers - to define. - ---------------------------------------------------------- -Q: How do you model the gridlet execution in time_shared resource? - -A: Just creating a Gridlet is sufficient. It runs on both time and space - shared machines. - ---------------------------------------------------------- -Q: Does each gridlet can only be processed by only one PE? - -A: For older GridSim versions, it runs one PE. - Since GridSim ver3.0, each Gridlet can ask to be run on multiple PEs. - However, it is up to the scheduler to handle this. - At the moment, by default, TimeShared and SpaceShared scheduler executes - an incoming Gridlet to only 1 PE. - ---------------------------------------------------------- -Q: Is the model for parallel job included inside the GridSim? - -A: It is up users to model parallel application job at the higher level - (develop on top of gridsim). - ---------------------------------------------------------- -Q: When I run GridSim, I have the following error message: - Sim_system:Error - past event detected! - Time: 0.0, event time: -XXXXX.X event type: 1 - Where XXXXX.X is a negative number that varies. - -A: It appears like this error comes up for one of the following scenarios: - - an entity or object waits for a specific event. However, the response - event type is different. - - some events are not captured. - - GridSim runs under multi-threaded environment. Hence, some events might - be accidentally deleted or being changed by other thread to wait for - a different response that doesn't exist, etc ... - ---------------------------------------------------------- -Q: Does GridSim currently support the usage of any wireless network standard -when specifying network topology? - -A: No. We have NOT done so much about wireless network support in GridSim. - But if you are willing, we could explore this with you. - ---------------------------------------------------------- -Q: Does GridSim support multiple simulations or runs in a single program? - -A: No. Currently, GridSim only allows a single experiment to run in a main() - method. Hence, to calculate a confidence interval, you need to do this - manually. - ---------------------------------------------------------- -Q: Does GridSim run in a cluster or a PC? - -A: GridSim runs in a PC as a stand-alone program with multiple threads. - This means if you want to run in a cluster, you just need to request 1 node. - ---------------------------------------------------------- -Q: I came across three variables: peak load, off-peak load and holiday load. - I understand from the study I have done that these variables represent - the load factor. I do not fully get what this means and was hoping that - you could help me out so I can progress further with my work. - -A: These load factors are influencing the total execution time - of a job in a given resource. - If you set these loads to zero, means this resource is idle / free. - If you want to write a resource scheduler, like SpaceShared or TimeShared - then these load factors are important. - ---------------------------------------------------------- -Q: for the Gridlet class, what are the units of file size, length, and output? - -A: the unit of file size and output is in byte. - For the Gridlet length, the unit is in MI (Millions Instructions). - A CPU clock is measured in MIPS (Millions Instructions Per Second) as - suggested by SPEC. - ---------------------------------------------------------- -Q: In the previous releases of GridSim you had to use -GridSim class to send messages to other entities. The provided "send" methods -included a parameter to indicate the sender of the request. It is no clear how -to indicate this with the "send" methods provided by the GridSimCore class. The -lack of ID information in the event raises an exception in the GridResource -class. Reading the source code of the GridResource class I've realized that the -way to send the ID of the sender could be the following: - -super.send(resourceId, GridSimTags.SCHEDULE_NOW, -GridSimTags.RESOURCE_CHARACTERISTICS, new Integer(this.get_id())); - -This solves the first problem but generates a new exception in other class: -Exception in thread "Thread-7" java.lang.ArrayIndexOutOfBoundsException: -1 - at java.util.ArrayList.get(ArrayList.java:323) - at eduni.simjava.Sim_system.send(Sim_system.java:600) - at eduni.simjava.Sim_entity.sim_schedule(Sim_entity.java:342) - at gridsim.net.Output.defaultSend(Unknown Source) - at gridsim.net.Output.body(Unknown Source) - at eduni.simjava.Sim_entity.run(Sim_entity.java:603) - -I've read the source of the Output class, but I've not found a solution to the -problem. Do you know where can be the problem? - -A: The problem was in the "baudRate" attribute that wasn't initialized. -So using GridSim(String name, double baudRate) the problem was solved. - ---------------------------------------------------------- - - - -Questions related to GridBroker -=============================== - -Q: How do you compile and run GridBroker application? - -A: Similar to compile and to run GridSim. Instead of using gridsim.jar, - you use gridbroker.jar. Inside this jar file, it contains GridBroker, - GridSim and SimJava classes. - - Please do not use recent GridSim release jar file when running this broker - (see the below question). - ---------------------------------------------------------- -Q: I have executed all gridsim examples. But while executing gridbroker -i.e C:\gridsimtoolkit-4.0\application\gridbroker\example\Example1.java -it gives following error after initializing gridsim: - -Initialising... -Starting GridSim version 4.0 -Entities started. -java.lang.IncompatibleClassChangeError - at gridbroker.Broker.body( Broker.java:649) - at eduni.simjava.Sim_entity.run(Sim_entity.java:603) - - -A: read the README.txt file located under $GRIDSIM/application/gridbroker. -./gridbroker.jar - A jar file containing GridBroker, GridSim v2.1, and - SimJava v1.2 classes. -NOTE: No updates or improvements on GridBroker package since GridSim v2.1, -hence, it is more stable under GridSim v2.1 and SimJava v1.2 release. - -You cant mixed up jars from different class versions. -That's why you have this error message. - ---------------------------------------------------------- -Q: I want to create a specific application. Is it necessary to build on top - of GridBroker? - -A: You are expected to develop an application on top of GridSim, - instead of GridBroker. GridBroker is included to demonstrate the - capability of GridSim in simulating the Grid environment and a - Nimrod/G like deadline and budget constraint scheduling system. - ---------------------------------------------------------- -Q: The application generates the files: tracefile, stat.txt, g14.sched1, - g14.sched2, g14.sched3, g14.sched31, g14.sched4, g14.sched5, g14.sched6. - What are the meaning of these files? - -A: These files contains statistical results of the simulation that are of - interest to the GridSim user (ie. you). - - When running a GridBroker application, it will produce the following files: - - stat.txt -> created by GridSim class during GridSim.init() to create - a GridStatistics object for statistical purposes - - tracefile -> created by the SimJava package to trace every events - that are performed by SimJava, GridSim and GridBroker - during the simulation. - - g14.sched* -> All of these files are created by Broker class. - When we create an UserEntity object, it will - automatically creates a Broker object. - - Description on the g14.sched* files: - g14.sched1 is about Gridlets finished report. - g14.sched2 is about Gridlets processing expenses report. - g14.sched3 is about Gridlets on resource report. - g14.sched31 is about Gridlets committed for resource report. - g14.sched4 is same as g14.sched1, however this file only - displays the overall result or summary of g14.sched1 file. - - g14.sched5 is same as g14.sched2, however this file only - displays the overall result or summary of g14.sched2 file. - - g14.sched6 is same as g14.sched3, however this file only - displays the overall result or summary of g14.sched3 file. - - NOTE: Explanations about the content of each file are mentioned in - GridBroker example section. - ---------------------------------------------------------- - - -Questions related to VisualModeler -================================== - - -Q: What is VisualModeler (VM)? - -A: It is a program that generates GridBroker source code. - With VM, you can specify how many grid users and resources for your - simulation. After finish generating the GridBroker source code, you - can then compile and run the program using the GridBroker jar file. - ---------------------------------------------------------- -Q: How do I run VisualModeler? - -A: To run it, just type: - java -jar visualmodeler.jar - ---------------------------------------------------------- -Q: I have the following warning message when trying to run VisualModeler. - Jun 29, 2003 5:36:56 PM java.util.prefs.FileSystemPreferences$3 run - WARNING: Could not create system preferences directory. - System preferences are unusable. - -A: That's the JDK1.4 Preferences API, used to manage system-wide and per-user - preferences. On Windows, the implementation uses the Windows Registry; - on Unix/Linux, it uses the file system. - - The warning means Java (used under a user) tries to write preference files - in the root-owned directory that contains Java. This may be caused - by the way Java installed. - - To solve this problem is run VisualModeler under root. Java will - automatically creates system preferences directory. Possibly in - /etc/.java/.systemPrefs - - Go to the following website to know more about this: - http://java.sun.com/j2se/1.4.1/install-linux.html - ---------------------------------------------------------- - -Q: When I tried to run code generated from VisualModeler, - I have the following error message: - Exception in thread "main" eduni.simjava.Sim_exception: - Sim_entity: Entity names can't contain spaces. - at eduni.simjava.Sim_entity.<init>(Sim_entity.java:154) - at gridsim.GridSim.<init>(GridSim.java:149) - at gridsim.GridResource.<init>(GridResource.java:93) - at Example1.createGridResource(Example1.java:188) - at Example1.main(Example1.java:57) - -A: GridSim Toolkit 2.2 and above now use SimJava2. SimJava2 is more strict about - a valid entity name compare to the previous release. Hence, to fix this - problem is to remove the unnecessary empty space, i.e. - "GridResource 0" becomes "GridResource_0" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |