|
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
|