1 GT4 WSRF Core and MDS4 Gabor Kecskemeti MTA SZTAKI, Hungary Univ. Westminster, UK

Slides:



Advertisements
Similar presentations
TeraGrid Deployment Test of Grid Software JP Navarro TeraGrid Software Integration University of Chicago OGF 21 October 19, 2007.
Advertisements

Legacy code support for commercial production Grids G.Terstyanszky, T. Kiss, T. Delaitre, S. Winter School of Informatics, University.
Monitoring and Discovery in a Web Services Framework: Functionality and Performance of Globus Toolkit MDS4 Jennifer M. Schopf Argonne National Laboratory.
The Globus Toolkit and OMII-Europe Neil Chue Hong EPCC, University of Edinburgh Thanks to Ian Foster and the Globus Team for slides.
BiodiversityWorld GRID Workshop NeSC, Edinburgh – 30 June and 1 July 2005 Resource wrappers, web services, grid services Jaspreet Singh School of Computer.
This product includes material developed by the Globus Project ( Introduction to Grid Services and GT3.
Service Oriented Grid Architecture Hui Li ICT in Business Colloquium, LIACS Mar 1 st, 2006 Note: Part of this presentation is based on Dr. Ian Foster’s.
MTA SZTAKI Hungarian Academy of Sciences Grid Computing Course Porto, January Introduction to Grid portals Gergely Sipos
Seminar Grid Computing ‘05 Hui Li Sep 19, Overview Brief Introduction Presentations Projects Remarks.
1 CENTER FOR PARALLEL COMPUTERS An Introduction to Globus Toolkit® 3 -Developing Interoperable Grid services.
Globus Toolkit 4 hands-on Gergely Sipos, Gábor Kecskeméti MTA SZTAKI
7-2.1 Additional Features of WSRF/GT4 Services A brief outline © 2011 B. Wilkinson/Clayton Ferner. Fall 2011 Grid computing course. Modification date:
4a.1 Grid Computing Standards ITCS 4010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson, slides 4a.
Building services in WSRF Ben Clifford Draft For GGF summer school, July 2004.
October 2003 Iosif Legrand Iosif Legrand California Institute of Technology.
4c1 GT 4 Services Advanced features: A very brief overview Topics: Resource home Singleton resource Multiple resources Notifications Lifecycles Copyright.
4b.1 Grid Computing Software Components of Globus 4.0 ITCS 4010 Grid Computing, 2005, UNC-Charlotte, B. Wilkinson, slides 4b.
GT4 Introductory and Advanced Practicals Rachana Ananthakrishnan, Charles Bacon, Lisa Childers Argonne National Laboratory University of Chicago.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Data Grid Web Services Chip Watson Jie Chen, Ying Chen, Bryan Hess, Walt Akers.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
1 Globus Developments Malcolm Atkinson for OMII SC 18 th January 2005.
Globus 4 Guy Warner NeSC Training.
Kate Keahey Argonne National Laboratory University of Chicago Globus Toolkit® 4: from common Grid protocols to virtualization.
Java Services in Apache Axis Plus GT Libraries and Handlers Your Python Service Flac WS RFT GRAM Delegation Index Trigger Python WS Core Your C Service.
Grid Monitoring By Zoran Obradovic CSE-510 October 2007.
1 Modeling Stateful Resources with Web Services ICE Ph.D lecture Byung-sang Kim.
Globus Toolkit® 4 Ian Foster Argonne National Laboratory University of Chicago Univa Corporation.
Grid Computing Grid computing is all about achieving greater performance and throughput by pooling resources on a local, national, or international level.
A Swift Talk about Globus Technology: What Can It Do for Me? OOI Cyberinfrastructure Design Meeting, San Diego, October The Globus Team (presented.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide Low Level Grid Services (Job Management, Data.
OPEN GRID SERVICES ARCHITECTURE AND GLOBUS TOOLKIT 4
Globus Data Replication Services Ann Chervenak, Robert Schuler USC Information Sciences Institute.
USC Viterbi School of Engineering Web and Grid Services Slides taken from a variety of sources: GT4 tutorial, by Borja Sotomayor
Globus Toolkit® 4 Workshop 2 Don’t take our word for it! Read the UK eScience Evaluation of GT4 (Reachable.
WSRF & WSRF’s Application in VO-DAS Haijun Tian ChinaVO
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Grid Resource Allocation and Management (GRAM) Execution management Execution management –Deployment, scheduling and monitoring Community Scheduler Framework.
Grid Services Overview & Introduction Ian Foster Argonne National Laboratory University of Chicago Univa Corporation OOSTech, Baltimore, October 26, 2005.
CYBERINFRASTRUCTURE FOR THE GEOSCIENCES Data Replication Service Sandeep Chandra GEON Systems Group San Diego Supercomputer Center.
The Anatomy of the Grid Introduction The Nature of Grid Architecture Grid Architecture Description Grid Architecture in Practice Relationships with Other.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
Introduce Grid Service Authoring Toolkit Shannon Hastings, Scott Oster, Stephen Langella, David Ervin Ohio State University Software Research Institute.
OGSA Hauptseminar: Data Grid Thema 2: Open Grid Service Architecture
1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
1 GT XACML Authorization Rachana Ananthakrishnan Argonne National Laboratory.
Grid Services I - Concepts
Grid Security: Authentication Most Grids rely on a Public Key Infrastructure system for issuing credentials. Users are issued long term public and private.
Wide Area Data Replication for Scientific Collaborations Ann Chervenak, Robert Schuler, Carl Kesselman USC Information Sciences Institute Scott Koranda.
Mike Jackson EPCC OGSA-DAI Architecture + Extensibility OGSA-DAI Tutorial GGF17, Tokyo.
Information Services Andrew Brown Jon Ludwig Elvis Montero grid:seminar1:lectures:seminar-grid-1-information-services.ppt.
Lundi 7 décembre 2015 Lavoisier. Motivations data sources provided by many partners –heterogeneity of used technologies objectives –reduce complexity.
Registries, ebXML and Web Services in short. Registry A mechanism for allowing users to announce, or discover, the availability and state of a resource:
Web Service Resource Framework WSMO Presentation Jos de Bruijn Digital Enterprise Research Institute http ://
Carl Kesselman Information Sciences Institute University of Southern California Univa Corporation Grid MasterClass.
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,
Steve Graham WS-ResourceFramework Modeling Stateful Resources With Web services OASIS WSRF TC F2F Wednesday, April 28th, 2004.
© 2004 IBM Corporation WS-ResourceFramework Service Groups Tom Maguire.
GT3 Index Services Lecture for Cluster and Grid Computing, CSCE 490/590 Fall 2004, University of Arkansas, Dr. Amy Apon.
Ian Foster Computation Institute Argonne National Lab & University of Chicago Application Hosting Services — Enabling Science 2.0 —
DataGrid is a project funded by the European Commission EDG Conference, Heidelberg, Sep 26 – Oct under contract IST OGSI and GT3 Initial.
The GT 4 GRAM Service Sam Meder Middleware Workshop.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Current Globus Developments Jennifer Schopf, ANL.
Amy Krause EPCC OGSA-DAI An Overview OGSA-DAI on OMII 2.0 OMII The Open Middleware Infrastructure Institute NeSC,
WS-Resource Framework University of Amsterdam
Additional Features of WSRF/GT4 Services
Presentation transcript:

1 GT4 WSRF Core and MDS4 Gabor Kecskemeti MTA SZTAKI, Hungary Univ. Westminster, UK

2 Data Mgmt Security Common Runtime Execution Mgmt Info Services GridFTP Authentication Authorization Reliable File Transfer Data Access & Integration Grid Resource Allocation & Management Index Community Authorization Data Replication Community Scheduling Framework Delegation Replica Location Trigger Java Runtime C Runtime Python Runtime WebMDS Workspace Management Grid Telecontrol Protocol Globus Toolkit v4 Credential Mgmt Globus Toolkit: Open Source Grid Infrastructure

3 Monitoring and Discovery “Every service should be monitorable and discoverable using common mechanisms” –WSRF/WSN provides those mechanisms A common aggregator framework for collecting information from services, thus: –MDS-Index: Xpath queries, with caching –MDS-Trigger: perform action on condition –(MDS-Archiver: Xpath on historical data) Deep integration with Globus containers & services: every GT4 service is discoverable –GRAM, RFT, GridFTP, CAS, …

4 GT4 Container GT4 Monitoring & Discovery GRAMUser MDS- Index GT4 Cont. RFT MDS- Index GT4 Container MDS- Index GridFTP adapter Registration & WSRF/WSN Access Custom protocols for non-WSRF entities Clients (e.g., WebMDS) Automated registration in container WS-ServiceGroup

5 Monitoring and Discovery System (MDS4) Grid-level monitoring system –Aid user/agent to identify host(s) on which to run an application –Warn on errors Uses standard interfaces to provide publishing of data, discovery, and data access, including subscription/notification –WS-ResourceProperties, WS-BaseNotification, WS- ServiceGroup Functions as an hourglass to provide a common interface to lower-level monitoring tools

6 Standard Schemas (GLUE schema, eg) Information Users : Schedulers, Portals, Warning Systems, etc. Cluster monitors (Ganglia, Hawkeye, Clumon, and Nagios) Services (GRAM, RFT, RLS) Queuing systems (PBS, LSF, Torque) WS standard interfaces for subscription, registration, notification

7 MDS4 Components Information providers –Monitoring is a part of every WSRF service –Non-WS services are also be used Higher level services –Index Service – a way to aggregate data –Trigger Service – a way to be notified of changes –Both built on common aggregator framework Clients –WebMDS All of the tools are schema-agnostic, but interoperability needs a well-understood common language

8 Higher-Level Services Index Service –Caching registry Trigger Service –Warn on error conditions Archive Service –Database store for history (in development) All of these have common needs, and are built on a common framework

9 Common Aggregator Framework Basic framework for higher-level functions –Subscribe to Information Provider(s) –Do some action –Present standard interfaces

10 Aggregator Framework Features 1) Common configuration mechanism –Specify what data to get, and from where 2) Self cleaning –Services have lifetimes that must be refreshed 3) Soft consistency model –Published information is recent, but not guaranteed to be the absolute latest 4) Schema Neutral –Valid XML document needed only

