Introduction to GT3. The Globus Project. Argonne National Laboratory USC Information Sciences Institute

Similar documents
Introduction to GT3. Introduction to GT3. What is a Grid? A Story of Evolution. The Globus Project

Installation and Administration

GT-OGSA Grid Service Infrastructure

Introduction to GT3. Overview. Installation Pre-requisites GT3.2. Overview of Installing GT3

Java Development and Grid Computing with the Globus Toolkit Version 3

Globus GTK and Grid Services

Grid Computing Fall 2005 Lecture 5: Grid Architecture and Globus. Gabrielle Allen

Design The way components fit together

OGSA-based Problem Determination An Use Case

Grid Middleware and Globus Toolkit Architecture

From Web Services Toward Grid Services

A Replica Location Grid Service Implementation

Design The way components fit together

Grid Programming: Concepts and Challenges. Michael Rokitka CSE510B 10/2007

Day 1 : August (Thursday) An overview of Globus Toolkit 2.4

WS-Resource Framework: Globus Alliance Perspectives

Introduction to Grid Technology

Grid Services and the Globus Toolkit

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

Grid Computing Initiative at UI: A Preliminary Result

Lessons learned producing an OGSI compliant Reliable File Transfer Service

Agent-Enabling Transformation of E-Commerce Portals with Web Services

Grid Computing. MCSN - N. Tonellotto - Distributed Enabling Platforms

Grid Architectural Models

Layered Architecture

Globus Toolkit Firewall Requirements. Abstract

Globus Toolkit Manoj Soni SENG, CDAC. 20 th & 21 th Nov 2008 GGOA Workshop 08 Bangalore

How to Build a Service Using GT4

Credentials Management for Authentication in a Grid-Based E-Learning Platform

Tutorial 1: Introduction to Globus Toolkit. John Watt, National e-science Centre

Globus Toolkit 4 Execution Management. Alexandra Jimborean International School of Informatics Hagenberg, 2009

Using the MyProxy Online Credential Repository

Grid Computing Middleware. Definitions & functions Middleware components Globus glite

By Ian Foster. Zhifeng Yun

GT 4.2.0: Community Scheduler Framework (CSF) System Administrator's Guide

How to Build a Service Using GT4

Chapter 4:- Introduction to Grid and its Evolution. Prepared By:- NITIN PANDYA Assistant Professor SVBIT.

30 Nov Dec Advanced School in High Performance and GRID Computing Concepts and Applications, ICTP, Trieste, Italy

Accounting in Grid Environments

Regular Forum of Lreis. Speechmaker: Gao Ang

Computational Web Portals. Tomasz Haupt Mississippi State University

Research and Design Application Platform of Service Grid Based on WSRF

Appendix A - Glossary(of OO software term s)

GLOBUS TOOLKIT SECURITY

(9A05803) WEB SERVICES (ELECTIVE - III)

Zukünftige Dienste im D-Grid: Neue Anforderungen an die Rechenzentren?

Classroom Exercises for Grid Services

Introduction. Software Trends. Topics for Discussion. Grid Technology. GridForce:

GWD-I (draft-ggf-dais -dataservices-01) Data Access and Integration Services (DAIS) -wg J.

A Grid-Enabled Component Container for CORBA Lightweight Components

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

UNICORE Globus: Interoperability of Grid Infrastructures

Chapter 6 Enterprise Java Beans

Database Assessment for PDMS

Building Services in WSRF. Ben Clifford GGF Summer School July 2004

Demonstrated Node Configuration for the Central Data Exchange Node

An Introduction to Grid Computing

Clusters & Grid Computing

WebSphere 4.0 General Introduction

C exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.

Globus Toolkit 3 Core A Grid Service Container Framework

THE GLOBUS PROJECT. White Paper. GridFTP. Universal Data Transfer for the Grid

Research on the Key Technologies of Geospatial Information Grid Service Workflow System

J2EE Interview Questions

X100 ARCHITECTURE REFERENCES:

UNIT IV PROGRAMMING MODEL. Open source grid middleware packages - Globus Toolkit (GT4) Architecture, Configuration - Usage of Globus

On-Line Monitoring of Multi-Area Power Systems in Distributed Environment

On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows

Cloud Computing. Up until now

MyLEAD Release V1.3 Installation Guide

ActiveVOS Technologies

S.No QUESTIONS COMPETENCE LEVEL UNIT -1 PART A 1. Illustrate the evolutionary trend towards parallel distributed and cloud computing.

Dynamic Creation and Management of Runtime Environments in the Grid

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Chapter 2 Introduction

Grid Computing. Lectured by: Dr. Pham Tran Vu Faculty of Computer and Engineering HCMC University of Technology

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

Grid Infrastructure Monitoring Service Framework Jiro/JMX Based Implementation

Chapter 17 Web Services Additional Topics

OpenIAM Identity and Access Manager Technical Architecture Overview

My View Grid Computing: An Overview

Grid services. Enabling Grids for E-sciencE. Dusan Vudragovic Scientific Computing Laboratory Institute of Physics Belgrade, Serbia

An Eclipse-based Environment for Programming and Using Service-Oriented Grid

Introduction to Grid Computing

Enterprise SOA Experience Workshop. Module 8: Operating an enterprise SOA Landscape

