[SAGA-RG] minutes from the OGF21 session on the Java language binding
Andre Merzky
andre at merzky.net
Mon Oct 22 15:50:07 CDT 2007
Here are the notes from the second session. Thanks for
Thilo for taking notes!
Cheers, Andre.
Quoting [Thilo Kielmann] (Oct 18 2007):
> From: Thilo Kielmann <kielmann at cs.vu.nl>
> To: saga-rg at ogf.org
> Subject: [SAGA-RG] minutes from the OGF21 session on the Java language binding
>
>
>
> Minutes of the meeting of SAGA-RG
> held at OGF21, oct 17, 2007, 15:15-16:45
>
> notes: Shantenu Jha, Thilo Kielmann
>
> agenda:
>
> 1. IPR
> 2. Agenda bashing
> 3. Java binding for the CORE spec
>
> Thilo Kielmann opens the session, explains the IPR rules and hands out
> the signup sheet
>
> It is agreed to begin the session with a short report-out from the
> "future of DRMAA" session.
> Here, Dan Templeton reports about the plans to prepare a next DRMAA
> version as another SAGA package.
> Both the SAGA and DRMAA groups want to cooperate on this issue.
>
> Java binding:
>
> Thilo Kielmann is presenting important aspects of the Java binding, as
> it is currently being developed by his group.
>
> fundamental decisions:
>
> - design for Java 1.5
> - for application portability across multiple implementations, a mechanism
> like C++ header files is desirable. for this purpose, the language binding
> presents all SAGA interfaces and classes as interfaces, accompanied by
> factory classes. These interfaces and classes will have to be used by all
> implementations, acting like header files.
>
> Flags being used, e.g. for file read/write/create operations.
> -----
> The current soluton is based on enumerations. The participants doubt that
> this solution is ideal. Use of these enumerations is complex due to the
> method interface of the object. Also, these enums are converted to integers
> for the operations (e.g., file read); this violates type safety.
>
> The participant discuss alternatives for modeling such flags. They favour
> two options:
> a) a pure integer-based solution without type safety, but with an easy to use
> interface and predefined constants (powers of two)
> b) a real object that never gets casted to integers
>
> Proposals for both versions shall be made and posted to the mailing list for
> comparison and for adopting one of these two approaches.
>
> timeout values:
> --------------
> numeric constants such as "nowait" and "waitforever" shall be used instead
> of 0 and -1
>
> Buffers:
> -------
>
> it is suggested to check whether the NIO bytebuffer could be used instead of
> a from-scratch buffer
>
>
> files:
> -----
> SAGA files are POSIX style
> the Java binding is using exceptions instead of the POSIX error codes
> The current file implementation is inspired by random files.
> inputstream and outputstream shall be layered on top of this.
>
> tasks:
> -----
>
> this interface (group) seemingly needs more attention
>
> it is suggested to check whether future objects from the concurrency library
> could be used.
> the RVTask looks very much like a future
>
> the asymmetry between run() and waittask() should be resolved
>
>
> optional parameters:
> -------------------
>
> it is suggested to add methods (via overloading) that do not have the last
> parameter for those methods with optional parameters in the SAGA CORE spec.
> maybe the varargs mechanism might help (whatever becomes easier to use)
>
>
> implicit sessions:
> -----------------
> in SAGA, the default session is used unless specified differently.
> this means that the factories need additional methods without session
> parameters.
>
>
> RPC package:
> -----------
>
> esp here, the varargs package might be useful
>
>
> CPI, adaptor interface:
> ----------------------
>
> The audience suggests to add an SPI (service provider interface) as part
> of the Java language binding (currently called CPI in the JavaGAT)
> This could allow for a standardized adaptor interface, and thus adaptor
> reuse.
> Good examples for such an API/SPI combinations are: JAXP, LDAP, DRMAA
>
>
> multiple implementations:
> ------------------------
>
> the questions was raised whether it would be / should be possible to
> use multiple SAGA implementations in the same application.
> It was decided to not support this as no real need is seen.
>
> thread safety:
> -------------
> The audience decided that simply requiring thread safety (and synchronization)
> of SAGA methods would simplify application development. An expected
> performance impact is considered of lesser importance, as the service times
> of remote services dominate invocation times anyway.
--
No trees were destroyed in the sending of this message, however,
a significant number of electrons were terribly inconvenienced.
-------------- next part --------------
OGF21, Seattle
Wednesday, October 17th, 2007
SAGA Session #2 -- Service and Resource Discovery
-------------------------------------------------
Part I: Service Discovery
-------------------------
- Notetaker: AM
- SF walks audience through the document proposal.
- discussion of Glue 1.3 versus Glue 2.0
- SF: they different, but essential attribs are present.
- SF: only different is service self reference, we are
trying to get that back in.
- AM: shouldn't there be a proper reference to Glue?
- SF: yep, probably should, we add that (TODO)
- AM: is there a way to how to query for default VOs
(e.g. take the session contexts' VOs)
- SF: maybe, we will think of something... (TODO)
- ??: results for non authorized backends are silently discarded?
- SF: yes
- AM: question about value definitions, e.g. for 'type == RB' versus
'type = Resource Broker'
- SF: type values are not defined by GLUE, use '*' to look around
what is there.
- some discussion about the current C++ implementation, adaptor
selection, and the ability combine results from multiple adaptors
- AM/SJ will raise that topic with the SAGA C++ developers
- SF: want to have control over adaptor selection
- AM: shortcut: exception 'TryAgain' and store results in CPI
state?
- summary:
- Steven to edit according to comments (TODO)
- after that, submit to editor for public comment (TODO)
Part II: Resource Discovery
---------------------------
- Notetaker: TK
- Q: what covers resource discovery in use cases?
- A: discover compute resources
- Q: use case details? what do people want? through a service?
- A: basically only finding hostnames at the moment.
- Q: qhat is the information model?
- Q: what is the query language? sql? xpath?
- Q: could we use an extension of the advert service interface?
- GL: cog uses condor matchmaking
- ??: wsrf has discovery mechanism built in
- SJ: go back and collect use cases!
- SF: look at the glue use cases!
TODO: Steve searches references
DONE: https://forge.gridforum.org/sf/go/doc14621?nav=1
- GL: gridway must have an api for res. discovery
TODO: Andre to check
- ??: express the glue schema as classads?
- ?? just pass strings? would that bind to certain providers
(e.g., SQL vs. MDS)?
- Summary
no conclusions on open questions, first check out the mentioned
use cases.
SF: Steve Fisher
AM: Andre Merzky
SJ: Shantenu Jha
TK: Thilo Kielmann
GK: Gregor von Laszewski
??: can't remember who
More information about the saga-rg
mailing list