11 MDS4 Index Service Index Service is both registry and cache –Datatype and data provider info, like a registry (UDDI) –Last value of data, like a cache In memory default approach –DB backing store currently being developed to allow for very large indexes Can be set up for a site or set of sites, a specific set of project data, or for user-specific data only Can be a multi-rooted hierarchy –No *global* index

12 MDS4 Trigger Service Subscribe to a set of resource properties Evaluate that data against a set of pre- configured conditions (triggers) When a condition matches, action occurs – is sent to pre-defined address –Website updated Similar functionality in Hawkeye

13 WebMDS User Interface Web-based interface to WSRF resource property information User-friendly front-end to Index Service Uses standard resource property requests to query resource property data XSLT transforms to format and display them Customized pages are simply done by using HTML form options and creating your own XSLT transforms Sample page: – xinfo&xsl=servicegroupxsl

14 Example WebMDS screenshot

15 Information Providers GT4 information providers collect information from some system and make it accessible as WSRF resource properties Growing number of information providers –Ganglia, CluMon, Nagios –SGE, LSF, OpenPBS, PBSPro, Torque Many opportunities to build additional ones –E.g., network monitoring, storage systems, various sensors, see GEMLCA Monitoring Tool (GMT)

16 Globus Toolkit: Open Source Grid Infrastructure Data Mgmt Security Common Runtime Execution Mgmt Info Services GridFTP Authentication Authorization Reliable File Transfer Data Access & Integration Grid Resource Allocation & Management Index Community Authorization Data Replication Community Scheduling Framework Delegation Replica Location Trigger Java Runtime C Runtime Python Runtime WebMDS Workspace Management Grid Telecontrol Protocol Globus Toolkit v4 Credential Mgmt