On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows

THE VEGA PERSONAL GRID: A LIGHTWEIGHT GRID ARCHITECTURE

Introduction to Web Services & SOA

Scalable, Reliable Marshalling and Organization of Distributed Large Scale Data Onto Enterprise Storage Environments *

Java J Course Outline

Application Servers in E-Commerce Applications

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

Finding Support Information for Platforms and Cisco IOS Software Images

Data Model Considerations for Radar Systems

Integrating SGE and Globus in a Heterogeneous HPC Environment

Sentinet for BizTalk Server SENTINET

BlackBerry Enterprise Server for IBM Lotus Domino Version: 5.0. Administration Guide

What is it? What does it do?

Not just an App. Server

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Transcription:

Introduction to GT3 The Globus Project Argonne National Laboratory USC Information Sciences Institute Copyright (C) 2003 University of Chicago and The University of Southern California. All Rights Reserved. This presentation is licensed for use under the terms of the Globus Toolkit Public License. See http://www.globus.org/toolkit/download/license.html for the full text of this license.

http://www.mcs.anl.gov/~childers/gt3introjune2003print.ppt June 2003 GGF8 Introduction to Globus Toolkit 3.0 2

Introduction to GT3 Background The Grid Problem The Globus Approach OGSA & OGSI Globus Toolkit GT3 Architecture and Functionality: The Latest Refinement of the Globus Toolkit Core Base Services User-Defined Services Future Directions Installation and Administration Installation Configuration Debugging Support Important Things to Remember June 2003 GGF8 Introduction to Globus Toolkit 3.0 3

A Story of Evolution Definition of Grid problem has been stable since original Globus Project proposal in 1995 Though we ve gotten better at articulating it But our approach to its solution has evolved: From APIs and custom protocols to standard protocols to Grid services (OGSA). Driven by experience implementing and deploying the Globus Toolkit, and building real applications with it June 2003 GGF8 Introduction to Globus Toolkit 3.0 4

What is a Grid? We believe there are three key criteria: Coordinates distributed resources using standard, open, general-purpose protocols and interfaces to deliver non-trivial qualities of service. What is not a Grid? A cluster, a network attached storage device, a scientific instrument, a network, etc. Each is an important component of a Grid, but by itself does not constitute a Grid June 2003 GGF8 Introduction to Globus Toolkit 3.0 5

Challenging Technical Requirements Dynamic formation and management of virtual organizations Discovery & online negotiation of access to services: who, what, why, when, how Configuration of applications and systems able to deliver multiple qualities of service Autonomic management of distributed infrastructures, services, and applications Management of distributed state Open, extensible, evolvable infrastructure June 2003 GGF8 Introduction to Globus Toolkit 3.0 6

The Globus Project Making Grid computing a reality (since 1996) Close collaboration with real Grid projects in science and industry The Globus Toolkit : Open source software base for building Grid infrastructure and applications Development and promotion of standard Grid protocols to enable interoperability and shared infrastructure Development and promotion of standard Grid software APIs to enable portability and code sharing Global Grid Forum: We co-founded GGF to foster Grid standardization and community June 2003 GGF8 Introduction to Globus Toolkit 3.0 7

From APIs & Custom Protocols, To Standard Protocols

API Application Programming Interface A specification for a set of routines to facilitate application development Refers to definition, not implementation Often language-specific (or IDL) Routine name, number, order and type of arguments; mapping to language constructs Behavior or function of routine Examples of APIs GSS-API (security), MPI (message passing) June 2003 GGF8 Introduction to Globus Toolkit 3.0 9

Network Protocol A formal description of message formats and a set of rules for message exchange Rules may define sequence of message exchanges Protocol may define state-change in endpoint, e.g., file system state change Good protocols designed to do one thing Protocols can be layered Examples of protocols IP, TCP, TLS (was SSL), HTTP, Kerberos June 2003 GGF8 Introduction to Globus Toolkit 3.0 10

A Protocol can have Multiple APIs TCP/IP APIs include BSD sockets, Winsock, System V streams, The protocol provides interoperability: programs using different APIs can exchange information I don t need to know remote user s API Application WinSock API Application Berkeley Sockets API TCP/IP Protocol: Reliable byte streams June 2003 GGF8 Introduction to Globus Toolkit 3.0 11

An API can have Multiple Protocols An API provides portability: any correct program compiles & runs on a platform Does not provide interoperability: all processes must link against same SDK E.g., MPICH and LAM versions of MPI Application MPI API LAM SDK LAM protocol TCP/IP Different message formats, exchange sequences, etc. Application MPI API MPICH-P4 SDK MPICH-P4 protocol TCP/IP June 2003 GGF8 Introduction to Globus Toolkit 3.0 12

Initial Focus On APIs and Custom Protocols Primary concern was allowing Grid applications to be built quickly, in order to demonstrate feasibility Good development APIs and SDKs mattered most Protocols were a means to an end We borrowed and extended standard protocols to make life easier (e.g. LDAP) We defined custom protocols (e.g. GRAM) June 2003 GGF8 Introduction to Globus Toolkit 3.0 13

