I would like to distinguish two areas of the problem.

1. Client side, where jobs are submitted from using globus-job-run, 
globus-job-submit or globusrun commands. On the client side you need to use RSL 
attributes to specify how many CPUs or nodes should be allocated for a job 
(*host_count*) on the remote site, or that a type of job is "single" or "mpi" 
(*job_type*).
Please notice that you can also run an MPI parallel job as a "single"-type job. 
In this case your *executable* must be a shell script that would properly 
execute the command mpirun.

2. Server side, where GRAM service runs. You can find more details about how 
jobs are executed investigating job manager scripts (strictly speaking: Perl 
modules):
$GLOBUS_LOCATION/lib/perl/Globus/GRAM/JobManager/fork.pm (default one) and 
$GLOBUS_LOCATION/lib/perl/Globus/GRAM/JobManager/$LRM.pm (if you use and 
configured properly a Local Resource Manager like PBS, Torque, SGE, Condor 
etc.).
These scripts interpret received RSL attributes and their values, create an 
appropriate execution environment and later execute a job, or submit a job to a 
queueing system. Reading fork.pm and $LRM.pm you should focus on how number of 
CPUs is determined or how nodes' names are provided to the command mpirun.

Regards,
Lukasz

On Mar 31, 2010, at 8:11 PM, Shuhan Xu wrote:

> Hi,
> I've already deployed Mpich2 among 4 computers to form a cluster. I
> want to deploy a grid among these computers and another cluster with
> two nodes. How to deploy it using GT5?(I want to use GRAM to control
> jobs.)
> 
> Thanks
> Shuhan Xu

Reply via email to