17 “Stateless” vs. “Stateful” Services Without state, how does client: –Determine what happened (success/failure)? –Find out how many files completed? –Receive updates when interesting events arise? –Terminate a request? Few useful services are truly “stateless”, but WS interfaces alone do not provide built-in support for state Client FileTransfer Service move (A to B) move

18 FileTransferService (without WSRF) Developer reinvents wheel for each new service –Custom management and identification of state: transferID –Custom operations to inspect state synchronously (whatHappen) and asynchronously (tellMeWhen) –Custom lifetime operation (cancel) Client FileTransfer Service move (A to B) : transferID move state whatHappen tellMeWhen cancel

19 WSRF in a Nutshell Service - permanent State representation –Resource - transient - no creation method in standards –Resource Property State identification –Endpoint Reference State Interfaces –GetRP, QueryRPs, GetMultipleRPs, SetRP Lifetime Interfaces –SetTerminationTime, Immediate Notification Interfaces –Subscribe, Notify ServiceGroups - e.g. MDS4 resource document aggregation RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR

20 Stateful Entities ( Resources ) Registry Factory service Create Stateful Entity State Address Resource allocation Register Stateful Entity Discovery Interactions standardized using WSDL and SOAP State inspection Lifetime mgmt Notifications Authentication & Authorization are applied to all requests Modeling State in Web Services Service requestor (e.g., user application)

