[R-sig-hpc] problem with opening more than one SOCK cluster with package snow

Jannis bt_jannis at yahoo.de
Fri Dec 21 12:38:46 CET 2012


Hi Steve,

thanks a lot for your reply. There may be an elegant and fail proof 
method for port determination but I learned during my work that 
sometimes the quick and dirty way has a much higher output/programming 
energy ratio ;-). So I would start with assigning random ports each time 
a cluster is started and restart the odd jobs with conflicting ports. I 
am no expert in ports and related things, but are there possible 
problems with other programs or even security that might occour if I use 
random port numbers between 1023 and 65535?


Thanks a lot
Jannis

On 20.12.2012 16:00, Stephen Weston wrote:
> Hi Jannis,
>
> I think you are right as to the cause of the error.  I believe that
> the problem occurs when two master processes start running
> on the same machine at about the same time because they
> will both try to bind to the same port by default.  Interestingly,
> the master process only binds to that port temporarily, which
> is why the problem is intermittent.  The more workers that you
> start, the longer it takes to create the cluster, and the more
> likely the error is to occur.
>
> I suggest that you use the "port" option when calling makeCluster,
> as in:
>
>    cl <- makeCluster(8, type="SOCK", port=10188)
>
> where you specify a different value for every master on the
> same machine.  I'm not aware of a fool-proof technique for
> doing that, but you can probably come up with some method
> that works pretty well for your situation.
>
> Of course, if you're not using Windows, you could try using
> the "parallel" package, and create a "FORK" cluster.  That
> doesn't use sockets at all, so multiple clusters on the same
> machine isn't a problem.
>
> - Steve
>
>
> On Thu, Dec 20, 2012 at 7:11 AM, Jannis <bt_jannis at yahoo.de> wrote:
>> Der HPC R users,
>>
>>
>> sorry for cross posting (to r-help) but I just realized after posting that
>> the hpc list may be more suitable for my request. I will report solutions to
>> both lists.
>>
>>
>> Cheers
>> Jannis
>>
>>
>> Dear r-help list,
>>
>> i have some problems using the snow package to create a SOCK cluster. The
>> errors just occour irregularly but it seems to me that they occour when I
>> try to create more than one cluster on the same machine via different R
>> instances started via submitting LSF jobs to a cluster. Does anyone have an
>> idea how to solve this or where to start digging for solutions?
>>
>> The error messages are:
>>
>> library(snow)
>> cl <- makeCluster(8, type = "SOCK")
>>
>>
>> Error in socketConnection(port = port, server = TRUE, blocking = TRUE,  :
>>    cannot open the connection
>> Calls: run.call ... makeCluster -> makeSOCKcluster -> newSOCKnode ->
>> socketConnection
>> In addition: Warning message:
>> In socketConnection(port = port, server = TRUE, blocking = TRUE,  :
>>    port 10187 cannot be opened
>>
>>
>> R version 2.15.1 (2012-06-22)
>> Platform: x86_64-unknown-linux-gnu (64-bit)
>>
>> locale:
>>   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>>   [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>>   [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>>   [7] LC_PAPER=C                 LC_NAME=C
>>   [9] LC_ADDRESS=C               LC_TELEPHONE=C
>> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] stats     graphics  grDevices datasets  utils     methods   base
>>
>> other attached packages:
>> [1] snow_0.3-10
>>
>>
>> Thanks a lot
>> Jannis
>>
>> _______________________________________________
>> R-sig-hpc mailing list
>> R-sig-hpc at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-hpc



More information about the R-sig-hpc mailing list