Skip to content

Parallel computing in R for dummies--how to optimize an external model?

2 messages · Waichler, Scott R, Jasjeet Singh Sekhon

#
I am trying to use the optimizing function genoud() with the snow
package on a couple of i686 machines running Redhat Linux WS4 .  I don't
know anything about PVM or MPI, so I just followed the directions in
snow and rgenoud for the simplest method and started a socket cluster.
My function fn for genoud involves updating an input file for a separate
numerical model with the latest parameter set from the optimizer,
running the (compiled) model on the input file with system(), and
processing the output including calculation of objective function.  The
whole process works on the localhost machine in one cpu, and I can see
that an R session is created in the second, non-localhost machine, but
it doesn't seem to be doing anything.  All of the model runs generated
by the application of genoud take place in the cpu.  What am I missing?
I can see where there would be a conflict in having multiple processors
trying to access the same system model input file at once, but I don't
see any indication of that type of problem.

Grateful for any help,

Scott Waichler
Pacific Northwest National Laboratory
scott.waichler at pnl.gov
#
Hi Scott,

It is difficult to debug your issue without more information.  Would
it be possible to email me code of a simple example?

Cheers,
Jas.

=======================================
Jasjeet S. Sekhon                     
                                      
Associate Professor             
Travers Department of Political Science
Survey Research Center          
UC Berkeley                     

http://sekhon.polisci.berkeley.edu/
V: 510-642-9974  F: 617-507-5524
=======================================


Waichler, Scott R writes:
 > 
 > I am trying to use the optimizing function genoud() with the snow
 > package on a couple of i686 machines running Redhat Linux WS4 .  I don't
 > know anything about PVM or MPI, so I just followed the directions in
 > snow and rgenoud for the simplest method and started a socket cluster.
 > My function fn for genoud involves updating an input file for a separate
 > numerical model with the latest parameter set from the optimizer,
 > running the (compiled) model on the input file with system(), and
 > processing the output including calculation of objective function.  The
 > whole process works on the localhost machine in one cpu, and I can see
 > that an R session is created in the second, non-localhost machine, but
 > it doesn't seem to be doing anything.  All of the model runs generated
 > by the application of genoud take place in the cpu.  What am I missing?
 > I can see where there would be a conflict in having multiple processors
 > trying to access the same system model input file at once, but I don't
 > see any indication of that type of problem.
 > 
 > Grateful for any help,
 > 
 > Scott Waichler
 > Pacific Northwest National Laboratory
 > scott.waichler at pnl.gov
 > 
 >