|
From: Marcos D. de A. <ma...@cs...> - 2009-02-17 06:21:21
|
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
|