[ogsa-wg] [DRMAA-WG] Grid Command Line interfaces
Daniel Templeton
Dan.Templeton at Sun.COM
Wed Jun 4 15:14:13 CDT 2008
DRMAA is narrowly focused on offering an API, but as was already pointed
out, as soon as you have a Perl binding (which we do), the API itself
also becomes a set of commands.
Daniel
Andre Merzky wrote:
> Well, DRMAA is an API specification as well, so does not
> really define command line tools in the spec. There are a
> number of tools available, but I am not qualified to say if
> the DRMAA group intended to have a complete API mapping, or
> plan to standardize these tools, etc.
>
> Cc to the DRMAA group, maybe they have input on the topic...
>
> Quoting [Omer F. Rana] (Jun 04 2008):
>
>> Date: Wed, 04 Jun 2008 16:35:13 +0100
>> From: "Omer F. Rana" <o.f.rana at cs.cardiff.ac.uk>
>> To: Andre Merzky <andre at merzky.net>
>> Subject: Re: [ogsa-wg] Grid Command Line interfaces
>>
>> Hi Andre,
>>
>> Thanks. It might be useful to understand the relationship between these
>> and commands provided
>> in DRMAA perhaps? Just a thought.
>>
>> best wishes
>> Omer
>>
>> Andre Merzky wrote:
>>
>>> Hi Omer
>>>
>>> Quoting [Omer F. Rana] (Jun 04 2008):
>>>
>>>
>>>> Hi,
>>>>
>>>> Doesn't DRMAA already do this?
>>>>
>>>> Andre: I thought the aim of SAGA was to provide a programmatic
>>>> API rather than a command line tools interface?
>>>>
>>>>
>>> Of course, you are perfectly right. However, several people
>>> (including our won group) use SAGA for the purpose to write
>>> such command line tools (which are then middleware
>>> independent), and thus we considered mappings from the SAGA
>>> API to command line tools since quite a while...
>>>
>>> Best, Andre.
>>>
>>>
>>>
>>>> regards
>>>> Omer
>>>>
>>>> Steven Newhouse wrote:
>>>>
>>>>
>>>>> It may make sense to define common tools for job:
>>>>>
>>>>> Submit
>>>>> Status
>>>>> Terminate
>>>>>
>>>>> I'm not sure what broader interest we would have to do generic SAGA
>>>>> commands.
>>>>>
>>>>> Steven
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Andre Merzky [mailto:andre at merzky.net]
>>>>>> Sent: Wednesday, June 04, 2008 2:48 PM
>>>>>> To: Steven Newhouse
>>>>>> Cc: Andre Merzky; ogsa-wg at ogf.org; ogsa-hpcp-wg at ogf.org
>>>>>> Subject: Re: [ogsa-wg] Grid Command Line interfaces
>>>>>>
>>>>>> Quoting [Steven Newhouse] (Jun 04 2008):
>>>>>>
>>>>>>
>>>>>>
>>>>>>>> is a SAGA command line binding something you would
>>>>>>>> conider worth pursuing? We actually started to do
>>>>>>>> something like that, in a pet project...
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> Do you mean the ability to implement any defined command
>>>>>>> line interface using the SAGA APIs? (i.e. internal to the
>>>>>>> command) Or To define a set of command line tools to cover
>>>>>>> elements of the SAGA API?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> The latter. For example, for the SAGA call
>>>>>>
>>>>>> class saga::filesystem::file
>>>>>> {
>>>>>> void copy (saga::url src, saga::url tgt, it flags);
>>>>>> }
>>>>>>
>>>>>> define the command line tool
>>>>>>
>>>>>> saga_file_copy [flags] <src> <tgt>
>>>>>>
>>>>>> flags:
>>>>>> session related flags
>>>>>> -s|--session <s> run command in session s
>>>>>> -c|--context <c> use context c
>>>>>>
>>>>>> operational flags
>>>>>> -a|--async=<Sync|Async|Task>
>>>>>> use async mode Sync, Async or Task
>>>>>> default is Sync
>>>>>> call specific flags
>>>>>> -r|--recursive copy recursively
>>>>>> -o|--overwrite overwrite target if exists
>>>>>> ...
>>>>>>
>>>>>> So, the command line tools would basically reflect what we
>>>>>> define in the SAGA API spec, with a set of flags which are
>>>>>> consistent for all command line tools such defined.
>>>>>>
>>>>>>
>>>>>> A session could look like:
>>>>>>
>>>>>> # saga_create_context --name=my_context --type=UserPass --user=anon
>>>>>> <prompts for password>
>>>>>>
>>>>>> # saga_create_session --name my_session --add_context=my_context
>>>>>>
>>>>>> # /bin/date | saga_file_cat --session=my_session --write
>>>>>> gsiftp://localhost/tmp/in.dat
>>>>>>
>>>>>> # saga_file_copy --session=my_session gsiftp://localhost/tmp/in.dat
>>>>>> gsiftp://remotehost/tmp/out.dat
>>>>>>
>>>>>> # saga_file_cat --session=my_session gsiftp://remotehost/tmp/out.dat
>>>>>> Wed Jun 4 14:43:27 CEST 2008
>>>>>>
>>>>>>
>>>>>> or, with some default assumptions of course (default session
>>>>>> and context):
>>>>>>
>>>>>>
>>>>>> # /bin/date | saga_file_cat --write gsiftp://localhost/tmp/in.dat
>>>>>> # saga_file_copy gsiftp://localhost/tmp/in.dat
>>>>>> gsiftp://remotehost/tmp/out.dat
>>>>>> # saga_file_cat gsiftp://remotehost/tmp/out.dat
>>>>>> Wed Jun 4 14:43:27 CEST 2008
>>>>>>
>>>>>>
>>>>>> Best, Andre.
>>>>>>
>>>>>> PS.: As for option (a) of yours: yes, that would be trivial to
>>>>>> implement in SAGA :-) Well, at least it would be easy (one
>>>>>> needs to add some magick for state management, to keep track
>>>>>> of async ops and security credentials between separate calls
>>>>>> to different tools.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Steven
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> --
>>>>>> Nothing is ever easy.
>>>>>>
>>>>>>
>>>>>>
>>>>> --
>>>>> ogsa-wg mailing list
>>>>> ogsa-wg at ogf.org
>>>>> http://www.ogf.org/mailman/listinfo/ogsa-wg
>>>>>
More information about the ogsa-wg
mailing list