200 likes | 334 Views
“Open Source, OGSA Implementation”. Genesis II: Mapping Grids into the Local File System: Access, RNS, and ByteIO. Andrew Grimshaw Genesis II Team University of Virginia. Outline. Background Genesis II - The specs in action. Access Layer. Grid Services Layer. Resources Layer.
E N D
“Open Source, OGSA Implementation” Genesis II:Mapping Grids into the Local File System: Access, RNS, and ByteIO Andrew Grimshaw Genesis II Team University of Virginia Genesis II “Open Source, OGSA Implementation”
Outline • Background • Genesis II - The specs in action Genesis II “Open Source, OGSA Implementation”
Access Layer Grid Services Layer Resources Layer API’s & interfaces, e.g. SAGA, NFS, CIFS Standard portypes Classic three layer view Genesis II “Open Source, OGSA Implementation”
Classic 3-layer name scheme Abstract name: EPI, rebinding Human names RNS file name 1 File replica 1 … WS-name EPR File replica 2 RNS file name n … File replica m This is essentially a table WS-Names are WS-Addresses with optional EPI and resolver EPR Genesis II “Open Source, OGSA Implementation”
Four specs • RNS – directory service that maps strings to EPRs <<EPR> XSD-any> • Can build directed graphs, including trees • Leaves can be most anything, web pages, ByteIO endpoints, DMI endpoints, BES resources • WS-Naming – A profile on WS-Addressing that supports identity and rebinding of addresses – migration, failure, and replication transparency • ByteIO – think POSIX file/steam, read, write, stat • BES – Accepts JSDL documents and executes them Genesis II “Open Source, OGSA Implementation”
Outline • Background • Genesis II – The specs in action Genesis II “Open Source, OGSA Implementation”
User’s First • A large percentage of a grid’s target audience is unable or unwilling to learn new interaction abstractions • Instead of asking the user to adapt to the grid, we should adapt the grid to the user Genesis II “Open Source, OGSA Implementation”
User Abstractions • One of the most ubiquitous user interaction abstractions is the file system • Drag-and-drop • Double Click • /proc filesystem • Named pipes • RNS, ByteIO, and WS-Naming provide the foundation for building these abstractions Genesis II “Open Source, OGSA Implementation”
(Most) everything is a file or directory • Files and directories can be accessed without knowing anything about Grids, Web Services, or anything thanks to OGRSH/IFS • OGRSH/IFS map the Grid into the file system • BES resources, queues are directories • “ls” to list the jobs, “cat” a job to see its state • “cp” a JSDL file into the directory -> start the job up • A shell script can start jobs by copying • Genesis II containers are directories • “ls” to see the services and porttypes • IDP are files/directories • IS’s are directories • “cp” a query file to IS, creates result • RDBMS’s will be directories • The user can access all of these services without dealing with Web Services!! Genesis II “Open Source, OGSA Implementation”
Genesis II - Data • FTPd for Windows • OGRSH for Linux (shim) • IFS for Windows • ExportDir • Replicated ExportDir Genesis II “Open Source, OGSA Implementation”
Localhost Fdpd • Fully secure • My X.509 • SSL • No bits in the clear Genesis II “Open Source, OGSA Implementation”
Windows IFS Genesis II “Open Source, OGSA Implementation”
OGRSH (Linux) Genesis II “Open Source, OGSA Implementation”
Using RNS to name non-file-system components • BES resources are also RNS directories • We can schedule a job on a resource simply by “dropping” it into the directory Genesis II “Open Source, OGSA Implementation”
Export Directory • Map a Unix or Windows file system into the Genesis II RNS name space so that others can securely Create/Read/Write/Destroy Genesis II “Open Source, OGSA Implementation”
Mapping data into the Grid • Links directories and files from source location to data grid directory and user-specified name • Presents unified view of the data across platforms, locations, domains, etc. • Data publisher controls authorization policy. Data clients Data clients Data publisher Data publisher Data publisher Windows Windows Linux Genesis II “Open Source, OGSA Implementation”
Export Directory Tool Genesis II “Open Source, OGSA Implementation”
Create an Export DirSelect local path Genesis II “Open Source, OGSA Implementation”
Create an Export DirSelect target RNS path Genesis II “Open Source, OGSA Implementation”
Moral of the story • RNS allows us to place arbitrary resources into a traditional directed graph/tree structure • OGRSH/IFS map RNS namespaces into the local file system • Users can interact with the grid without knowing anything about grids Genesis II “Open Source, OGSA Implementation”