From: ye h. <hua...@gm...> - 2009-02-17 10:18:59
|
Hi, Marcos: Thanks a lot, that's clear enough for me now!! Regards ye On 17 Feb, 2009, at 7:20 AM, Marcos Dias de Assuncao wrote: > > Hi Ye, > > As I said in another e-mail, if you don't finalise the simulation > properly, the error messages you get may not have anything to do > with the actual mistake. In fact, SimJava2 has a strange design in > which they made all the entities as threads, it simplifies the > programming but compromises debugging and troubleshooting. > > By the way, Sim_system.running() will always be true if you don't > shutdown all the user entities. > > Regards, > > Marcos > > > On 17/02/2009, at 12:01 AM, ye huang wrote: > >> Hi, Marcos: >> Thanks for help! >> >> I am sorry, the "resubmit" should be erased from the demo, so do the >> following code: >> --- --- --- >> if(resubmit) { >> LinkedList ll = createGridlet( this.ID_.intValue() ); >> for(int k = 0; k < ll.size(); k++) { >> this.list_.addLast(ll.get(k)); >> } >> >> resubmit = false; >> } >> --- --- --- >> they are not the point. >> >> >> You are right, the LOOP while should be finished with the following >> code to exit properly. >> --- --- --- >> if(receiveList_.size() == list_.size()) { >> break; >> } >> --- --- --- >> >> >> However, I mean to ignore the code to check the wired print result. >> If >> the above loop-exit code is NOT attached, I understand the while() >> could exit properly, but why I got the following print: >> >> --- --- --- >> ... ... ... exit gridlet submiting loop >> Sim_system: No more future events >> Gathering simulation data. >> ... ... ... to exit gridsim >> >> ========== [OUTPUT:] ========== >> Gridlet ID STATUS Resource ID Cost >> 0 SUCCESS 5 27.851458885941653 >> 1 SUCCESS 5 39.787798408488065 >> 2 SUCCESS 5 71.61803713527851 >> 2 SUCCESS 5 71.61803713527851 >> Resource_0: Warning - Gridlet #2 owned by Example041 is already >> completed/finished. >> Therefore, it is not being executed again >> >> --- --- --- >> >> It seems the gridlet #2 is resubmitted again to the GridResource >> after >> its status had been changed to "Success". >> Also, you can see the Sim_system.running() has caught the duplicate >> returned Gridlet and prints two lines: >> >> 2 SUCCESS 5 71.61803713527851 >> >> >> I mean, even the while() loop can't exit properly(keep monitoring >> incoming events), why there is a duplicate gridlet submit/return >> message? >> >> Regards >> ye >> >> On 16 Feb, 2009, at 1:23 PM, Marcos Dias de Assuncao wrote: >> >>> >>> Hi Ye, >>> >>> Please change this part of the code: >>> >>> --------------------------------- >>> if (ev.get_tag() == GridSimTags.GRIDLET_RETURN){ >>> gridlet = (Gridlet) ev.get_data(); >>> super.recordStatistics("[ticking]: Received grildet: " + >>> gridlet.getGridletID() + " from " + >>> resourceName + "\"", >>> gridlet.getProcessingCost()); >>> >>> // stores the received Gridlet into a new GridletList >>> object >>> this.receiveList_.add(gridlet); >>> } >>> --------------------------------- >>> to: >>> --------------------------------- >>> if (ev.get_tag() == GridSimTags.GRIDLET_RETURN){ >>> gridlet = (Gridlet) ev.get_data(); >>> super.recordStatistics("[ticking]: Received grildet: " + >>> gridlet.getGridletID() + " from " + >>> resourceName + "\"", >>> gridlet.getProcessingCost()); >>> >>> // stores the received Gridlet into a new GridletList >>> object >>> this.receiveList_.add(gridlet); >>> >>> if(receiveList_.size() == list_.size()) { >>> break; >>> } >>> } >>> --------------------------------- >>> >>> Otherwise your simulation will never end and you will get those >>> errors. Also, I am sorry, but I could not understand what you want >>> to do in this part of the code: >>> >>> ------------------------------- >>> boolean resubmit = true; >>> >>> // a loop to get one Gridlet at one time and sends it to a >>> grid >>> // resource entity. Then waits for a reply >>> for (int i = 0; i < this.list_.size(); i++) >>> { >>> gridlet = (Gridlet) this.list_.get(i); >>> info = "Gridlet_" + gridlet.getGridletID(); >>> >>> System.out.println("Sending: " + info + " to " + >>> resourceName + >>> " with id = " + resourceID); >>> >>> // Sends one Gridlet to a grid resource specified in >>> "resourceID" >>> // super.gridletSubmit(gridlet, resourceID); >>> >>> // OR another approach to send a gridlet to a grid >>> resource entity >>> super.send(resourceID, GridSimTags.SCHEDULE_NOW, >>> GridSimTags.GRIDLET_SUBMIT, gridlet); >>> >>> if(resubmit) { >>> LinkedList ll = createGridlet( this.ID_.intValue() ); >>> for(int k = 0; k < ll.size(); k++) { >>> this.list_.addLast(ll.get(k)); >>> } >>> >>> resubmit = false; >>> } >>> >>> ---------------------- >>> >>> resubmit will be true initially, which will make "inkedList ll = >>> createGridlet( this.ID_.intValue() );" create a new list of gridlets >>> with the same ids of the gridlets that are already in list_. >>> >>> Regards, >>> >>> Marcos >>> >>> >>> On 16/02/2009, at 7:40 PM, ye wrote: >>> >>>> <Example041.java> >>> >>> Marcos Dias de Assuncao >>> Grid Computing and Distributed Systems (GRIDS) Laboratory >>> Department of Computer Science and Software Engineering >>> The University of Melbourne, Australia >>> Email: ma...@cs... >>> >>> ------------- >>> "It is well enough that people of the nation do not understand our >>> banking and monetary system, for if they did, I believe there would >>> be a revolution before tomorrow morning." >>> >>> Henry Ford >>> >> >> >> -- >> >> Ye Huang, Department of Informatics >> University of Fribourg / Pérolles 2 - Bld de Pérolles 90 >> 1700 Fribourg, Switzerland >> >> e-mail: ye....@he..., ye....@un... >> http://diuf.unifr.ch/people/huangy/ >> Office: +41 26 429 65 95 >> >> >> >> >> ------------------------------------------------------------------------------ >> Open Source Business Conference (OSBC), March 24-25, 2009, San >> Francisco, CA >> -OSBC tackles the biggest issue in open source: Open Sourcing the >> Enterprise >> -Strategies to boost innovation and cut costs with open source >> participation >> -Receive a $600 discount off the registration fee with the source >> code: SFAD >> http://p.sf.net/sfu/XcvMzF8H >> _______________________________________________ >> Gridsim-developers mailing list >> Gri...@li... >> https://lists.sourceforge.net/lists/listinfo/gridsim-developers > > Marcos Dias de Assuncao > Grid Computing and Distributed Systems (GRIDS) Laboratory > Department of Computer Science and Software Engineering > The University of Melbourne, Australia > Email: ma...@cs... > > ------------- > "It is well enough that people of the nation do not understand our > banking and monetary system, for if they did, I believe there would > be a revolution before tomorrow morning." > > Henry Ford > -- Ye Huang, Department of Informatics University of Fribourg / Pérolles 2 - Bld de Pérolles 90 1700 Fribourg, Switzerland e-mail: ye....@he..., ye....@un... http://diuf.unifr.ch/people/huangy/ Office: +41 26 429 65 95 |