From |uc@r @end|ng |rom |edor@project@org  Mon Apr 15 11:02:05 2019
From: |uc@r @end|ng |rom |edor@project@org (=?UTF-8?Q?I=C3=B1aki_Ucar?=)
Date: Mon, 15 Apr 2019 11:02:05 +0200
Subject: [Rd] SUGGESTION: Settings to disable forked processing in R,
 e.g. parallel::mclapply()
In-Reply-To: <4a46e1e6-d584-9dc6-1699-973b56c95c98@gmail.com>
References: <CAFDcVCSPzMYE9A9V==Gs2yYTuH+YDqWhT_q=WU4AU5JL0WzX=A@mail.gmail.com>
 <CALEXWq3RapiDCTOFUerzxfiawYBu3LFxpCQpYRwmL3MQBh-S4g@mail.gmail.com>
 <CAPLMX9E6rcPNR0MMmaRPRQOBbhopiC43EBDEaHE56tWFGu5ZTQ@mail.gmail.com>
 <CALEXWq2gkuDW48SmGT+YWjn-GmuEjW56bsXj28xTRO=E-tZ48Q@mail.gmail.com>
 <CAPLMX9Fxe1T+npHdkXAzugApuopXN9F+5HgRSk0MyosRngopsw@mail.gmail.com>
 <CAJXgQP1i0EGEmHj2UAqY-H3QnYfspsJ3BkhY8fGE6oOKCb9vnw@mail.gmail.com>
 <CALEXWq2NzM7tLJ4kNTF=D=wKdDFe2xu2nw6mXYbbFJgp9Q1q2g@mail.gmail.com>
 <4a46e1e6-d584-9dc6-1699-973b56c95c98@gmail.com>
Message-ID: <CALEXWq0R4Z=Q=BWLiSG-Suag5rYhSVoWfry24_s_ZM-Ahy1CWA@mail.gmail.com>

On Mon, 15 Apr 2019 at 08:44, Tomas Kalibera <tomas.kalibera at gmail.com> wrote:
>
> On 4/13/19 12:05 PM, I?aki Ucar wrote:
> > On Sat, 13 Apr 2019 at 03:51, Kevin Ushey <kevinushey at gmail.com> wrote:
> >> I think it's worth saying that mclapply() works as documented
> > Mostly, yes. But it says nothing about fork's copy-on-write and memory
> > overcommitment, and that this means that it may work nicely or fail
> > spectacularly depending on whether, e.g., you operate on a long
> > vector.
>
> R cannot possibly replicate documentation of the underlying operating
> systems. It clearly says that fork() is used and readers who may not
> know what fork() is need to learn it from external sources.
> Copy-on-write is an elementary property of fork().

Just to be precise, copy-on-write is an optimization widely deployed
in most modern *nixes, particularly for the architectures in which R
usually runs. But it is not an elementary property; it is not even
possible without an MMU.

-- 
I?aki ?car



[Rd] SUGGESTION: Settings to disable forked processing in R, e.g. parallel::mclapply()
=?UTF-8?Q?I=C3=B1aki_Ucar?=