But Focus Shifted To Protocols As demand grew, customers worried about: compatibility between versions (i.e. Stop changing the protocols!) independent implementations of some components (i.e. What are the protocols?) Ubiquitous adoption demands open, standard protocols Internet and Web as guides Enables innovation/competition on end points Avoid product/vendor lock-in June 2003 GGF8 Introduction to Globus Toolkit 3.0 14

Layered Grid Architecture Coordinating multiple resources : ubiquitous infrastructure services, app-specific distributed services Sharing single resources : negotiating access, controlling use Talking to things : communication (Internet protocols) & security Controlling things locally : Access to, & control of, resources Application Collective Resource Connectivity Fabric Application Transport Internet Link Internet Protocol Architecture The Anatomy of the Grid: Enabling Scalable Virtual Organizations, Foster, Kesselman, Tuecke, Intl Journal of High Performance Computing Applications, 15(3), 2001. June 2003 GGF8 Introduction to Globus Toolkit 3.0 15

Layers of Grid Architecture June 2003 GGF8 Introduction to Globus Toolkit 3.0 16

GT2 Key Protocols The Globus Toolkit v2 (GT2) centers around four key protocols Connectivity layer: >Security: Grid Security Infrastructure (GSI) Resource layer: >Resource Management: Grid Resource Allocation Management (GRAM) >Information Services: Grid Resource Information Protocol (GRIP) >Data Transfer: Grid File Transfer Protocol (GridFTP) Also key collective layer protocols Info Services, Replica Management, etc. June 2003 GGF8 Introduction to Globus Toolkit 3.0 17

Protocol Standards Efforts X.509 Proxy Certificate Profile GGF & IETF GridFTP Protocol GGF June 2003 GGF8 Introduction to Globus Toolkit 3.0 18

From Standard Protocols, To Grid Services

But Along The Way Heterogeneous protocol base was hurting us Increasing number of virtual services that needed to be managed Web services (WSDL, SOAP) appeared June 2003 GGF8 Introduction to Globus Toolkit 3.0 20

Web Services At the heart of Web services is: WSDL: Language for defining abstract service interfaces SOAP (and friends): Binding from WSDL to bytes on the wire Web services appears to offer a fighting chance at ubiquity (unlike CORBA) But Web services does not go far enough to serve a common base for the Grid June 2003 GGF8 Introduction to Globus Toolkit 3.0 21

Transient Service Instances Web services address discovery & invocation of persistent services Interface to persistent state of entire enterprise In Grids, must also support transient service instances, created/destroyed dynamically Interfaces to the states of distributed activities E.g. workflow, video conf., dist. data analysis, subscription Significant implications for how services are managed, named, discovered, and used In fact, much of Grid is concerned with the management of service instances June 2003 GGF8 Introduction to Globus Toolkit 3.0 22

Standard Interfaces & Behaviors: Four Interrelated Concepts Naming and bindings Every service instance has a unique name, from which can discover supported bindings Lifecycle Service instances created by factories Destroyed explicitly or via soft state Information model Service data associated with Grid service instances, operations for accessing this info Basis for service introspection, monitoring, discovery Notification Interfaces for registering existence, and delivering notifications of changes to service data June 2003 GGF8 Introduction to Globus Toolkit 3.0 23

Grid Evolution: Open Grid Services Architecture Refactor Globus protocol suite to enable common base and expose key capabilities Service orientation to virtualize resources and unify resources/services/information Embrace key Web services technologies for standard IDL, leverage commercial efforts Result: standard interfaces & behaviors for distributed system management: the Grid service June 2003 GGF8 Introduction to Globus Toolkit 3.0 24

OGSA Structure A standard substrate: the Grid service OGSI = Open Grid Service Infrastructure Standard interfaces and behaviors that address key distributed system issues Much borrowed from GT abstractions supports standard service specifications Resource mgt, dbms, workflow, security, Target of current & planned GGF efforts and arbitrary application-specific services based on these & other definitions June 2003 GGF8 Introduction to Globus Toolkit 3.0 25

OGSI Grid Service Specification Defines WSDL conventions and GSDL extensions For describing and structuring services Working with W3C WSDL working group to drive GSDL extensions into WSDL Defines fundamental interfaces (using WSDL) and behaviors that define a Grid Service A unifying framework for interoperability & establishment of total system properties June 2003 GGF8 Introduction to Globus Toolkit 3.0 26

Globus Toolkit (GT) A software system addressing key technical problems in the development of Grid-enabled tools, services, and applications Offer a modular set of orthogonal services Middleware for building solutions, not turn-key Enable incremental development of Grid-enabled tools and applications Implement and inform Grid standards Available under liberal open source license Large community of developers & users Multiple commercial support providers June 2003 GGF8 Introduction to Globus Toolkit 3.0 27

Why Open Source is Important Leverages large body of code and experience Efforts of a large e-science community Encourages adoption of open standards Reference implementation, community pressure Facilitates integration of new platforms Port the implementation Allows vendors to focus on value add Platforms, integration, higher-level services, turnkey applications, training, support June 2003 GGF8 Introduction to Globus Toolkit 3.0 28

OGSA and the Globus Toolkit Technically, OGSA enables Refactoring of protocols (GRAM, MDS, GridFTP), while preserving all GT concepts/features! Integration with hosting environments: simplifying components, distribution, etc. Greatly expanded standard service set Pragmatically, we are proceeding as follows Develop open source OGSA implementation > Globus Toolkit 3.0; supports Globus Toolkit 2.0 APIs Partnerships for service development Also expect commercial value-adds June 2003 GGF8 Introduction to Globus Toolkit 3.0 29

GT2 Evolution To GT3 What happened to the GT2 key protocols? Security: Adapting X.509 proxy certs to integrate with emerging WS standards GRIP/LDAP: Abstractions integrated into OGSI as servicedata GRAM: ManagedJobFactory and related service definitions GridFTP: Unchanged in 3.0, but will evolve into OGSI-compliant service in 2004 Also rendering collective services in terms of OGSI: RFT, RLS, etc. June 2003 GGF8 Introduction to Globus Toolkit 3.0 30

GT Timeline GT 1.0: 1998 GRAM, MDS GT 2.0: 2001 GridFTP, packaging, reliability GT3 Technology Preview: Apr-Dec 2002 Tracking OGSI definition GT3.0 Alpha: Jan 2003 OGSI Base, GT2 functionality GT3.0 Production: June 2003 Tested, documented, etc. June 2003 GGF8 Introduction to Globus Toolkit 3.0 31

Summary The Grid: Coordinates resources that are not subject to centralized control; using standard, open, generalpurpose protocols and interfaces; to deliver non-trivial qualities of service. Considerable impact within escience, growing interest & adoption within ebusiness Globus Toolkit an open source, defacto standard source of protocol and API definitions and reference implementations GT3 is evolution of the Globus Toolkit path June 2003 GGF8 Introduction to Globus Toolkit 3.0 32

Introduction to GT3 Background The Grid Problem The Globus Approach OGSA & OGSI Globus Toolkit GT3 Architecture and Functionality: The Latest Refinement of the Globus Toolkit Core Base Services User-Defined Services Future Directions Installation and Administration Installation Configuration Debugging Support Important Things to Remember June 2003 GGF8 Introduction to Globus Toolkit 3.0 33

GT-OGSA Grid Service Infrastructure Grid Service Container User-Defined Services Base Services System-Level Services OGSI Spec Implementation Security Infrastructure Web Service Engine Hosting Environment June 2003 GGF8 Introduction to Globus Toolkit 3.0 34

GT3 Core June 2003 GGF8 Introduction to Globus Toolkit 3.0 35

GT3 Core: OGSI Specification The Specification Defines how Entities can Create, Discover and Interact with a Grid Service Required: -Introspection (service data) - Explicit destruction - Soft-state lifetime GridService (required) Service data element Service data element other interfaces (optional) Service data element Service Implementation Optional: - Service creation - Notification - Registration -Service Groups + applicationspecific interfaces Service locator Includes 0 or more Grid Service Handles (GSHs) Includes 0 or more Grid Service References (GSRs) June 2003 GGF8 Introduction to Globus Toolkit 3.0 36

GT3 Core: OGSI Implementation GT3 includes a set of primitives that implement the interfaces and behaviors defined in the latest version of the OGSI Specification The implementation supports a declarative programming model in which GT3 users can compose OGSI-Compliant grid services by plugging the desired primitives into their implementation June 2003 GGF8 Introduction to Globus Toolkit 3.0 37

GT3 Core: OGSI Specification (cont.) GridService porttype Defines the fundamental behavior of a Grid Service Introspection Discovery Soft State Lifetime Management Mandated by the Spec June 2003 GGF8 Introduction to Globus Toolkit 3.0 38

GT3 Core: OGSI Specification (cont.) Factory porttype Factories create services Factories are typically persistent services Factory is an optional OGSI interface (Grid Services can also be instantiated by other mechanisms) June 2003 GGF8 Introduction to Globus Toolkit 3.0 39

GT3 Core: OGSI Specification (cont.) Notification porttypes A subscription for notification causes the creation of a NotificationSubscription service NotificationSinks are not required to implement the GridService porttype Notifications can be set on Service Data Elements Notification porttypes are optional June 2003 GGF8 Introduction to Globus Toolkit 3.0 40

GT3 Core: OGSI Specification (cont.) Service group porttypes A ServiceGroup is a grid service that maintains information about a group of other grid services The classic registry model can be implemented with the ServiceGroup porttypes A grid service can belong to more than one ServiceGroup Members of a ServiceGroup can be heterogenous or homogenous Each entry in a service group can be represented as its own service Service group porttypes are optional OGSI interfaces June 2003 GGF8 Introduction to Globus Toolkit 3.0 41

GT3 Core: OGSI Specification (cont.) HandleResolver porttype Defines a means for resolving a GSH (Grid Service Handle) to a GSR (Grid Service Reference) A GSH points to a Grid Service (GT3 uses a hostname-based GSH scheme) A GSR specifies how to communicate with the Grid Service (GT3 currently supports SOAP over HTTP, so GSRs are in WSDL format) HandleResolver is an optional OGSI interface June 2003 GGF8 Introduction to Globus Toolkit 3.0 42

A Service Creation Scenario* Registry 1. From a known registry, the client discovers a factory by querying the Service data of the registry Client * The scenarios in this presentation are offered as examples and are not prescriptive June 2003 GGF8 Introduction to Globus Toolkit 3.0 43

