260 likes | 395 Views
The SNARL Service: Standards-based Naming for Accessing Resources in an LFC. Karolina Sarnowska CERN Openlab Summer Program 2008. Outline. Introduction and Background SNARL Development Conclusion. Interoperability, Grid Standards, and SNARL. Introduction & background.
E N D
The SNARL Service: Standards-based Naming for Accessing Resources in an LFC Karolina Sarnowska CERN Openlab Summer Program 2008
Outline • Introduction and Background • SNARL Development • Conclusion
Interoperability, Grid Standards, and SNARL Introduction & background
Open Grid Forum • Community of users, developers, and vendors • Leading global standardization effort • Efforts strive to accelerate grid adoption
The Low-level Problem: Naming for Resource Access • Need means of accessing resources • What’s in a name? • human-readable • refers to specific resource
Resource Naming Service (RNS) • Describes standard way of mapping names to grid endpoints • RNS 1.0 Operations: • Add • List • Remove • Query • Update
Endpoint References (EPRs) Handles: Convey information needed to address Web service endpoint <Address> <Reference Parameters> <Metadata> <Security Context>
SRM vs RNS SRM RNS add list remove query update • srmLs • srmMkdir • srmPrepareToPut • srmRm • srmMv
LFC: The LCG File Catalog • Catalog of data files on storage elements • Each logical file entry can correspond to multiple physical files (replicas) • Provides mapping between logical file names and storage URLs
My Summer Project: SNARL • Standards-based Naming for Accessing Resources in an LFC • RNS implementation for LFCs LFC /grid /atlas /alice /cms /dteam (1) RNS Requests SE Grid Client SE SNARL Service (2) LFC API Calls SE (3) RNS Resonses
Creating an RNS compliant web service with Axis2/C SNARL Development
Development Process • Setup web services framework with Axis2/C • Create RNS compliant service with WSDL2C • Implement RNS operations with LFC API calls • Create clients for (interoperability) testing
Apache Axis2/C • Web services engine implemented in C • Handles SOAP message processing • Built-in support includes: • WS-Addressing • WS-Policy • WS-SecurityPolicy
WSDL2C • Specify RNS compliant web service in WSDL • Use WSDL2C tool to generate web service skeleton in C
Implementing RNS Operations • Need to map RNS operation to LFC API calls • Add • List • Remove • Query • Update • Naming dilemma: should replicas appear in namespace?
LFN vs. Replica (1) RNS List Grid Client SNARL Service (3) EPR (2) LFC API Calls • SE • fooReplicaA • LFC • lfn: /grid/foo • SE • fooReplicaB
Translating RNS Add to LFC API • If new logical file name: lfc_creatg • If new replica: lfc_addreplica (name specified by storage URL)
RNS Operations: Add REQUEST: specify name of new entry <soap:Envelope xmlns:soap=‘http://www.w3.org/2003/soap-envelope’ xmlns:wsa=‘http://www.w3.org/2005/03/addressing’> <soap:Header> <wsa:Action> http://schemas.ggf.org/rns/2006/03/rns/add </wsa:Action> </soap:Header> <soap:Body> <rns:add xmlns:rns=‘http://schemas.ggf.org/rns/2006/05/rns’> <rns:entry_name> /grid/foo </rns:entry_name> </rns:add> </soap:Body> </soap:Envelope>
RNS Operations: Add RESPONSE: EPR of newly created entry <soap:Envelope xmlns:soap=‘http://www.w3.org/2003/soap-envelope’ xmlns:wsa=‘http://www.w3.org/2005/03/addressing’> <soap:Header> <wsa:Action> http://schemas.ggf.org/rns/2006/03/rns/add Response </wsa:Action> </soap:Header> <soap:Body> <rns:addResponse xmlns:rns=‘http://schemas.ggf.org/rns/2006/05/rns’> <rns:entry_reference> <wsa:Address> http://pcitgd02.cern.ch:9090/axis2/services/snarl </wsa:/Address> <wsa:ReferenceParameters> /grid/foo </wsa:ReferenceParameters> </rns:entry_reference> </rns:addResponse> </soap:Body> </soap:Envelope>
Interoperability Testing LFC /grid /atlas /alice /cms /dteam Genesis II Grid Client (1) RNS Request SE (3) RNS Resonse SE SNARL Service (2) LFC API Calls SE
Future Directions • Add security context • Update for RNS 2.0 • Add ByteIO implementation for data access • Explore use as interface between LFC and other tools
Summary • Implementation of RNS specification for existing grid system is possible • Interoperability using RNS specification is achievable • RNS operations are very basic
Thank You! • Akos Frohner • Erwin Laure • DM Team • Andrew Grimshaw • Mark Morgan
"Open Grid Forum," http://www.ogf.org. M. Pereira, O. Tatebe, L. Luan, and T. Anderson, "Resource Namespace Service Specification," https://forge.gridforum.org/sf/docman/do/downloadDocument/projects.gfswg/docman.root.working_drafts/doc8272/5, World Wide Web Consortium, 2006. M. M. Morgan and A. S. Grimshaw, "Genesis II – Standards Based Grid Computing," Seventh IEEE International Symposium on Cluster Computing and the Grid, 2007. “Apache Axis2/C,” http://ws.apache.org/axis2c Questions?