21 GT4 Web Services Runtime How does WSRF meets Grid? GT4 gives a hand with the WSRF Core, the WS-GRAM, RFT and other GT4 services are implemented with its help. Redesign to enhance scalability, modularity, performance, usability Leverages existing WS standards –WS-I Basic Profile: WSDL, SOAP, etc. –WS-Security, WS-Addressing Adds support for emerging WS standards –WS-Resource Framework, WS-Notification Java, Python, & C hosting environments –Java is standard Apache

22 Custom Web Services WS-Addressing, WSRF, WS-Notification Custom WSRF Web Services GT4 WSRF Web Services WSDL, SOAP, WS-Security User Applications Registry Administration GT4 Container GT4 Web Services Runtime

23 GT4 WS Core in a Nutshell RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR Implementation of WSRF: Resources, EndpointReferences, ResourceProperties Operation Providers: pre-build implementations of WSRF operations Notification implementation: Topics, TopicSet, Embedded Notification Consumer service Implementations of Resources (ReflectionResource, PersistentReflectionResource) and ResourceProperties (SimpleResourceProperty, ReflectionResourceProperty) Example WS resource document - from GEMLCA: /home/gkecskem DONE

24 WSDL Resource document definition <portType name="GLCProcessPortType" … wsrp:ResourceProperties="tns:GLCProcessResourceProperties"> RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR

25 Defining WSRF Standard Interfaces with GT4... <portType name="GLCProcessPortType" wsdlpp:extends=” wsrpw:GetResourceProperty wsrpw:SetResourceProperties wsntw:NotificationProducer wsrlw:ImmediateResourceTermination"> RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR

26 WSDL Resource Creation - Acquiring the EPR... …... RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR CreateResource Not standardised method

27 Stateful Entities ( Resources ) Registry Factory service Create Stateful Entity State Address Resource allocation Register Stateful Entity Discovery Interactions standardized using WSDL and SOAP State inspection Lifetime mgmt Notifications Authentication & Authorization are applied to all requests Modeling State in Web Services Service requestor (e.g., user application)

28 Service Container GT4 WS Core in a Nutshell RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR ResourceHome RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR ResourceHome RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR ResourceHome Service Container: host multiple services in container; one JVM process …more details: based on AXIS service container, processes SOAP messages, ResourceContext extension.

29 Service Container GT4 WS Core in a Nutshell RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR ResourceHome RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR ResourceHome RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR ResourceHome Secure Communication: Transport, Message, Conversation (Transport demonstrates best performance) PIP PDP Configurable Security Policies: Policy Information Points (PIPs), Policy Decision Points (PDP) -- chained Example authorization PDPs: GridMap, SAML implementations, XACML policies

30 Service Container GT4 WS Core in a Nutshell RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR ResourceHome RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR ResourceHome RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR ResourceHome PIP PDP WorkManagerDB Conn Pool JNDI Directory WorkManager: “thread pool”, site independent “work” manager Apache Database Connection Pool library (JDBC “DataSource” implementation) JNDI Directory: manages internal, shared objects (ResourceHomes, WorkManager, Configuration objects,…)

31 Apache Tomcat Service Container GT4 WS Core in a Nutshell RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR ResourceHome RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR ResourceHome RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR ResourceHome PIP PDP WorkManagerDB Conn Pool JNDI Directory Deploy Service Container “standalone” or within Apache Tomcat