A Service Creation Scenario 1. From a known registry, the client discovers a factory by querying the Service data of the registry Registry Client 2. The client calls the createservice operation on the factory Factory June 2003 GGF8 Introduction to Globus Toolkit 3.0 44

A Service Creation Scenario 1. From a known registry, the client discovers a factory by querying the Service data of the registry Registry Client 2. The client calls the createservice operation on the factory Factory Service 3. The factory creates a service June 2003 GGF8 Introduction to Globus Toolkit 3.0 45

A Service Creation Scenario 1. From a known registry, the client discovers a factory by querying the Service data of the registry Registry Client 2. The client calls the createservice operation on the factory 4. The factory returns a locator Factory Service 3. The factory creates a service June 2003 GGF8 Introduction to Globus Toolkit 3.0 46

A Service Creation Scenario 1. From a known registry, the client discovers a factory by querying the Service data of the registry Registry 2. The client calls the createservice operation on the factory 4. The factory returns a locator Factory 3. The factory creates a service Client 5. The client and service interact Service June 2003 GGF8 Introduction to Globus Toolkit 3.0 47

A Notification Scenario 1. NotificationSink calls the subscribe operation on NotificationSource Notification Source Notification Sink June 2003 GGF8 Introduction to Globus Toolkit 3.0 48

A Notification Scenario Notification Source 1. NotificationSink calls the subscribe operation on NotificationSource 2.Notification Source creates a subscription service Notification Sink Notification Subscription June 2003 GGF8 Introduction to Globus Toolkit 3.0 49

A Notification Scenario Notification Source Notification Sink 1. NotificationSink calls the subscribe operation on NotificationSource 3. Notification Source returns a locator to the subscription service Notification Subscription 2.Notification Source creates a subscription service June 2003 GGF8 Introduction to Globus Toolkit 3.0 50

A Notification Scenario 4.a delivernotification stream continues for the lifetime of NotificationSubscription Notification Source Notification Sink 1. NotificationSink calls the subscribe operation on NotificationSource 3. Notification Source returns a locator to the subscription service 4.b The NotificationSink and Subscription service interact to perform lifetime management Notification Subscription 2.Notification Source creates a subscription service June 2003 GGF8 Introduction to Globus Toolkit 3.0 51

A Notification Scenario 4.a delivernotification stream continues for the lifetime of NotificationSubscription The sole mandated cardinality: 1 to 1 Notification Source Notification Sink 1. NotificationSink calls the subscribe operation on NotificationSource subscribe 3. Notification Source returns a locator to the subscription service 4.b The NotificationSink and Subscription service interact to perform lifetime management Notification Subscription 2.Notification Source creates a subscription service June 2003 GGF8 Introduction to Globus Toolkit 3.0 52

GT-OGSA Grid Service Infrastructure Grid Service Container User-Defined Services Base Services System-Level Services OGSI Spec Implementation Security Infrastructure Web Service Engine Hosting Environment June 2003 GGF8 Introduction to Globus Toolkit 3.0 53

GT3 Core: Security Infrastructure Transport Layer Security/Secure Socket Layer (TLS/SSL) To be deprecated SOAP Layer Security Based on WS-Security, XML Encryption, XML Signature GT3 uses X.509 identity certificates for authentication It also uses X.509 Proxy certificates to support delegation and single sign-on, updated to conform to latest IETF/GGF draft June 2003 GGF8 Introduction to Globus Toolkit 3.0 54

GT-OGSA Grid Service Infrastructure Grid Service Container User-Defined Services Base Services System-Level Services OGSI Spec Implementation Security Infrastructure Web Service Engine Hosting Environment June 2003 GGF8 Introduction to Globus Toolkit 3.0 55

GT3 Core: System Level Services General-purpose services that facilitate the use of Grid Services in production environments The 3.0 distribution includes the following System-Level services: An Administration Service A Logging Service A Management Service June 2003 GGF8 Introduction to Globus Toolkit 3.0 56

GT-OGSA Grid Service Infrastructure Grid Service Container User-Defined Services Base Services System-Level Services OGSI Spec Implementation Security Infrastructure Web Service Engine Hosting Environment June 2003 GGF8 Introduction to Globus Toolkit 3.0 57

GT3 Core: Grid Service Container Includes the OGSI Implementation, security infrastructure and system-level services, plus: Service activation, deactivation, construction, destruction, etc. Service data element placeholders that allow you to dynamically fetch service data values at query time Evaluator framework (supporting ByXPath and ByName notifications and queries) Interceptor/callback framework (allows one to intercept certain service lifecycle events) June 2003 GGF8 Introduction to Globus Toolkit 3.0 58

GT3 Core: Grid Service Container (cont.) Layers in the Web Services Model Interface Layer OGSI Spec is here Transport Layer Transport/Binding Layer (GT3 supports SOAP over HTTP) Implementation Layer Container is here June 2003 GGF8 Introduction to Globus Toolkit 3.0 59

GT-OGSA Grid Service Infrastructure Grid Service Container User-Defined Services Base Services System-Level Services OGSI Spec Implementation Security Infrastructure Web Service Engine Hosting Environment June 2003 GGF8 Introduction to Globus Toolkit 3.0 60

GT3 Core: Hosting Environment GT3 currently offers support for four Java Hosting Environments: Embedded Standalone Servlet EJB June 2003 GGF8 Introduction to Globus Toolkit 3.0 61

GT3 Core: Virtual Hosting Environment Framework Virtual Hosting allows grid services to be distributed across several remote containers Useful in implementing solutions for problems common to distributed computing Load balancing User account sandboxing June 2003 GGF8 Introduction to Globus Toolkit 3.0 62

A Service Creation Scenario Illustrating Redirection in Virtual Hosting Registry HE Starter 1. From a known registry, the client retrieves a factory locator Router Client June 2003 GGF8 Introduction to Globus Toolkit 3.0 63

A Service Creation Scenario Illustrating Redirection in Virtual Hosting 1. From a known registry, the client retrieves a factory locator Registry 2. The router intercepts the createservice call on the factory Router HE Starter Client June 2003 GGF8 Introduction to Globus Toolkit 3.0 64

A Service Creation Scenario Illustrating Redirection in Virtual Hosting 3. The router passes the createservice request to the Host Env Starter 1. From a known registry, the client retrieves a factory locator Registry 2. The router intercepts the createservice call on the factory Router HE Starter Client June 2003 GGF8 Introduction to Globus Toolkit 3.0 65

A Service Creation Scenario Illustrating Redirection in Virtual Hosting 3. The router passes the createservice request to the Host Env Starter 1. From a known registry, the client retrieves a factory locator Registry 2. The router intercepts the createservice call on the factory Router HE Starter 4.The HE Starter creates a new Host Env as well as the service Client Service June 2003 GGF8 Introduction to Globus Toolkit 3.0 66

A Service Creation Scenario Illustrating Redirection in Virtual Hosting 3. The router passes the createservice request to the Host Env Starter 1. From a known registry, the client retrieves a factory locator Registry Client 2. The router intercepts the createservice call on the factory 5. The router returns a service locator Router HE Starter Service 4.The HE Starter creates a new Host Env as well as the service June 2003 GGF8 Introduction to Globus Toolkit 3.0 67

A Service Creation Scenario Illustrating Redirection in Virtual Hosting 3. The router passes the createservice request to the Host Env Starter 1. From a known registry, the client retrieves a factory locator Registry 2. The router intercepts the createservice call on the factory 5. The router returns a service locator Router HE Starter 4.The HE Starter creates a new Host Env as well as the service Client 6. Using the service locator, the router redirects subsequent client-service interactions Service June 2003 GGF8 Introduction to Globus Toolkit 3.0 68

GT3 Base Services June 2003 GGF8 Introduction to Globus Toolkit 3.0 69

GT-OGSA Grid Service Infrastructure Grid Service Container User-Defined Services Base Services System-Level Services OGSI Spec Implementation Security Infrastructure Web Service Engine Hosting Environment June 2003 GGF8 Introduction to Globus Toolkit 3.0 70

GT3 Base: Resource Management GRAM Architecture rendered in OGSA The MMJFS runs as an unprivileged user, with a small highly-constrained setuid executable behind it. Master User MMJFS User 1 MJFS User 2 MJFS User 3 MJFS MJS MJS MJS MJS MJS MJS MMJFS: Master Managed Job Factory Service MJFS: Managed Job Factory Service MJS: Managed Job Service June 2003 GGF8 Introduction to Globus Toolkit 3.0 71

GRAM Job Submission Scenario Index Service 1. From an index service, the client chooses an MMJFS Client June 2003 GGF8 Introduction to Globus Toolkit 3.0 72

GRAM Job Submission Scenario 1. From an index service, the client chooses an MMJFS Index Service 2. The client calls the createservice operation on the factory, supplying RSL MMJFS Client June 2003 GGF8 Introduction to Globus Toolkit 3.0 73

GRAM Job Submission Scenario 1. From an index service, the client chooses an MMJFS Index Service 2. The client calls the createservice operation on the factory, supplying RSL MMJFS 3. The factory creates a Managed Job Service Client MJS June 2003 GGF8 Introduction to Globus Toolkit 3.0 74

GRAM Job Submission Scenario 1. From an index service, the client chooses an MMJFS Index Service 2. The client calls the createservice operation on the factory, supplying RSL 4. The factory returns a locator MMJFS 3. The factory creates a Managed Job Service Client MJS June 2003 GGF8 Introduction to Globus Toolkit 3.0 75

GRAM Job Submission Scenario 1. From an index service, the client chooses an MMJFS Index Service 2. The client calls the createservice operation on the factory, supplying RSL 4. The factory returns a locator MMJFS 3. The factory creates a Managed Job Service Client 5. The client subscribes to the MJS status SDE and retrieves output MJS June 2003 GGF8 Introduction to Globus Toolkit 3.0 76

GT3 Base: Information Services Index Service as Caching Aggregator Caches service data from other grid services Index Service as Provider Framework Serves as a host for service data providers that live outside of a grid service to publish data June 2003 GGF8 Introduction to Globus Toolkit 3.0 77

