Denny, ws-gram currently does not provide higher-level clients than globusrun-ws. There are other tools that work on top of ws-gram that do the meta-scheduling that you are asking for. The tools i mention below use ws-grams client API GramJob. You might want to check if those are already doing what you want to do:
There's Condor-G that enables you to submit a single job N times to a certain grid-node. A good introduction can be found here: https://bi.offis.de/wisent/tiki-index.php?page=Condor-GT4 Here's the official condor webpage about grid-computing http://www.cs.wisc.edu/condor/manual/v7.0/5_Grid_Computing.html And there's GridWay, a meta-scheduler, that provides scheduling functionality for Grids. http://dev.globus.org/wiki/GridWay gives an overview and contains links to GridWay-specific e-mail lists. Maybe this would already fit your needs and you wouldn't have to write your own tools. I added one of the developers (Tino) on CC. Maybe he can tell more. Martin ----- Original Message ----- From: "Jan Ploski" <[EMAIL PROTECTED]> To: "demingyin" <[EMAIL PROTECTED]> Cc: [email protected] Sent: Thursday, May 8, 2008 2:44:25 AM GMT -06:00 US/Canada Central Subject: Re: [gt-user] some problem of WS GRAM [EMAIL PROTECTED] schrieb am 05/08/2008 08:19:04 AM: > Hi all, > > These days I?m trying to use WS GRAM to submit some jobs. But I?m > still not quite understanding the mechanism WS GRAM. I can now > submit some dummy job on my Grid node, such as, > ?globusrun-ws -submit -c /bin/touch touched_it? > Or ?globusrun-ws -submit ?S ?f a.rsl?. > > But for example, if I want to add 1 to 2n, and in order to speed up > the process, I want to add 1 to n on Grid Node1, and n+1 to 2n on > Grid Node2. How could I do that? > Maybe first I should write a web service following online > Documentation ?Submitting a job in Java using WS GRAM?, and then how > WS GRAM can distribute the task to different Grid Nodes for me? > > Can anyone give some directions? Some detail example would be much > appreciated. There are several ways, none too easy. 1. Write a small MPI program and submit a job of type 'mpi' to run it. Within your program you distribute work to the nodes using MPI calls and gather the results. This is the best performing solution, but it forces you to program in C/Fortran, and it depends on MPI being available and correctly configured at the target site. 2. Submit two jobs, each of which does a part of the computation and stores away the results (say, in a file). Submit a third job which combines the results. Because you have three interdependent jobs, you will already need a metascheduler/workflow engine to coordinate the submissions automatically. 3. Submit a job of type 'multiple' which then does all the process coordination on site. Because the job type 'multiple' simply runs the specified executable, with the same command-line arguments, on n nodes, you will need some mechanism to compute the process numbers within that executable in order to allocate work to processes. It should also synchronize executions because you want the results to be combined in the end. You could use our 'MultiJob' module, described at https://bi.offis.de/wisent/tiki-index.php?page=Condor-GT4-BigJobs The examples provided on this page assume that you're using Condor as your job submission client, however, they could be adapted to use globusrun-ws (see also http://www.teragridforum.org/mediawiki/index.php?title=WS-Gram) Regards, Jan Ploski