32 WSRF & WS-Notification Naming and bindings (basis for virtualization) –Every resource can be uniquely referenced, and has one or more associated services for interacting with it Lifecycle (basis for fault resilient state mgmt) –Resources created by services following factory pattern –Resources destroyed immediately or scheduled Information model (basis for monitoring, discovery) –Resource properties associated with resources –Operations for querying and setting this info –Asynchronous notification of changes to properties Service groups (basis for registries, collective svcs) –Group membership rules & membership management Base Fault type

33 WSRF/WSNs Compared (HPDC 2005) GT4-JavaGT4-CpyGridWareWSRF::LiteWSRF.NET Languages supportedJavaCPythonPerlC#/C++/VBasic, etc. WS-Security password profileYesNoIn progress Yes WS-Security X.509 profileYesIn progressYesIn progressYes WS-SecureConversationYesNoYesNoYes TLS/SSLYes AuthorizationMultiple CalloutNone Persistence of WS-ResourcesYesNot defaultYes Memory FootprintJVM + 10M22 KB12 MB Depends Memory size per WS-Resource Depends on resource state 70B Depends on resource state 0 (file/DB) or 10B (process) Depends on resource state Unmodified hosting environmentYesNoYesYes (Apache)Yes Compliance with WS-I Basic ProfileYes In progressYes Compliance with WS-I Basic Security Profile Yes NoYes LoggingLog4JYes WSE diagnostics WS-ResourceLifetimeYes WS-ResourcePropertiesYes WS-ServiceGroupYes WS-BaseFaultsYes WS-BaseNotificationYesConsumerYesNoYes WS-BrokeredNotificationPartialNo Yes WS-TopicsPartial NoPartial

34 GetRP Test Distributed client and service on same LAN (times in milliseconds) GT4 - JavaGT4 - C pyGridWareWSRF::LiteWSRF.NET No Security GT4 - JavaGT4 - C pyGridWareWSRF::LiteWSRF.NET GT4 - JavaGT4 - C pyGridWareWSRF::LiteWSRF.NET X509 SigningHTTPS N/A

35 Java examples: Acquiring the endpoint reference EndpointReferenceType localendp = new EndpointReferenceType(); localendp.setAddress(new Address(" ws.cpc.wmin.ac.uk:8443/wsrf/services/myWSRFService")); MyWSRFServicePortType serviceContact = ServiceLocator.getMyWSRFServicePortTypePort(localendp); SetSecProps((Stub) serviceContact, Identity, cred); CreateResourceResponse createResourceResponse = serviceContact.createResource(new CreateResource()); localendp=createResourceResponse.getEndpointReference(); // Now localendp holds the resource’s EPR, lets use it! MyWSRFServicePortType resourceContact = ServiceLocator.getMyWSRFServicePortTypePort(localendp); SetSecProps((Stub) resourceContact, Identity, cred); Legend: Important, Third party (Axis, GT4), Generated from WSDL

36 Java Examples: Setting a Resource Property WSResourcePropertiesServiceAddressingLocator locator = new WSResourcePropertiesServiceAddressingLocator(); SetResourceProperties_PortType rpPort = locator.getSetResourcePropertiesPort(endpoint); SetSecProps((Stub) rpPort, Identity, cred); UpdateType update = new UpdateType(); MessageElement msg = new MessageElement(GLCProcessNamespaces.RP_LASTJOBSTATECHANGED, ”-1 GEMLCA_PRESTATE"); update.set_any(new MessageElement[] { msg }); SetResourceProperties_Element request = new SetResourceProperties_Element(); request.setUpdate(update); rpPort.setResourceProperties(request); Legend: Important, Third party (Axis, GT4), Generated from WSDL

37 Example Security setup public static void SetSecProps(Stub OnMe, String Identity, GSSCredential cred) { OnMe._setProperty(Constants.GSI_TRANSPORT, Constants.SIGNATURE); OnMe._setProperty(GSIConstants.GSI_MODE, GSIConstants.GSI_MODE_FULL_DELEG); OnMe._setProperty(Constants.AUTHORIZATION, new IdentityAuthorization(this.Identity == null?defaultIdentity:Identity)); if (cred != null) OnMe._setProperty(GSIConstants.GSI_CREDENTIALS, cred); } Legend: Important, Third party (Axis, GT4), Generated from WSDL