rochester institute of technology cyberaide shell: interactive task management for grids and...

27
Rochester Institute of Technology 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 06/18/22 http://cyberaide.org http://cyberaide.org 1

Upload: samuel-gray

Post on 04-Jan-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

Rochester Institute of Technology

Cyberaide Shell: Interactive Task Management for Grids and

CyberinfrastructureGregor von Laszewski,

Andrew J. Younge, Xi He, and Fugang Wang

Service Oriented Cyberinfrastructure LaboratoryRochester Institute of Technology

Bldg 74, Lomb Memorial DriveRochester, NY 14523-5608

04/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 11

Page 2: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

Agenda

• Introduction• Related Research• Problem• Proposed Solution• Design• Implementation• Use Case• Conclusion

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 22

Page 3: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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.”

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 33

Page 4: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

Grid Hierarchy

04/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 44

Page 5: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

Grid Fabric (Clusters)

04/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 55

All clusters are batch queuing systems

Page 6: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 66

Page 7: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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)

04/20/2304/20/2304/20/2304/20/23 77http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org

Page 8: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

TeraGrid View

SDSC

TACC

UC/ANL

NCSA

ORNL

PU

IU

PSC

NCAR

CaltechUNC/RENCI

UW

Resource Provider (RP)

Software Integration Partner

Grid Infrastructure Group (UChicago)

LONI

NICS

04/20/2304/20/2304/20/2304/20/23 88http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org

Page 9: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

TeraGrid User Portal

04/20/2304/20/2304/20/2304/20/23 99http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org

Page 10: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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.”

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 1010

Page 11: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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.

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 1111

Page 12: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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

04/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 1212

Page 13: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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?

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 1313

Page 14: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

Requirements

• Simple, intuitive, and user friendly• Unifying framework• Extensible• Interactive• Fault tolerant• Event management• Support batch processing• Integrates new Cyberinfrastructure

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 1414

Page 15: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

Rochester Institute of Technology

What if we combined Grids with Shells?

Performance + Usability

(have your cake and eat it too)

04/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 1515

Page 16: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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…”

04/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 1616

Page 17: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

High Level Design

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 1717

Page 18: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

Architectural Design

04/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 1818

Page 19: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

Implementation

– Set– Submit– Person– Man

– List– Experiment– Resources– Tasks

04/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 1919

• Prototype implementation• Demonstrates our design’s feasibility• Uses Globus GT2 and GT4 technologies for

backend services• Supports basic commands

Page 20: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

Command List

04/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 2020

Page 21: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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:

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 2121

Page 22: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 2222

Page 23: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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!

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 2323

Page 24: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

Cyberaide Portal

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 2424

Page 25: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

Use Case

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 2525

Page 26: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 2626

Page 27: Rochester Institute of Technology Cyberaide Shell: Interactive Task Management for Grids and Cyberinfrastructure Gregor von Laszewski, Andrew J. Younge,

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

04/20/2304/20/2304/20/2304/20/23 http://cyberaide.orghttp://cyberaide.orghttp://cyberaide.orghttp://cyberaide.org 2727