Skip to Content.
Sympa Menu

charm - Re: [charm] [ppl] [ppl-local] Q on Entry method

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] [ppl] [ppl-local] Q on Entry method


Chronological Thread 
  • From: Nikhil Jain <nikhil.life AT gmail.com>
  • To: "Miller, Philip B" <mille121 AT illinois.edu>
  • Cc: Charm Mailing List <charm AT cs.illinois.edu>
  • Subject: Re: [charm] [ppl] [ppl-local] Q on Entry method
  • Date: Fri, 28 Dec 2012 13:43:24 -0600
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/charm/>
  • List-id: CHARM parallel programming system <charm.cs.uiuc.edu>

I think you have mis-interpreted my question - I knew how SDAG works. The
question is different - let me try to rephrase it.

1 When a sdag method is being executed (which in turn is a series of
expected message flow), can a method which is not the next method as per
sdag flow be executed? If yes, what is restriction on such a message (am
sure at least it can't be a method which appears in the message flow of
sdag - how does Charm know?).

2 If an sdag method is not being executed, can an entry method which is
defined using "when" inside an sdag method be executed? If yes, what if
the message which triggered the execution was meant for consumption in an
sdag method which would have been invoked soon the chare - is it
programmer's responsibility to ensure that it doesn't happen?

--Nikhil

--
"Success may ditch you most of the times, but if you ditch it once : your
job is done."
Nikhil Jain,
nikhil.life AT gmail.com,
+1-217-979-0918







On 12/28/12 1:29 PM, "Miller, Philip B"
<mille121 AT illinois.edu>
wrote:

>On Fri, Dec 28, 2012 at 1:04 PM, Nikhil Jain
><nikhil.life AT gmail.com>
>wrote:
>> On 12/28/12 1:00 PM, "Miller, Philip B"
>> <mille121 AT illinois.edu>
>> wrote:
>>
>>>On Fri, Dec 28, 2012 at 12:59 PM, Nikhil Jain
>>><nikhil.life AT gmail.com>
>>>wrote:
>>>> Can an entry method, Method A, defined in sdag function Method B using
>>>> "when" construct be invoked when a chare's code flow is not inside
>>>>Method B?
>>>> Generalizing the question, can a chare have two active code sections ­
>>>>one
>>>> of which can be a sdag method waiting for message, and the second can
>>>>be
>>>> either a method defined inside sdag using when, another sdag method
>>>>or a
>>>> non-sdag entry method.
>>>
>>>Yes, to all of that.
>>
>> If the answer is yes, how does sdag differentiates among message meant
>>for
>> the currently executed sdag function (from user's logical view), and an
>> independent function that should be invoked regardless of state in sdag
>> flow.
>
>The message delivered to method A is buffered until control flow in
>method B reaches a 'when A(msg* m)' statement. If control has already
>reached than, then A executes when the message gets delivered.
>
>You can in some sense view a call to SDAG-defined method B as creating
>a thread of execution inside a chare. It has access to shared state -
>the chare's member variables - but its own flow of control. As the
>thread encounters when statements, it either finds them already
>satisfied with a delivered message, and continues forward execution,
>or it blocks to await the arrival. A's body can only execute when
>there's a flow of control that's reached it.
>
>_______________________________________________
>charm mailing list
>charm AT cs.uiuc.edu
>http://lists.cs.uiuc.edu/mailman/listinfo/charm
>
>_______________________________________________
>ppl mailing list
>ppl AT cs.uiuc.edu
>http://lists.cs.uiuc.edu/mailman/listinfo/ppl







Archive powered by MHonArc 2.6.16.

Top of Page