From: <sul...@us...> - 2007-09-01 02:48:18
|
Revision: 53 http://gridsim.svn.sourceforge.net/gridsim/?rev=53&view=rev Author: sulistio Date: 2007-08-31 19:48:15 -0700 (Fri, 31 Aug 2007) Log Message: ----------- changes for the new release Modified Paths: -------------- trunk/README.txt trunk/changelog.txt trunk/faq.txt trunk/release_note.txt Added Paths: ----------- trunk/javadoc.sh Modified: trunk/README.txt =================================================================== --- trunk/README.txt 2007-09-01 02:32:02 UTC (rev 52) +++ trunk/README.txt 2007-09-01 02:48:15 UTC (rev 53) @@ -1,33 +1,56 @@ + README file -=========== +Author: Anthony Sulistio (September 2007) + Directory Structure of GridSim Toolkit -------------------------------------- -$GRIDSIM/ - examples/ -- GridSim examples, see README.txt for details +$GRIDSIM/ -- the current GridSim directory (top level) + classes/ -- The GridSim class files + doc/ -- GridSim and SimJava API Documentation + eduni/ + gridsim/ + examples/ -- GridSim examples, see examples/README.txt for details jars/ -- jar archives source/ -- The GridSim Java source code gridsim/*.java - gridsim/auction/*.java -- framework for the Auction model - gridsim/datagrid/*.java -- framework for the DataGrid model - gridsim/filter/*.java - gridsim/index/*.java -- framework for the Network model - gridsim/net/*.java - gridsim/util/*.java + gridsim/auction/*.java -- framework for the auction model + gridsim/datagrid/*.java -- framework for the Data Grids model + gridsim/filter/*.java -- filters incoming events + gridsim/index/*.java -- framework for the Grid Info Service model + gridsim/net/*.java -- framework for the network model + gridsim/resFailure/*.java -- framework for the resource failure model + gridsim/util/*.java -- includes some statistics classes. +GridSim APIs and examples are also available on the GridSim website. +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 + +Software Requirements : Java version 1.4.2 or newer +--------------------- +GridSim has been tested and ran on Sun's Java version 1.4.2 or newer. +Older versions of Java are not compatible. +If you have non-Sun Java version, such as gcj or J++, they may not be compatible. +You also need to install Ant to compile GridSim (explained in more details later). + + Installation and Running GridSim Toolkit ---------------------------------------- +There is no special program to install GridSim. You just need to +unzip the GridSim file to install. +If you want to remove GridSim, then remove the whole $GRIDSIM directory. NOTE: You do not need to compile GridSim source code. The JAR file is provided to compile and to run GridSim applications. Description of the following jar files: -*) gridsim.jar -- contains GridSim and SimJava class files -*) simjava2.jar -- contains SimJava v2.0 class files only +* gridsim.jar -- contains both GridSim and SimJava v2.0 class files +* simjava2.jar -- contains SimJava v2.0 class files only -Example to compile and running GridSim applications, do the following step: +To compile and run GridSim applications, do the following step: 1) Go the directory where the GridSim's Example1 reside In Unix or Linux: cd $GRIDSIM/examples/Example01 In Windows: cd %GRIDSIM%\examples\Example01 @@ -42,6 +65,8 @@ NOTE: * $GRIDSIM or %GRIDSIM% is the location of the GridSim Toolkit package. +* If you are using Java IDEs, such as Eclipse, JBuilder and JCreator, + their instructions (with screenshots) are found on the GridSim website. * Running GridSim of this version requires a lot of memory since there are many objects to be created. Therefore, it is recommended to have at least 512MB RAM or increase JVM heap size when running Java for large simulation experiments. @@ -54,16 +79,18 @@ To understand on how to use GridSim, please go through the examples provided in the $GRIDSIM/examples/ directory. Example 1 - 6 are mainly for beginners, whereas the rest describes more complex GridSim functionalities. +The same examples are also hosted in the GridSim website. At the moment, GridSim has two allocation policies or scheduling algorithms, i.e. First Come First Service (as described in SpaceShared.java) and Round Robin (as described in TimeShared.java). If you are interested in writing a new scheduling algorithm of a resource, then look closely on $GRIDSIM/examples/Example08/ directory. +We are certainly welcomed new additions of allocation policies into GridSim. -Using Ant ---------- +Compiling GridSim : Using Ant +----------------- This release contains a simple buildfile for compiling GridSim classes. You need to have ant installed (http://ant.apache.org/). Ant can be used in both Windows and Unix/Linux environment. @@ -77,23 +104,85 @@ NOTE: * You need to set up PATH for ant in Windows and/or Unix. -* rule for javadoc is not included yet. Use javadoc.sh script instead. +* rule for javadoc is not included yet. Use javadoc.sh script on Unix instead. + Alternatively, the GridSim API can be found below: + http://www.gridbus.org/gridsim/doc/ -Bug Reports and Feedback ------------------------- -Send any queries and feedbacks to ant...@cs... +Contacting Us : subscribe to Mailing Lists at SourceForge.net +------------- +Please read FAQ, examples, API and other documents in the GridSim website +before contacting us. +GridSim mailing lists can be found below: +http://sourceforge.net/projects/gridsim/ then click on the "Mailing Lists" tab. +Please subscribe to the following mailing lists: +gridsim-users (at) lists.sourceforge.net - for any queries and feedbacks +gridsim-developers (at) lists.sourceforge.net - for contributing to GridSim + +Contributors are always needed to improve and maintain GridSim. +Another option is to integrate your work/project into future GridSim releases. +If you want to contribute, advertise yourself to us. +Benefits of your contributions: +- you help future Grid researchers and students like you and us; +- you can proudly write your contributions in the resume or CV; +- you gain knowledge and skills in using SVN version control, Java, and OO; and +- more importantly, you are dealing with a real software engineering development + and working with collaborators or developers from other parts of the world + (at the moment, they are from "down under"). + You can not get this kind of unique experience by doing it yourself or + in university assignments or projects. + +NOTE: +* If you experience some problems when compiling/running GridSim, + write a detailed email. The more information you provide, the better + we analyze your problem. Hence, the sooner we can reply. +* Please send your questions to these mailing lists so that other people can + read and reply them. +* We have hectic schedules, so do not expect an instant reply. + + +Bugs Reporting +-------------- +If you found any bugs, please report them to: +http://sourceforge.net/projects/gridsim/ then click on the "Tracker" tab. + +To prevent any false reports, it is recommended that you email us first on +gridsim-developers (at) lists.sourceforge.net +to identify whether the problem is caused by bugs in the GridSim code +or something else, such as using Java version 1.3. + +Please be specific when you report a bug. We need information such as +GridSim version number, Java version number, detailed descriptions, +snippets of the (buggy) code and any exception errors. +A 'nobody' report in the tracker will probably be ignored. + + +Requesting New Features +----------------------- +If you decide to implement any new features, we will try our best to help you +with directions on where to start and how to design and implement without +breaking the existing design and code respectively. + + Acknowledgement --------------- -* Thank to Gokul Poduval and Chen-Kong Tham for working on gridsim.net package. -* Thank to Uros Cibej for providing build.xml file and instruction on how to - use ant. In addition, he is working on the gridsim.datagrid package. -* Thank to Marcos Dias de Assuncao for working on gridsim.auction package -* Thank to the following people for finding bugs in GridSim: -Anthony Sulistio and Gokul Poduval :) -Uros Cibej, Agustin Herraez, Sai Rahul Reddy, Jakub Milkiewicz, +For their outstanding contributions to GridSim : +* Agustin Caminero from The University of Castilla La Mancha, Spain + for his work on the gridsim.resFailure package. + +* Uros Cibej from The University of Ljubljana, Slovenia + for providing build.xml file and instruction on how to + use ant. In addition, he worked on the gridsim.datagrid package. + +* Gokul Poduval from National University of Singapore + for his work on the gridsim.net package. + +* Marcos Dias de Assuncao from Grids Lab, The University of Melbourne, Australia + for his work on the gridsim.auction package + +We also thank the following people for finding bugs in GridSim : +Gokul Poduval, Uros Cibej, Agustin Caminero, Sai Rahul Reddy, Jakub Milkiewicz, Mads Mbuso Sibeko, Felipe Ramos. - Modified: trunk/changelog.txt =================================================================== --- trunk/changelog.txt 2007-09-01 02:32:02 UTC (rev 52) +++ trunk/changelog.txt 2007-09-01 02:48:15 UTC (rev 53) @@ -1,7 +1,15 @@ # Changelog for GridSim Toolkit -# Maintained by Anthony Sulistio (ant...@cs...) -# $Id: changelog.txt,v 1.4 2006/03/09 07:57:32 anthony Exp $ +# Maintained by Anthony Sulistio +# $Id: changelog.txt,v 1.7 2007/09/01 02:40:12 anthony Exp $ + +Changes from 4.0 to 4.1 +- add a new functionality that supports resource failures during runtime. + This work was done in collaboration with Agustin Caminero from + Universidad de Castilla La Mancha (UCLM), Spain. +- fix few bugs in the code and examples. + +======================================================================= Changes from 3.3 to 4.0 - add two major new features: auction model and data grid - add a new packet scheduler for the network package @@ -13,7 +21,7 @@ ======================================================================= Changes from 3.2 to 3.3 No new additions, it mainly about bug fixes: -- for a Regional GIS feature (discovered by Agustin Herraez). +- for a Regional GIS feature (discovered by Agustin Caminero). Classes affected: AbstractGIS and RegionalGIS - inside GridSim class (discovered by Sai Rahul Reddy) for the below methods: @@ -32,7 +40,8 @@ - a Gridlet must have a ToS for Differentiated network. -- for advanced reservation feature (discovered by Jakub Milkiewicz). +- for advanced reservation feature, queryBusyTime() and queryFreeTime() +needs to know a time zone from user (discovered by Jakub Milkiewicz). ======================================================================= Modified: trunk/faq.txt =================================================================== --- trunk/faq.txt 2007-09-01 02:32:02 UTC (rev 52) +++ trunk/faq.txt 2007-09-01 02:48:15 UTC (rev 53) @@ -1,11 +1,59 @@ # Frequently Asked Questions (FAQ) -# Maintained by Anthony Sulistio (ant...@cs...) -# $Id: faq.txt,v 1.3 2006/03/11 04:49:03 anthony Exp $ +# 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 -Questions related to GridSim -============================ +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 @@ -19,8 +67,8 @@ 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 + * 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 @@ -176,6 +224,8 @@ 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? @@ -198,28 +248,76 @@ a different response that doesn't exist, etc ... --------------------------------------------------------- -Q: Does GridSim currently support the usage of any wireless network standard +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. +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 + 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. +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 =============================== @@ -229,7 +327,32 @@ 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? @@ -333,6 +456,3 @@ 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" - - - Added: trunk/javadoc.sh =================================================================== --- trunk/javadoc.sh (rev 0) +++ trunk/javadoc.sh 2007-09-01 02:48:15 UTC (rev 53) @@ -0,0 +1,33 @@ + +## A script to run javadoc (Anthony Sept 2004). + +year="2007" # year +ver="v4.1" # version number + +dir=./source # source directory that contains Java files +doc=./doc # output directory + +# Only creates GridSim javadoc. +javadoc -author -version -package -noqualifier java.* \ + -windowtitle 'GridSim '$ver' API Specification' \ + -doctitle '<b>GridSim</b> '$ver' API Specification' \ + -header '<b>GridSim</b><br><font size='-1'>'$ver'</font>' \ + -bottom 'The University of Melbourne, Australia, '$year \ + -d $doc -breakiterator \ + -tag pre:a:"Pre Condition:" \ + -tag post:a:"Post Condition:" \ + -tag invariant:t:"Invariant:" \ + $dir/gridsim/*.java \ + $dir/gridsim/util/*.java \ + $dir/gridsim/net/*.java \ + $dir/gridsim/filter/*.java \ + $dir/gridsim/index/*.java \ + $dir/gridsim/resFailure/*.java \ + $dir/gridsim/auction/*.java \ + $dir/gridsim/datagrid/*.java \ + $dir/gridsim/datagrid/filter/*.java \ + $dir/gridsim/datagrid/index/*.java \ + $dir/gridsim/datagrid/storage/*.java + +echo "javadoc is done ...." + Modified: trunk/release_note.txt =================================================================== --- trunk/release_note.txt 2007-09-01 02:32:02 UTC (rev 52) +++ trunk/release_note.txt 2007-09-01 02:48:15 UTC (rev 53) @@ -1,55 +1,56 @@ -Gridbus Project To Release GridSim Toolkit 4.0 + Gridbus Project to Release GridSim Toolkit 4.1 + September 2007 -The Gridbus Project and the GRIDS (Grid Computing and Distributed Systems) -Lab at the University of Melbourne, Australia has released the -next-version of Grid simulation software, the GridSim Toolkit 4.0. -The new version of GridSim -- add two major new features: auction model and data grid -- add a new packet scheduler for the network package -- add a network reader to read a network topology from a file and automatically -creates and link routers -- modify some of the network classes to incorporate this new packet scheduler -- fix few bugs +The Gridbus Project at The University of Melbourne, Australia has released the +next-version of Grid simulation software, the GridSim Toolkit 4.1. +The new version of GridSim adds a new functionality that supports +resource failures and failure detection of Grid resources. This work was done +in collaboration with Agustin Caminero, a Phd student from +Universidad de Castilla La Mancha (UCLM), Spain. All components developed as part of the GridSim Toolkit are released as "open source" under the GPL license to encourage innovation and pass full -freedom to our users. +freedom to our users. In addition, we have decided to use +SourceForge (http://sourceforge.net/projects/gridsim) for hosting +our future releases and developments. This allows us to share and +and to collaborate further on new functionalities. +Therefore, contributions to the GridSim Toolkit are greatly appreciated. The early version of our GridSim toolkit has been used/dowloaded by several academic and commercial organizations around the world including: -California Institute of Technology, Argonne National Labs, -University of Illinois, Manchester University, CERN, Carleton University, -University of Ljubljana, National University of Singapore, -Universidad de Castilla-La Mancha (UCLM) Spain, -Federal University of Ceara (UFC) Brazil, Brunel University UK, -Indian Institute of Technology, Tsinghua University, Sun Microsystems, -IBM, Unisys, HP, British Telecom and EMC Corp. +University of Southern California (USA), California Institute of Technology (USA), +Argonne National Labs (USA), University of Manchester (UK), CERN, +Universidad de Santiago de Compostela (Spain), Indian Institute of Technology, +Tsinghua University (China), Sun Microsystems, IBM Research, Unisys, HP, +Northrop Grumman Information Technology, British Telecom and EMC Corp. The GridSim software has been used for modeling and simulating many -interesting systems. For example, Unisys's usage in data center modeling -and University of Ljubljana's extension of GridSim to support DataGrid. -Our own usages include simulating economic Grid scheduler in a competitive +interesting systems and ideas. For example, IBM Research uses our DataGrid +package to simulate a grid meta-scheduler that tightly integrates +the compute and data transfer times of each job. +Another example is Universidad de Santiago de Compostela's extension of GridSim +to optimize execution of parallel applications on a Grid. +Our own uses include simulating economic Grid scheduler in a competitive economy model, economic based cluster scheduler and cooperative Grid federation. -The contributors to the GridSim software (early/new version) are: -* Rajkumar Buyya, GridS Lab @ The University of Melbourne. -* Manzur Murshed, GSCIT @ Monash University. -* Anthony Sulistio, GridS Lab @ The University of Melbourne. +The contributors to the GridSim software (from early to new version) are: +* Rajkumar Buyya, GRIDS Lab @ The University of Melbourne. +* Manzur Murshed, GSCIT @ Monash University, Australia. +* Anthony Sulistio, GRIDS Lab @ The University of Melbourne. * Gokul Poduval and Chen-Khong Tham, Dept. of Electrical & Computer Engineering @ National University of Singapore. -* Uros Cibej and Borut Robic, - Faculty of Computer and Information Service, +* Marcos Dias de Assuncao, GRIDS Lab @ The University of Melbourne. +* Uros Cibej and Borut Robic, Faculty of Computer and Information Service, The University of Ljubljana, Slovenia. -* Marcos Dias de Assuncao, GridS Lab @ The University of Melbourne. +* Agustin Caminero, Department of Computing Systems, + Universidad de Castilla La Mancha (UCLM), Spain. -GridSim visual modeller by: -* Anthony Sulistio, GridS Lab @ The University of Melbourne. -* Chee Shin Yeo, GridS Lab @ The University of Melbourne. -To download the GridSim software, usage documents and examples, -please visit the Gridbus Project Web site at +To download the GridSim software, please visit the Gridbus Project web site at http://www.gridbus.org/gridsim/ +Join the GridSim mailing lists at +http://sourceforge.net/projects/gridsim This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |