Extreme! Computing Lab, Dept. of Computer Science, Indiana University 1 Programming the Grid with Components Madhu Govindaraju Aleksander Slominski Dennis.

Slides:



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

Abstraction Layers Why do we need them? –Protection against change Where in the hourglass do we put them? –Computer Scientist perspective Expose low-level.
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
1 CENTER FOR PARALLEL COMPUTERS An Introduction to Globus Toolkit® 3 -Developing Interoperable Grid services.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Distributed Heterogeneous Data Warehouse For Grid Analysis
Towards the Design and Implementation of the DAME prototype: OGSA Compliant Grid Services on the White Rose Grid Sarfraz A Nadeem University of Leeds.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
The Open Grid Service Architecture (OGSA) Standard for Grid Computing Prepared by: Haoliang Robin Yu.
SaaS Software Container By Brian Moore Paul Kopacz.
OGSA : Open Grid Services Architecture Ramya Rajagopalan
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Grappa: Grid access portal for physics applications Shava Smallen Extreme! Computing Laboratory Department of Physics Indiana University.
XCAT Science Portal Status & Future Work July 15, 2002 Shava Smallen Extreme! Computing Laboratory Indiana University.
GRAPPA Part of Active Notebook Science Portal project A “notebook” like GRAPPA consists of –Set of ordinary web pages, viewable from any browser –Editable.
Checkpoint & Restart for Distributed Components in XCAT3 Sriram Krishnan* Indiana University, San Diego Supercomputer Center & Dennis Gannon Indiana University.
NeSC Grid Apps Workshop Exposing Legacy Applications as OGSI Components using pyGlobus Keith R. Jackson Distributed Systems Department Lawrence Berkeley.
DISTRIBUTED COMPUTING
第十四章 J2EE 入门 Introduction What is J2EE ?
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Grid-enabling OGC Web Services Andrew Woolf, Arif Shaon STFC e-Science Centre Rutherford Appleton Lab.
Lecture 15 Introduction to Web Services Web Service Applications.
Architecting Web Services Unit – II – PART - III.
COMP3019 Coursework: Introduction to GridSAM Steve Crouch School of Electronics and Computer Science.
Grid Computing Research Lab SUNY Binghamton 1 Plans for Babelizing XCAT-C++ Madhu Govindaraju Kenneth Chiu.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
SCIRun and SPA integration status Steven G. Parker Ayla Khan Oscar Barney.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
Middleware for Grid Computing and the relationship to Middleware at large ECE 1770 : Middleware Systems By: Sepehr (Sep) Seyedi Date: Thurs. January 23,
Grid Architecture William E. Johnston Lawrence Berkeley National Lab and NASA Ames Research Center (These slides are available at grid.lbl.gov/~wej/Grids)
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
GSFL: A Workflow Framework for Grid Services Sriram Krishnan Patrick Wagstrom Gregor von Laszewski.
 Apache Airavata Architecture Overview Shameera Rathnayaka Graduate Assistant Science Gateways Group Indiana University 07/27/2015.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Grid Services I - Concepts
Grappa Grid Access Portal for Physics Applications CHEP 2003 UCSD March 24-28,2003 Daniel Engh (UC), Shava Smallen (IU), Liang Fang (IU), Jerry Gieraltowski.
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
Ipgdec5-01 Remarks on Web Services PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce, Shrideep Pallickara, Choonhan Youn Computer Science,
Jini Architecture Introduction System Overview An Example.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows Aleksander Slomiski Presented by Onyeka Ezenwoye CIS Advanced Topics in Software.
25 April Unified Cryptologic Architecture: A Framework for a Service Based Architecture Unified Cryptologic Architecture: A Framework for a Service.
Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab.
OGCE Workflow and LEAD Overview Suresh Marru, Marlon Pierce September 2009.
Matthew Farrellee Computer Sciences Department University of Wisconsin-Madison Condor and Web Services.
EGI Technical Forum Amsterdam, 16 September 2010 Sylvain Reynaud.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
SOAP RMI Aleksander Slominski, Madhusudhan Govindaraju, Randall Bramley, Dennis Gannon Indiana University Extreme! Lab A New-Old Programming Model for.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Architecting Web Services
WEB SERVICES.
The Open Grid Service Architecture (OGSA) Standard for Grid Computing
Architecting Web Services
Ch > 28.4.
The XCAT Science Portal
Inventory of Distributed Computing Concepts
Introduction to Web Services
CS590L Distributed Component Architecture References: - Objects, components, and framenworks with UML, Ch A Component Based Services Architecture.
Distributed System using Web Services
Presentation transcript:

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 1 Programming the Grid with Components Madhu Govindaraju Aleksander Slominski Dennis Gannon Sriram Krishnan

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 2 Outline Software Components XCAT –Component and Services model – Web Services – Programming model – OGSI

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 3 Software Components Analogy with hardware Standard design paradigm for app development Goal: to build applications by composition of well tested and well behaved subsystems (components). – simplify application design process – promote code reusability – plug and play

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 4 Component Architecture A Component Architecture consists of two parts: – Components software objects that implement a set of required behaviors – Frameworks A runtime environment A set of services used by components

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 5 Industry Standards COM/DCOM – interoperability for Microsoft applications Java Beans, Enterprise Java Beans (EJB) –Java based desktop and enterprise applications OMG CORBA Component Model (CCM) –language neutral superset of EJB

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 6 Academic Research SciRun from Utah – scalable parallel applications and viz Webflow from Syracuse – graphical composition palette CCAT and XCAT from Indiana University – framework for Grid based applications

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 7 CCA: Common Component Architecture  CCA: Initiative to define minimal specification for scientific components  Department of Energy (National Labs)  Few universities  Aim: build components for high performance computing  Draws ideas from CCM and other models as a baseline  Targeting  Parallel  Distributed

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 8 The Common Component Architecture Key Idea: dynamic composition by linking “ports” – Provides ports: interface of “services” provided – Uses ports: a call-site for a service to be provided by another component. Uses port- Provides Port

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 9 What is new about CCA? Minimal specification Envision connections as dynamic – Can add, remove and connect ports at run-time Tailored to build Problem Solving Environments – End user manipulates connections Not specific to any underlying distributed object model Notion of collective ports – logically one connection – implementation: multiple network connections

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 10 Components on the Grid: Issues Discovering static information about components Launching components Discovering references for running instances Communication protocols Messages and Events Authentication and Authorization Encapsulating legacy applications Efficient scheduling Run-time environment

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 11 Grid Programming Model: Needs Need a set of APIs, protocols, libraries and tools that allow access to Grid resources Examples: Globus, Condor – provide infrastructure – do not provide programming model What is missing? – How can we make it easier to “program” the Grid?

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 12 XCAT Implementation of the CCA specification Designed for distributed applications Allows creation of Grid application from components Wraps Grid Services as components Test-bed for CCA – Is there an alternative to OMG IDL?

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 13 Component Communication How do components communicate? – Use Remote Procedure Call (RPC) Mechanism XCAT uses SOAP 1.1 XCAT ports can serve as web services – Events/Messages Objects encoded as XML documents

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 14 XCAT Services Architecture Default services for all components XCAT services – Directory locate components based on port types and other attributes – Registry locate running instances of components – Creation create running instance of a component – Connection connect ports of two running instances – Events publish/subscribe framework for messages

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 15 IDS: Information Directory Service Store Component descriptions in XML Used to search databases and remote repositories Information Directory Service Component MySQL Database File system LDAP RDBS Request component info Return XML specs.

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 16 X Creation Service Creates a running instance of another component Encapsulates authentication issues Supports GRAM, SSH and Local-Exec Creation Service Component Launch an instance of component X on resource Y Returns: remote reference to new component instance Globus resource Y

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 17 Registry Service  Stores instance information (runtime configurations)  Used to advertise and search other instances  Tradeoff: distributed vs. centralized Find a running instance of component X Returns: remote reference to component instance Registry Service Component

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 18 Connection Service A component that can be used to connect a “uses” port of one component to the “provides” port of another Can export ports of other components as one’s own Y Connection Service Component X Connect port A of component X to port B of component Y A B

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 19 Event Service Channel for publish-subscribe event model Creation and connection events Application users can use it for asynchronous information transfer B Event Channel Service Component C A Subscribe to listen for events of type X xx x x Notification of publication of events of type X

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 20 Features of Events Event/Notification Services are an essential part of all distributed systems Application Events –“I am done.” “I just wrote to a file,” “here is a result.” Event Publishers & Listeners – Some Listeners subscribe, others poll – Must have persistent event channels record events for later analysis application history logs allow for retrieval in chunks

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 21 XCAT: Other Features Security: –Every remote method call is intercepted – port, method and parameter level – authentication based on SSL – authorization based on simple ACL Component Handle: – in XML and can be converted to WSDL – GSH /GSR Exceptions –Supports throw and catch across components

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 22 XCAT Processes Creation Service Other Services Connection Service Framework Impl. Scripts, Front-end Tools Application Code Framework Impl. Application Code Scripts, Front-end, Tools Creation Service Connection Service Other Services Port Wrapper Code

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 23 XCAT-Web Services Stack Framework Layer: Creation, Connection,… Service Discovery Layer: LDAP Service Description Layer: Subset of WSDL Service Messaging Layer: XSOAP Service Transport Layer: HTTP

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 24 XCAT Programming: Examples Builder: A tool used to select and link components together Builder Options – Swing based GUI – Jython scripting – Portal XCAT – Jython scripting

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 25 CCAT Gui image

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 26 Scripting XCAT Applications import xcat stringDump = xcat.createComponent(‘StringDump’) printer = xcat.createComponent(‘Printer’) xcat.setCreationMechanism(stringDump, ‘gram’) xcat.setCreationMechanism(printer, ‘ssh’) xcat.setMachineName(stringDump, “exodus”) xcat.setMachineName(printer, “rainier”)

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 27 Scripting XCAT Applications: contd printer.put(“exec-fqn”, “samples.printer.Printer”) stringDump.put(“exec-fqn”, “samples.stringDump.StringDump) xcat.createInstance(printer) xcat.createInstance(stringDump) xcat.connectPorts(stringDump, ‘outputString’, printer, ‘inputString’)

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 28 Encapsulating Legacy Apps Common Case –Legacy App that reads files and writes files –Use a “scripted component” Component runs a python script –The App Script Stages files Launches and monitors application Writes output files publishes event streams application XCAT comp input files output files App Script Event Stream Control

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 29 Scripting Grid Computations Grid Scripts are executable documents that – Orchestrate Computations Select resources Supply application parameters and launch remote jobs Subscribe to event streams Create components Connect components

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 30 Composition Using Components Two ways of composing applications – Composition in space: one component/service directly invokes the services of another – Composition in time: A workflow engine schedules tasks that involve accessing remote services and responding to events

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 31 XCAT, OGSI and Web Services GS Component A GS Component B Standard Grid Service Grid Service Client

Extreme! Computing Lab, Dept. of Computer Science, Indiana University 32 XCAT and OGSI compliance Add a GridService port to each component Merge component handle with GSH/GSR OGSI messaging is non-reliable push model – XCAT has a reliable, persistent model OGSI has factory portType for instantiating new services – XCAT has an extended distributed factory model