[Rd] issue with parallel package
Josef Leydold
josef.leydold at wu.ac.at
Wed May 21 19:17:29 CEST 2014
Dear maintainers of the parallel package,
I ran into an issue with the parallel package in R-3.1.0.
The following code prints the message "NULL!" quite a lot.
library(parallel)
for (n in 1:1000) {
p <- mcparallel(sqrt(n))
res <- mccollect(p, wait=FALSE, timeout=1000)
mccollect(p)
if (is.null(res)) cat(n," NULL!\n")
}
It does not happen in R-3.0.3.
(To be exact, I have checked out R-devel revision r65130
for my current tests.)
I found that this behavior is introduced in revision r65143.
When I insert
Sys.sleep(0.1)
in the loop then this behavior disappears in R-3.1.0.
There is also another difference between R-3.1.0 and R-3.0.3:
When the line
mccollect(p)
is replaced by
mccollect(p, wait=FALSE, timeout=1000)
then in R-3.1.0 some child processes are not terminated and some
pipes remain open. This does not happen in R-3.0.3.
Remark:
If the line
mccollect(p)
is omitted at all then "NULL!" is never printed but
R aborts after 510 iterations of the loop with the message
"Error in mcfork(detached) : unable to create a pipe".
Then none of the child processes is terminated and
number of possible open pipes is exhausted.
Is this behavior intended or a bug?
> version
_
platform x86_64-pc-linux-gnu
arch x86_64
os linux-gnu
system x86_64, linux-gnu
status
major 3
minor 1.0
year 2014
month 04
day 10
svn rev 65387
language R
version.string R version 3.1.0 (2014-04-10)
nickname Spring Dance
best whishes
Josef
--
-----------------------------------------------------------------------------
Josef Leydold
Institute for Statistics and Mathematics
WU (Vienna University of Economics and Business)
Welthandelsplatz 1, Building D4, 1020 Vienna, Austria
Phone +43 1 31336 4695 FAX +43 1 31336 904695 email josef.leydold at wu.ac.at
-----------------------------------------------------------------------------
Alles Unglueck kam daher, dass die Denkenden nicht mehr handeln konnten,
und die Handelnden keine Zeit mehr fanden zu denken. (Marlen Haushofer)
More information about the R-devel
mailing list