GT3 Base: Reliable File Transfer Reliably performs a third party transfer between two GridFTP servers OGSI-compliant service exposing GridFTP control channel functionality Recoverable Grid Service Automatically restarts interrupted transfers from the last checkpoint Progress and Restart Monitoring RFT GridFTP Server 1 JDBC GridFTP Server 2 June 2003 GGF8 Introduction to Globus Toolkit 3.0 78

GT-OGSA Grid Service Infrastructure Grid Service Container User-Defined Services Base Services System-Level Services OGSI Spec Implementation Security Infrastructure Web Service Engine Hosting Environment June 2003 GGF8 Introduction to Globus Toolkit 3.0 79

GT3 User-Defined Services GT3 can be viewed as a Grid Service Development Kit that includes: Primitives designed to ease the task of building OGSI-Compliant Services Primitives for provisioning security Base services that provide an infrastructure with which to build higher-level services June 2003 GGF8 Introduction to Globus Toolkit 3.0 80

GT3 User-Defined Services (cont.) GT3 Build Files User source files ANT Grid Service executable files (Diagram inspired by Borja Sotomayor s excellent tutorial on GT3) User Build File June 2003 GGF8 Introduction to Globus Toolkit 3.0 81

Future Directions of GT Standardization of container model Development of lightweight container/api Adding rich support for queries Further refinements of Base Service designs Pushing on standardizing at a higher level than OGSI June 2003 GGF8 Introduction to Globus Toolkit 3.0 82

Introduction to GT3 Background The Grid Problem The Globus Approach OGSA & OGSI Globus Toolkit GT3 Architecture and Functionality: The Latest Refinement of the Globus Toolkit Core Base Services User-Defined Services Future Directions Installation and Administration Installation Configuration Debugging Support Important Things to Remember June 2003 GGF8 Introduction to Globus Toolkit 3.0 83

Overview Installing GT3 Overview of installed services Running clients and services Configuring GT3 Debugging Support June 2003 GGF8 Introduction to Globus Toolkit 3.0 84

Overview of Installing GT3 Prerequisites JDK, ant Optional tools Other hosting environments Installation GPT installer or Ant-only Required post-installation setup Acquiring certificates Setting permissions June 2003 GGF8 Introduction to Globus Toolkit 3.0 85

JDK 1.3.1+ Installation Pre-requisites Xindice + Sun JDK1.3.1 + Linux has errors for some versions of Linux Pre-1.4.1 JDKs require JAAS as a separate download Ant 1.5+ Required for source builds, recommended for binary YACC For cbindings and findservicedata from source JDBC compliant database Only required for RFT, RLS June 2003 GGF8 Introduction to Globus Toolkit 3.0 86

Optional Tools Alternate hosting environments Jakarta Tomcat JBOSS Websphere and more Microsoft.NET Framework Junit for testing June 2003 GGF8 Introduction to Globus Toolkit 3.0 87

Installing GT 3.0 (Unix) Make sure pre-requisites are available Set JAVA_HOME Add $ANT_HOME/bin to your PATH Download the GPT source bundle, or the appropriate binary bundle./install-gt3 /path/to/install./install-gt3-mmjfs /path/to/install After you have certificates June 2003 GGF8 Introduction to Globus Toolkit 3.0 88

Installing GT 3.0 (Windows) Make sure pre-requisites are available Likely to use Cygwin to get the tools you need Unset CLASSPATH to avoid conflicting jars Install GT3 core by running ant dist and ant setup in ogsa/impl/java Install higher-level services using ant deploygar June 2003 GGF8 Introduction to Globus Toolkit 3.0 89

Installing GT 3.0 (Binaries) GPT Binary bundles available for different UNIX platforms Core and Higher Level Services binaries available for Windows June 2003 GGF8 Introduction to Globus Toolkit 3.0 90

Post-installation setup GSI uses X.509, so need to get certificates Run setup-gsi as root grid-cert-request for user and host Can re-use GT2 certificates if you have them already Run setperms.sh (after install-gt3-mmjfs) This is to make globus-grim setuid to the account which owns the hostcert, and to make the UHE launcher setuid so it can create jobs on behalf of users June 2003 GGF8 Introduction to Globus Toolkit 3.0 91

Overview of Installed Services What just installed, and how? Bundles on Unix and Windows: GT3 core + higher-level services Bundles on Unix only: GRAM bundle + GT2 dependencies Cbindings bundle + client Replica Location Service (RLS) GT2 components June 2003 GGF8 Introduction to Globus Toolkit 3.0 92

Other Services Bundled with GT3 GridFTP Used by RFT Replica Location Service (RLS) Distributed registry service that records the locations of data copies and allows discovery of replicas Designed and implemented in a collaboration between the Globus and DataGrid projects The interfaces for these services are not yet OGSI-Compliant June 2003 GGF8 Introduction to Globus Toolkit 3.0 93

Where did they install? /etc/grid-security certificates/ subdirectory of trusted CAs grid-mapfile grim-port-type.xml hostcert.pem, hostkey.pem grid-security.conf $GLOBUS_LOCATION Everything else June 2003 GGF8 Introduction to Globus Toolkit 3.0 94

Location of GARs Before the GARs are deployed, a copy is stored in gars/ Contains the client and server Webservices Deployment Descriptor (WSDD), as well as the jar files To change the main server-config.wsdd, can edit the service s.wsdd file and redeploy June 2003 GGF8 Introduction to Globus Toolkit 3.0 95

