I have not looked at your code, but I can suggest that you model your code
in the following manner.

- process 1 is the "driver" of the parrallel computations - it does not do
any computations itself.
- process 2 runs the "main" loop
- process 3 runs subproblems
- process 1 after starting the loop on process 2, waits on a remoteref (on
pid 1) that is set by process 2 after all computations are complete
- all remote refs that track task completion are only on process 1
- Now, when process 2 does an "isready", since the remoteref being tested
is on process 1, it will not block.







On Mon, Mar 24, 2014 at 4:14 AM, Iain Dunning <[email protected]> wrote:

> (talking to myself) isready seems to block, is that expected?
>
> Here is my code
> https://gist.github.com/IainNZ/9730991
>
> Is there a nonblocking isready or am I barking up the wrong tree?
>
>
>
>
> On Sunday, March 23, 2014 6:10:59 PM UTC-4, Iain Dunning wrote:
>>
>> Digging more into the "standard library" part of the manual, is this a
>> matter of using "isready" at the end of my main loop, which I know will be
>> safe because no one else is going to be looking at that RemoteRef?
>>
>> On Sunday, March 23, 2014 5:58:27 PM UTC-4, Iain Dunning wrote:
>>>
>>> Hi all,
>>>
>>> I've never really used the parallel stuff for a "real" task and I'm
>>> trying to understand the Julian way of structuring my computation.
>>>
>>> Heres the situation:
>>>
>>> - I have a "main" loop that is solving a series of problems
>>> - After solving one of these prolems, I sometimes want to solve an
>>> expensive subproblem that might improve the solution.
>>> - I want to solve this subproblem in a separate process, and I don't
>>> need the answer right away.
>>>
>>> Mentally I'm thinking of processor 1 running the main loop, and
>>> processor 2 working on solving any subproblems I send its way (queueing
>>> them up perhaps).
>>> At the end/start of every iteration of the main loop on processor 1 I'd
>>> "check" processor 2 to see if it has any solutions for me, and collect them
>>> if it has.
>>>
>>> Can someone help me out with how I should be thinking of this?
>>>
>>> Cheers,
>>> Iain
>>>
>>>
>>>
>>>

Reply via email to