Grid Computing Environment Shell By Mehmet Nacar Las Vegas, June 2003.

Slides:



Advertisements
Similar presentations
LEAD Portal: a TeraGrid Gateway and Application Service Architecture Marcus Christie and Suresh Marru Indiana University LEAD Project (
Advertisements

Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
1 Transactions and Web Services. 2 Web Environment Web Service activities form a unit of work, but ACID properties are not always appropriate since Web.
The Web Warrior Guide to Web Design Technologies
1 Generic logging layer for the distributed computing by Gene Van Buren Valeri Fine Jerome Lauret.
Lesson 10-Controlling User Processes. Overview Managing and processing processes. Managing jobs. Exiting/quitting when jobs have been stopped.
A Computation Management Agent for Multi-Institutional Grids
COEN 445 Communication Networks and Protocols Lab 4
Interactive Systems Technical Design Seminar work: Web Services Janne Ojanaho.
Distributed components
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Server Architecture Models Operating Systems Hebrew University Spring 2004.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
An Architecture for a Massively Multiplayer Online Role Playing Game Engine.
Fundamentals of Python: From First Programs Through Data Structures
Lecture 2 – MapReduce CPE 458 – Parallel Programming, Spring 2009 Except as otherwise noted, the content of this presentation is licensed under the Creative.
Web Service Implementation Maitreya, Kishore, Jeff.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
JSP Standard Tag Library
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Chapter 33 CGI Technology for Dynamic Web Documents There are two alternative forms of retrieving web documents. Instead of retrieving static HTML documents,
KARMA with ProActive Parallel Suite 12/01/2009 Air France, Sophia Antipolis Solutions and Services for Accelerating your Applications.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
Application Web Service Toolkit Geoffrey Fox, Marlon Pierce, Ozgur Balsoy Indiana University July
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
Using Visual Basic 6.0 to Create Web-Based Database Applications
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Lecture 15 Introduction to Web Services Web Service Applications.
Module 5: Designing a Terminal Services Infrastructure.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Application code Registry 1 Alignment of R-GMA with developments in the Open Grid Services Architecture (OGSA) is advancing. The existing Servlets and.
V. Serbo, SLAC ACAT03, 1-5 December 2003 Interactive GUI for Geant4 by Victor Serbo, SLAC.
CS162B: Pipes Jacob T. Chan. Pipes  These allow output of one process to be the input of another process  One of the oldest and most basic forms of.
Composing workflows in the environmental sciences using Web Services and Inferno Jon Blower, Adit Santokhee, Keith Haines Reading e-Science Centre Roger.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
ESafe Open Modules Overview Open modules implementing the eSafe document exchange protocol.
Interactive Workflows Branislav Šimo, Ondrej Habala, Ladislav Hluchý Institute of Informatics, Slovak Academy of Sciences.
Jini Architecture Introduction System Overview An Example.
AliEn AliEn at OSC The ALICE distributed computing environment by Bjørn S. Nilsen The Ohio State University.
GCE Shell? GGF6 Chicago October Geoffrey Fox Marlon Pierce Indiana University
JAVA BEANS JSP - Standard Tag Library (JSTL) JAVA Enterprise Edition.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows Aleksander Slomiski Presented by Onyeka Ezenwoye CIS Advanced Topics in Software.
Data Manipulation with Globus Toolkit Ivan Ivanovski TU München,
Application Web Service Toolkit Allow users to quickly add new applications GGF5 Edinburgh Geoffrey Fox, Marlon Pierce, Ozgur Balsoy Indiana University.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Preservation Data Services Persistent Archive Research Group Reagan W. Moore October 1, 2003.
A service Oriented Architecture & Web Service Technology.
Manohar1 Fault Handling Activities covered: 1.Scope 2.Throw 3.Catch 4.Sensor.
Business Process Execution Language (BPEL) Pınar Tekin.
Chapter Objectives In this chapter, you will learn:
JRA2: Acceptance Testing senarious
Introduction Python is an interpreted, object-oriented and high-level programming language, which is different from a compiled one like C/C++/Java. Its.
Module 4 Remote Login.
Chapter 2: The Linux System Part 2
Fault Tolerance Distributed Web-based Systems
Module 01 ETICS Overview ETICS Online Tutorials
Introduction to Web Services
Condor-G: An Update.
Presentation transcript:

Grid Computing Environment Shell By Mehmet Nacar Las Vegas, June 2003

Overview GCEShell (Grid Computing Environment Shell) provides a user view of computational Grid technologies. GCEShell (Grid Computing Environment Shell) provides a user view of computational Grid technologies. GCEShell is a shell-like system portal. GCEShell is a shell-like system portal.  It is inspired by Unix shell environments Using Web Services and OGSA infrastructure as a global operating system. Using Web Services and OGSA infrastructure as a global operating system. Shell commands for manipulating remote files, for listing system resources. Shell commands for manipulating remote files, for listing system resources. GCEShell engine is simple, well defined mechanism for adding new shell commands. GCEShell engine is simple, well defined mechanism for adding new shell commands.

GCEShell Engine The shell engine is the core application The shell engine is the core application  runs client commands  communicates with applications and registries  manages application lifecycles The engine spawns a new thread for each shell command The engine spawns a new thread for each shell command GCEShell involves both local and remote commands. GCEShell involves both local and remote commands.  If given argument is a URL, the command known as remote and WSDL interfaces gives description of the service.  Otherwise, it is local like history, kill, exit etc.

GCEShell Engine cont. The shell engine aggregates all the objects that perform functionality to the shell container. The shell engine aggregates all the objects that perform functionality to the shell container.  Objects are commands, tasks and workflows If the server is down, the request may be repeated according to service priority and importance. If the server is down, the request may be repeated according to service priority and importance. if a part of command arguments fails, either entire command fails or partial result given on demand. if a part of command arguments fails, either entire command fails or partial result given on demand.

GCEShell Engine cont. The base shell context is responsible for creating child shell contexts to hold individual commands and for managing the lifecycle of these child contexts. The base shell context is responsible for creating child shell contexts to hold individual commands and for managing the lifecycle of these child contexts. It also manages communications between the child contexts; that is, the pipes and redirects are functions of the base context. It also manages communications between the child contexts; that is, the pipes and redirects are functions of the base context. The child context will need to implement a listener that gets notified when the command completes on the server. The child context will need to implement a listener that gets notified when the command completes on the server.

Components Figure shows the shell engine’s principal components. Figure shows the shell engine’s principal components. Each component in our implementation is a Java interface with an implementing class. The shell interface has the following components. Each component in our implementation is a Java interface with an implementing class. The shell interface has the following components.  Base Shell  Parser  Workflow Manager  Exception Handler

GCE Interface (User Commands) SOAP Parser Base Shell Exception Handler Local ClientsWorkflow Manager WS Clients Remote Services GCE Shell Engine WSOGSA (1) (5) (3) (2) (4a) (4b) Exception Thrown

Execution Steps A command is caught by the shell engine and divided into the tokens by the Parser. A command is caught by the shell engine and divided into the tokens by the Parser. The workflow manager is responsible for managing the execution of the clients and their arguments. The workflow manager is responsible for managing the execution of the clients and their arguments. Arguments may indicate either local applications such as shell history command, or services that must connect to remote applications. In the latter case, the client must then interact with the remote Web Service as next step. Arguments may indicate either local applications such as shell history command, or services that must connect to remote applications. In the latter case, the client must then interact with the remote Web Service as next step.

GCEShell Tasks GCEShell contains command and context interfaces which must be implemented by new commands. GCEShell contains command and context interfaces which must be implemented by new commands. The shell interface has the following methods. The shell interface has the following methods.  For each attribute, write accessor (get and set) methods.  For execution directions, execute() method.  To kill the command or process, exit() method.  Allowing process to sleep, suspend() method.

GCEShell Commands gce-list is based on WSIL gce-list is based on WSIL gce-copy is Grid FTP gce-copy is Grid FTP gce-ls could be local and remote gce-ls could be local and remote gce-ps could be local and remote gce-ps could be local and remote gce-set is a local command gce-set is a local command gce-history is a local command gce-history is a local command gce-man is a local command gce-man is a local command gce-kill is a local command gce-kill is a local command gce-help is a local command gce-help is a local command

Adding New Commands Commands are similar to jakarta-ant tasks and JXTA ShellCommands in terms of adding new functionalities. Commands are similar to jakarta-ant tasks and JXTA ShellCommands in terms of adding new functionalities. Commands will be well defined by interfaces, so a developer might want to add more commands. Commands will be well defined by interfaces, so a developer might want to add more commands. To plug a new command into shell container, updating property file giving command name and package name pairs. To plug a new command into shell container, updating property file giving command name and package name pairs.

Exception Handling GCEShell has modular and integrated design, to prevent conflicts in terms of using services and crashes. GCEShell has modular and integrated design, to prevent conflicts in terms of using services and crashes. GCEShell, which interact with distributed resources that may become unavailable for a number of reasons. GCEShell, which interact with distributed resources that may become unavailable for a number of reasons. Each exception interacted with related module, but most of them are handled by the workflow manager and base shell. Each exception interacted with related module, but most of them are handled by the workflow manager and base shell.

Exceptions ParserException is thrown, when the command stream consist of unknown syntax parameters or characters. ParserException is thrown, when the command stream consist of unknown syntax parameters or characters. CommandNotFound exception is thrown, if the given command name is not specified in the properties file. CommandNotFound exception is thrown, if the given command name is not specified in the properties file. LocalClientException is thrown when a local command has an internal error, perhaps caused by improper input. LocalClientException is thrown when a local command has an internal error, perhaps caused by improper input. RemoteClientExceptions may be thrown either if the remote command was sent improper input or the remote server is unreachable for any number of reasons. RemoteClientExceptions may be thrown either if the remote command was sent improper input or the remote server is unreachable for any number of reasons.

Discovering Information Systems The Shell Commands are responsible for discovering the service that they need and for communicating with that service. The Shell Commands are responsible for discovering the service that they need and for communicating with that service. Workflow manager coordinates all negotiations with services and adjust timeouts according to priority of specified services. Workflow manager coordinates all negotiations with services and adjust timeouts according to priority of specified services. The shell container is eligible to deal with some possible failures. The shell container is eligible to deal with some possible failures.

Inspection of Services The purpose of involving WSIL is that the base shell needs to inspect web services instantly. The purpose of involving WSIL is that the base shell needs to inspect web services instantly. gce-list The gce-list command examines the inspection.wsil at this location and inspects what WS running and gets back the list of WSDL interfaces. The gce-list command examines the inspection.wsil at this location and inspects what WS running and gets back the list of WSDL interfaces.

Inspection of Services cont. >> gcelist $TORO GCE List Display list of WSDL service description references... Service: Version Service: Version [1] [1] Service: AdminService Service: AdminService [1] [1] Service: Submitjob Service: Submitjob [1] [1] Service: ApplicationDescriptor3 Service: ApplicationDescriptor3 [1] [1] Service: Submitjob Service: Submitjob [1] [1] Service: AdminService Service: AdminService [1] [1] Service: Version Service: Version [1] [1] Service: ApplicationDescriptor3 Service: ApplicationDescriptor3 [1] [1]

Future Work Dynamic class loading needed so that grid users could place new features on run time. Dynamic class loading needed so that grid users could place new features on run time. Support for shell command composition and scripting. Support for shell command composition and scripting. XML-based BPEL4WS for workflow XML-based BPEL4WS for workflow Python Python One of the powers of the shell environment is that new, specialized commands may be created as needed from the basic library of shell commands. One of the powers of the shell environment is that new, specialized commands may be created as needed from the basic library of shell commands.