GPT Wrappers The GARs apply to both Windows and Unix GPT wraps the GAR with metadata, including dependency information and version number Allows for easier upgrades, and for other software to indicate dependencies http://www.gridpackagingtools.com/ June 2003 GGF8 Introduction to Globus Toolkit 3.0 96

GT3 Services Core OGSI hosting environment MMJFS The single point for submitting jobs MJS Instances created per submitted job GRIM Security tool for creating hostcert proxies June 2003 GGF8 Introduction to Globus Toolkit 3.0 97

GT3 services (cont.) Index A point to query for information Aggregator SDE aggregation tool. Used by index mds_db Used by index to track data Providers Used to obtain host information June 2003 GGF8 Introduction to Globus Toolkit 3.0 98

RIPS GT3 services (cont.) Queue information for jobs Filestreaming RFT JMS Used to move stdin/stdout for jobs Reliable File Transfer JMS notification source for J2SE/J2EE Servicegroup OGSI service groups June 2003 GGF8 Introduction to Globus Toolkit 3.0 99

Dependencies Some backend tools see re-use from previous releases for use in resource management For instance, jobmanager scripts for interfacing to local scheduling systems are the same Besides GT2, Java CoG supplies integrated security June 2003 GGF8 Introduction to Globus Toolkit 3.0 100

Overview of Running Clients and Services Set your environment Create a proxy (single sign-on) Available clients GRAM client Index clients RFT client June 2003 GGF8 Introduction to Globus Toolkit 3.0 101

Environment Setup Set your environment: export GLOBUS_LOCATION source etc/globus-user-env.sh grid-proxy-init This environment setup is assumed for all later slides June 2003 GGF8 Introduction to Globus Toolkit 3.0 102

Starting the container Services run in the container bin/globus-start-container p <port> The container will print a list of Grid Service Handles (GSH) that can be used by clients http://127.0.0.1:8080/ogsa/services/base/ gram/masterforkmanagedjobfactoryservice for instance User s Guide has more details June 2003 GGF8 Introduction to Globus Toolkit 3.0 103

Running the GRAM Client To submit a job: bin/managed-job-globusrun factory host{:port/service} -file etc/test.xml Prerequisites: Authorized to use the service by gridmapfile and grim-port-type.xml Have a proxy Setuid GRIM and User Hosting Environment (UHE) launcher June 2003 GGF8 Introduction to Globus Toolkit 3.0 104

Running the GRAM Client (Cont.) etc/test.xml contains the new format for the Resource Specification Language (RSL) By default, outputs to /tmp/stdout /tmp/stderr Probably good to customize it for yourself to avoid permissions errors See Resource Management links under http://www-unix.globus.org/developer June 2003 GGF8 Introduction to Globus Toolkit 3.0 105

Reading From the Index Service bin/globus-service-browser bin/ogsi-find-service-data requires C bindings Prerequisites: Have to add ServiceDataProviderExecutionPortType and ServiceDataAggregatorPortType to clientgui-config.xml See Information Services for more details June 2003 GGF8 Introduction to Globus Toolkit 3.0 106

Using RFT First, start a GridFTP server Setup a postgres database for RFT to use Enter DB values into server-config.wsdd java org.globus.ogsa.gui.rftclient <RFT factory> <path to transfers> Store transfers in a file, one URL per line See Data Management for more details June 2003 GGF8 Introduction to Globus Toolkit 3.0 107

globus-rls-server Using RLS New version uses PostgreSQL and psqlodbc bin/globus-rls-admin -p rls://serverhost ping test of server http://www.globus.org/rls/ June 2003 GGF8 Introduction to Globus Toolkit 3.0 108

Configuring GT3 Add backend schedulers to MMJFS PBS, LSF, Condor, These will be GPT setup packages. Run gpt-install and gpt-postinstall Configure a hierarchy of index services Adding new services ant deploygar Dgar.name=/path/to/gar Check GTR for new services, and consider publishing your own (gtr.globus.org) June 2003 GGF8 Introduction to Globus Toolkit 3.0 109

Debugging Always go to the most basic levels first! If connection refused try telnet If DB connection refused try your native DB client first If trouble with your proxy, try grid-proxy-init verify debug If trouble with policy or GRIM, try bin/globus-grim out /tmp/grim_test June 2003 GGF8 Introduction to Globus Toolkit 3.0 110

Logfiles Debugging (Cont.) Make sure to redirect container logs to a file ~user/.globus/uhe-<host>/log contains the logs for the UHE running on <host> GridFTP servers use syslog for keeping logs Increase debugging level in ogsilogging.properties file June 2003 GGF8 Introduction to Globus Toolkit 3.0 111

See Support http://www.globus.org/toolkit/support.html It gives an overview of documentation, mailing lists, and bugzilla June 2003 GGF8 Introduction to Globus Toolkit 3.0 112

Introduction to GT3 Background The Grid Problem The Globus Approach OGSA & OGSI Globus Toolkit GT3 Architecture and Functionality: The Latest Refinement of the Globus Toolkit Core Base Services User-Defined Services Future Directions Using GT3 Installation Configuration Debugging Support Important Things to Remember June 2003 GGF8 Introduction to Globus Toolkit 3.0 113