270 likes | 395 Views
Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure. Gregor von Laszewski, Andrew J. Younge, Xi He, and Fugang Wang Service Oriented Cyberinfrastructure Laboratory Rochester Institute of Technology Bldg 74, Lomb Memorial Drive Rochester, NY 14523-5608. Agenda.
E N D
Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge, Xi He, and Fugang Wang Service Oriented Cyberinfrastructure Laboratory Rochester Institute of Technology Bldg 74, Lomb Memorial Drive Rochester, NY 14523-5608 http://cyberaide.org
Agenda • Introduction • Related Research • Problem • Proposed Solution • Design • Implementation • Use Case • Conclusion http://cyberaide.org
Introduction What is Grid Computing? “Grid computing is a complex and diverse field where different technologies are constructed and combined to enable the use of distributed resources under administratively separate domains.” http://cyberaide.org
Grid Hierarchy http://cyberaide.org
Grid Fabric (Clusters) All clusters are batch queuing systems http://cyberaide.org
Middleware • Middleware combines multiple clusters together. • Administratively separate systems • Large dedicated clusters • Globus Toolkit • Most popular of all Grid middleware technologies • Developed at Argonne National Laboratory • GT4 uses advanced WSRF Web Services • G-Lite • Developed by the EGEE project • Used in the Large Hadron Collider experiments http://cyberaide.org
The TeraGrid • NSF-funded national-scale Grid Infrastructure • 11 Locations – LONI, NCAR, NCSA, NICS, ORNL, PSC, IU, PU, SDSC, TACC, UC/ANL • 1.1Petaflops, 161 thousand CPUs, 60 Petabytes disk space • Dedicated 10G fiber lines to each location • Specialized visualization servers • Uses Globus Toolkit 4’s basic WS services and security protocols • Grid Infrastructure Group (GIG) at U. Chicago • Commity for Teragrid planning, management, and coordination • Science Gateways • Independent services for specialized groups and organizations • “TeraGrid Inside” capabilities • Web Portals, desktop apps, coordinated access points • Not Virtual Organizations (VOs) http://cyberaide.org
TeraGrid View Grid Infrastructure Group (UChicago) UW PSC UC/ANL NCAR PU NCSA UNC/RENCI IU Caltech ORNL NICS SDSC LONI TACC Resource Provider (RP) Software Integration Partner http://cyberaide.org
TeraGrid User Portal http://cyberaide.org
Introduction What is a System Shell? “A system shell is a piece of software that provides a text based interface which abstracts complex services for users.” http://cyberaide.org
Shell environments • Shells are used to abstract complex services • Typically used in Operating Systems • Hide the complexity of the underlying kernel and support services • Provide a unified user environment • Command-Line Interface • To many power users, this is preferred • More function and control available • Shells can be scripted to automate common high-level tasks. http://cyberaide.org
Shells used • System shells are used as part of an OS to provide a CLI for users • Distributed Shells execute tasks similar to system shells, however in Parallel • Language Shells interprets users’s code and commands during runtime http://cyberaide.org
Problem • A steep learning curve and high entry barrier limit the use of Grid computing within the scientific community. • Parallel programming is difficult • Using middleware technologies can be cumbersome and inefficient • Users need to be advanced programmers just to use the technology • How do we simplify the Cyberinfrastructure environment for scientists? http://cyberaide.org
Requirements • Simple, intuitive, and user friendly • Unifying framework • Extensible • Interactive • Fault tolerant • Event management • Support batch processing • Integrates new Cyberinfrastructure http://cyberaide.org
What if we combined Grids with Shells? Performance + Usability (have your cake and eat it too) http://cyberaide.org
Cyberaide Shell • Simple to use system shell which provides access to the powerful Grids and advanced Cyberinfrastructure that is available today • However, “This isn’t your father’s UNIX shell…” http://cyberaide.org
High Level Design http://cyberaide.org
Architectural Design http://cyberaide.org
Implementation • Prototype implementation • Demonstrates our design’s feasibility • Uses Globus GT2 and GT4 technologies for backend services • Supports basic commands • Set • Submit • Person • Man • List • Experiment • Resources • Tasks http://cyberaide.org
Command List http://cyberaide.org
Nested Shells • Cyberaide Shell supports the idea of Nested Shells • “shell-within-a-shell” • Each command has its own interpreter which interrogates options dynamically • More efficient scripts • Two Ways: http://cyberaide.org
Literate Semantic Objects (LSOs) • New data management concept • LSOs store attribute-value pairs – simple! • Mutable during runtime • Object inheritance • All objects inherent form this object • Can be recorded in many different formats • XML, JSON, CSV • Converted to SQL • Provide semantic information to the shell during runtime http://cyberaide.org
Extending Cyberaide Shell • Creating a Service Oriented Architecture • Expose shell a Web Service • Web Services Interoperability standar • WS-Security for endpoint to endpoint security with X.509 certificates • Uses Apache CXF and Jetty HTTP server to host Web service • Various Client API’s possible • Using Web service, its possible to build a Web Portal on top of the shell! http://cyberaide.org
Cyberaide Portal http://cyberaide.org
Use Case http://cyberaide.org
Future Work • Implement other Cyberinfrastructure services • EGEE project and the Open Science Grid • Amazon Elastic Compute Cloud (EC2) • Improve scheduling and workflow systems • Improving integration with the Portal • Develop language specific APIs http://cyberaide.org
Conclusion • Cyberaide Shell helps scientists overcome the challenges faced when using advanced Cyberinfrastructure • Combines the power of Grids with the usability of shells • Enhances previous work in system shells with the use of semantic commands and nested commands • Provides the shell as a Web service to allow for distributed usage across multiple platforms http://cyberaide.org