09.07.2015 Views

SAGA: A Simple API for Grid Applications High-Level Application ...

SAGA: A Simple API for Grid Applications High-Level Application ...

SAGA: A Simple API for Grid Applications High-Level Application ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4 COMPUTATIONAL METHODS IN SCIENCE AND TECHNOLOGYB. <strong>Grid</strong>RPC-WGThe <strong>Grid</strong>RPC <strong>API</strong> [13] represents ongoing work to standardizeand implement a portable and simple remote procedurecall (RPC) mechanism <strong>for</strong> grid computing. This standardizationef<strong>for</strong>t is being pursued through <strong>Grid</strong>RPC WorkingGroup at GGF. The initial work in that group showed thatclient access to existing grid computing systems such asNetSolve [14], Ninf [15], and DIET [16], can be unified via acommon <strong>API</strong>, a task that has proven to be problematic in thepast. The group successfully created such an <strong>API</strong> specification,which is now a GGF Draft Recommendation [17].The cooperation with the <strong>SAGA</strong>-WG allows the <strong>Grid</strong>RPC-WG to broaden the target user community <strong>for</strong> <strong>Grid</strong>RPCsignificantly, and would also equip the <strong>Grid</strong>RPC <strong>API</strong> witha look & feel which is compatible with the one used <strong>for</strong> othergrid programming paradigms. For example, the model <strong>for</strong>asynchronous calls used <strong>for</strong> RPCs will match the model <strong>for</strong>asynchronous calls of other paradigms, e.g. remote file access.C. <strong>Grid</strong>CPR-WGGGFs <strong>Grid</strong> Checkpoint and Recovery (<strong>Grid</strong>CPR) WorkingGroup [18] is devising an architecture <strong>for</strong> checkpointing longrunning applications <strong>for</strong> later recovery, possibly on differentgrid resources. <strong>Grid</strong>CPR use cases include fault resilience,intermittent operation (using small time slices until final completion),as well as parameter space exploration using various,related checkpoints.The currently envisioned architecture encompasses services<strong>for</strong> authentication/authorization, job management, checkpointstate management, checkpoint transfer, and event handling.<strong><strong>Application</strong>s</strong> are supposed to use a <strong>Grid</strong>CPR library, providingan <strong>API</strong> to these services. Details of this <strong>API</strong> arecurrently under investigation. As several concepts are similarto those defined by the <strong>SAGA</strong> <strong>API</strong> (copy/move checkpointfiles, read/write data, find files etc.), compatibility with <strong>SAGA</strong>is desired. That would provide application programmers witha more complete and consistent interface to the grid relatedcapabilities offered by the <strong>API</strong>s.D. OGSA-WGThe Open <strong>Grid</strong> Services Architecture (OGSA) WorkingGroup at GGF defines a Web Service based architecture whicheventually will be the overarching design principle <strong>for</strong> all gridservices. The problem space targeted by the OGSA group atfirst seems unrelated to the <strong>SAGA</strong> ef<strong>for</strong>t but, in fact, representsthe class of service-oriented, middleware architectures thatcould be the target plat<strong>for</strong>m <strong>for</strong> many <strong>SAGA</strong> implementations.Such service-oriented architectures address many issues, suchas resource naming, state management, and security, that willrequire a simplified mapping into the <strong>SAGA</strong> <strong>API</strong>. Hence, the<strong>SAGA</strong>-WG is in active communication with the OGSA groupand other OGSA-related ef<strong>for</strong>ts to ensure the proper levelof compatibility by cross-reviewing their respective standarddocuments and by providing <strong>SAGA</strong> reference implementationson OGSA-based middleware systems.E. Other GGF Working GroupsThe <strong>Grid</strong> File Systems (GFS) Working Group [19] targetsthe definition of a architecture which integrates physical filesystems into a single global, uni<strong>for</strong>m name space [20]. The<strong>SAGA</strong>-WG uses the definitions <strong>for</strong> name spaces defined bythe GFS-WG, and hence has the same notion of files anddirectories as that group.The Byte-IO Working Group [21] defines an OGSA compatibleservice which allows <strong>for</strong> efficient remote access tobinary data, e.g. files. Also, the <strong>Grid</strong>FTP Working Group [22]defined extensions to the standard FTP protocol which allows<strong>for</strong> efficient memory-to-memory and disk-to-disk data transferin grids. Both groups invest significant time in exploringparadigms <strong>for</strong> efficient remote data access. These paradigmsare partially reflected by the <strong>SAGA</strong> <strong>API</strong>.The JSDL Working Group [23] defines a XML based JobSubmission and Description Language. Although the <strong>SAGA</strong><strong>API</strong> currently refrains from any explicit usage of XML, thekeywords used <strong>for</strong> the <strong>SAGA</strong> job descriptions reflect thosedefined by JSDL.The Persistent Archive (PA) Research Group [24], DataReplication (REP) Research Group [8] and the OGSA ReplicaServices (OREP) Working Group [25] have all worked onthe services that manage distributed data files <strong>for</strong> data grids.Their work [26] is reflected in the <strong>SAGA</strong> Logical File <strong>API</strong>,which adopts the concept of logical files (or ’replicas’) thatwas defined by these groups.IV. RELATED WORKThe work on the <strong>SAGA</strong> <strong>API</strong> is not an isolated ef<strong>for</strong>t, butbuilds on top of a number of previous projects targeting thesame problem space. The Globus-CoG is probably the mostprominent representative of an <strong>API</strong> which tries to specificallyabstract the Globus package. The GAT from the EU-<strong>Grid</strong>Labproject targets already a more general abstraction of gridparadigms, and follows similar design principles as <strong>SAGA</strong>.Other projects such as Reality<strong>Grid</strong> and Data<strong>Grid</strong>/EGEE/LHCtarget the same problem space, but with interfaces withstronger focus on specific community needs. This sectiondescribes these ef<strong>for</strong>ts and their influence on <strong>SAGA</strong> in somedetail. In general, the <strong>SAGA</strong>-WG can be seen as the “GrandUnification” of all these grid <strong>API</strong>s, which provides a moreuni<strong>for</strong>m, middleware independent and standardized solution<strong>for</strong> grid application programmers.DRAFTA. GATThe design of the Strawman <strong>API</strong> and the ongoing workon a <strong>SAGA</strong> engine implementing this Strawman <strong>API</strong> is verymuch influenced by the experiences collected with the <strong>Grid</strong><strong>Application</strong> Toolkit (GAT [3]).Figure 1 shows the GAT architecture. It mainly distinguishesbetween user space and capability space. In user space runsthe application code that has been programmed using the GAT<strong>API</strong>. The GAT engine is a lightweight layer that dispatchesGAT <strong>API</strong> calls to service invocations via GAT adaptors.Adaptors are specific to given services and hide all servicespecificdetails from the GAT. A GAT engine typically loads

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!