From |kry|ov @end|ng |rom d|@root@org  Tue Apr  9 15:43:29 2024
From: |kry|ov @end|ng |rom d|@root@org (Ivan Krylov)
Date: Tue, 9 Apr 2024 16:43:29 +0300
Subject: [Rd] Wish: a way to track progress of parallel operations
In-Reply-To: <CAFDcVCT0Aj_hnXsoSd_+mqU+vAKESkUri2SaG7Ye1XPJU96KRA@mail.gmail.com>
References: <20240325184049.745179e0@arachnoid>
 <CAFDcVCT0Aj_hnXsoSd_+mqU+vAKESkUri2SaG7Ye1XPJU96KRA@mail.gmail.com>
Message-ID: <20240409164329.7d42b205@arachnoid>

Dear Henrik (and everyone else):

Here's a patch implementing support for immediateConditions in
'parallel' socket clusters. What do you think?

I've tried to make the feature backwards-compatible in the sense that
an older R starting a newer cluster worker will not pass the flag
enabling condition passing and so will avoid being confused by packets
with type = 'CONDITION'.

In order to propagate the conditions in a timely manner, all 'parallel'
functions that currently use recvData() on individual nodes will have
to switch to calling recvOneData(). I've already adjusted
staticClusterApply(), but e.g. clusterCall() would still postpone
immediateConditions from nodes later in the list (should they appear).

If this is deemed a good way forward, I can prepare a similar patch for
the MPI and socket clusters implemented in the 'snow' package.

-- 
Best regards,
Ivan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: parallel-immediateConditions.patch
Type: text/x-patch
Size: 7038 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20240409/ae4844a8/attachment.bin>


[Rd] Wish: a way to track progress of parallel operations
Ivan Krylov