[saga-rg] Unedited notes from first two days
Andre Merzky
andre at merzky.net
Wed Dec 15 13:05:09 CST 2004
Many thanks, David!
And here the text version for the Windows agnostic part of the
world :)
Cheers, Andre.
Quoting [David E. Konerding] (Dec 15 2004):
> Date: Wed, 15 Dec 2004 10:38:43 -0800
> From: "David E. Konerding" <dekonerding at lbl.gov>
> To: Simple API for Grid Applications WG <saga-rg at ggf.org>
> Subject: [saga-rg] Unedited notes from first two days
>
>
--
+-----------------------------------------------------------------+
| Andre Merzky | phon: +31 - 20 - 444 - 7759 |
| Vrije Universiteit Amsterdam (VU) | fax : +31 - 20 - 444 - 7653 |
| Dept. of Computer Science | mail: merzky at cs.vu.nl |
| De Boelelaan 1083a | www: http://www.merzky.net |
| 1081 HV Amsterdam, Netherlands | |
+-----------------------------------------------------------------+
-------------- next part --------------
SAGA-RG design team meeting 12/13/2004
DK and SJ are taking minutes to post on the web
CL- We?re just making a straw man document, not final API
TG- minor timing details. Start 9AM CST each day; go 3 hrs
Hartmut- sick, will be here weds on.
SJ- everybody email shantenu
TG- style details. OO vs. C and fortran.
Discussion- target audience, how to make API which is OO for C and fortran.
Scripting interfaces vs. programming API
Chris Smith: notification?
DK- low priority: asynch
CL- priority list.
Hrabri- similar issues in drmma. Some ops return right away. For synch ops, use timeouts.
Discussion around style/design of polling/async, callbacks, etc.
AM- Java CoG- simple API, synchronous. On top ? task module.
TG- start w/ nonblocking calls & build blocking calls around it
CL- how much oo? No Multiple inheritance,
JS- c-style OO. Common ops across handles
Extensive discussion re: handle objects, which can point to different types of files
TG- How to support multiple backend file types?
SJ- how much of OO are we going to use- no simple inheritance?
DK- structured error handling. Error handle which can be queried to get all exception
Information
TG- error tree (since a single call can have ?multiple errors? from different tplugins)
TG- style. Security.
CL?security mech as base part of api?
TG- cmplex if multiple security tokens have to be available
CL- features sppted by api will determine security features exposed
CS- frequent mode- get_auth_token(), provide token to api calls
TG- session handling must support more than one auth type
CL- do we have a style/approach to security?
Consensus: ?session handle?
JS ? explicit management of security via API, or implicitly (user runs grid-proxy-init in shell, then runs program)
TG- next step of agenda- use cases
First: Cover the ?Related groups in GGF? document by Andre and Gab
TG- resource management vs. job startup
AM- document should have been more fine-grained?
Subcategorization of job reosources (job submission, job control, job monitoring, resource discovery, resource description)
What do we mean by data access?
Files
Databases
Remote file access
Data management?treat file as object to move around
Databases?information management/lookup. Remote access to DBs?
Genome sequences. Life science consortia working on this?
DAIS- unique interface to dbs. Exposed interface is not that complex
Extensive discussion of meaning of ?data X?
Gregor- want to narrow down & focus
JS- data streaming underlying upper level features. Current apis to do authenticated sockets are crappy
SJ- logical files
Logical file (such as replica catalog)
CS- does steering mean checkpointing? Sept category?
Identifying ?objects? we will be dealing with-
Files
Jobs
Databases
Applications
Stream
Logical files
Event
Advertisement(?)
Should visualization be *specifically* implemented in the API? No. App itself does all that; just uses API for things like streaming data
Information-
publish & search for info
Communication-
Messaging
Information encoding/organization (?)
Data access/streaming/events?flavors of communication
Bulk operations?one per each distinct section (job, file, etc)
Errors, Audits, transactions, workflows:
Error ?objects?
Audit ?objects?
Log function in api?
Extensive discussion on meaning of auditing and whether it belongs in the api
Maybe it should be low priority?
Still a standing issue
Enabling/disabling logging desirable
CS- Is there standard audit record format?and can we put hooks into api?
Transactions? Probably not
Workflow?
CS?workflow, bulk, task ? how related?
Task = interface to define task, asynch run, notification callbacks
Task-> interfaces unique to type of operation
One job at a time; synch and asynch task
Cog kit- task specification, arb. Task, bind to resource
Cog kit- Event model. Being adopted by GT 4.
Task- when event changes in task, fire something back/throw exception
Workflow- built on top of task. Doesn?t need its own API. Just dependent tasks
QoS?lightpaths, LSPs, others (JS) and diffserve. Application Interfaces- ?I want this much bandwidth?. Do we want an API for this set of actions?
CL?leave it till later, but make sure we don?t design ourselves into a corner so we can?t support it
Priorities/TODO:
Files/Data streaming
Jobs/Tasks
Simple hooks for resource discovery
Error handling
Set aside:
Events
Workflow
QoS
Auditing
Information advertising, search
Steering
Considerations
Bulk operations
Security
Eliminate:
Transaction
databases
Agenda for next session:
What objects in different areas?
After lunch
Job APIs
DRMAA
JSDL (language)
Globus (GRAM)
Ssh
Unicore (abstract job object)
Condor SOAP
GAT
CoGKits (python/java)
Gregor walked us through the CoG Task/Job interface
(globus-cog-api.pdf and javacog.pdf)
TG- Other APIs:
Extensive in-depth discussions about task/job interfaces, use cases.
CS- Platform?s ?lsrun?
CS walked us through the Platform LSF SDK
Discussion of what people are going to do overnight
Jobs
Files
Posix-like I/O
Dec 14 2004
Jobs:
CS read over CoG, GAT API.
Job service object; job description option
Wants more direct mapping between job objects and JSDL
Discussion of relationship between
AM- what about DRMAA?
CS- very similar to our C api
What does job id mean across APIs? In ssh?
Job id?go to portal and reference your running
Data streams:
Need authentication, authorization; not so much call for explicit encryption
Opaque security token
IO handle: read, write, disconnect
Server side- must be able to connect/disconnect, without disturbing simulation
Don?t expose fine-grained stuff (socket options)
Iostream = open(sc, sd)
Send(iostream)
Receive(iostream)
Disconnect(iostream)
Service_open(sd, auth, enc, authorize), read, write, disconnect
Service description opaque in case impl has to deal with firewall, rather than just host and port
Associate ACLs with the service connection
Files:
AM- presented file and directory interfaces
Discussion around iterator vs. full list of files in directory calls
Discussion re: should ?directory object? have state like current directory; does it belong in the service object?
Directory- cp, mv, rm (within and across namespace) etc
Files- read, write, seek, etc
Extended read/write calls for efficiency
Above is physical file/directory; extend this to logical files/directoryes
New directory methods: add_location, del_location, get_locations(), replicate()
(IE for a replica service)
Locking?should we have operations?
Jobs: where should the general property list for job descriptions come from
CS- JSDL
Extensive discussion of what JSDL is, what it isn?t, and how it maps to SAGA
Extensive discussion & hashing out of the job API
Extensive discussion &hashing out of the secure channel API
Weds December 15 2004
Discussing file interface. Keep POSIX semantics AMAP.
Discussion of various readdir, getdents, other calls
Long discussion on task interface, eventually stopped and
Went back to files
Discussion of async vs. sync routines, what are appropriate things to expose in things like stat() return value?
More information about the saga-rg
mailing list