An Overview of Grid Computing Workshop Day 1 : August 05 2004 (Thursday) An overview of Globus Toolkit 2.4 By CDAC Experts Contact :vcvrao@cdacindia.com; betatest@cdacindia.com URL : http://www.cs.umn.edu/~vcvrao 1 1
Betatesting Group,NPSF, C-DAC,Pune Dr.VCV.Rao (vcvrao@cdacindia.com) Mr.Ravi Kumar (ravi@cdacindia.com) Mr.Subba Ramanna (subba@cdacindia.com) Mr.Sridhar Padala (spadala@cdacindia.com) Ms. B.S.V.S. Sudha (sudhas@cdacindia.com) NPSF System Admin Group, C-DAC,Pune Dr. Sandeep K. Joshi (skjoshi@cdacindia.com) 2
Outline Types of Grids Computational Data Grid Toolkits / Middleware's Case Study of Globus Globus 2.4 Architecture (Five Layered Architecture) Components of Globus Toolkit 2.4 3
Core functionality of Computational Grid To allow Independent Management of computing resources Transparently select computing resources capable of running user jobs To understand current and predicted loads on grid resources Failure detection and failover mechanisms Ensure appropriate security mechanisms for secure management, access and integrity Example: Globus Toolkit, Legion(UofVirgina), Alchemi (UofMelb), etc 4
Core functionality of Data Grid To integrate distributed, heterogeneous and independently managed data sources Data caching / Replication mechanisms to minimize network traffic Data discovery mechanisms facilitating the user to find data based on characteristics of the data Efficient data transfer mechanisms depending on the location of the computation resource Backup/restore mechanism policies necessary to prevent data loss Example: SRB (SDSC), NMI (NSF), Avaki Data Grid, etc 5
An Overview of Globus Toolkit 2.4 GRID 2004 6 Alchemi Globus Legion NorduGrid Middleware Toolkits / Middleware's } Computational Grid Computational + Data Grid
The Globus Project Close collaboration with real Grid projects in science and industry Development and promotion of standard Grid protocols to enable interoperability and shared infrastructure Development and promotion of standard Grid software APIs and SDKs to enable portability and code sharing 7
The Globus Project Contd The Globus Toolkit: Open source, reference software base for building grid infrastructure and applications Global Grid Forum: Development of standard protocols and APIs for Grid computing Used to build Computational grids 8
Design goals of Globus Architecture Descriptive Provide a common vocabulary for use when describing Grid systems Guidance Identify key areas in which services are required Prescriptive Define standard Intergrid protocols and APIs to facilitate creation of interoperable Grid systems and portable applications 9
View of Requirements Identity & authentication Authorization & policy Resource discovery Resource characterization Resource allocation (Co-)reservation, workflow Distributed algorithms Remote data access High-speed data transfer Monitoring Adaptation Intrusion detection Resource management Accounting & payment Fault management System evolution Etc.. 10
Another View 1) New approaches to problem solving Data Grids, distributed computing, peer-to-peer, collaboration grids, 2) Structuring and writing programs Abstractions, tools 3) Enabling resource sharing across distinct institutions Resource discovery, access, reservation, allocation; authentication, authorization, policy; communication; fault detection and notification; 11
Programming & Systems Problems The programming problem Facilitate development of sophisticated apps Facilitate code sharing Requires prog. envs: APIs, SDKs, tools The systems problem Facilitate coordinated use of diverse resources Facilitate infrastructure sharing: e.g., certificate authorities, info services Requires systems: protocols, services E.g., port/service/protocol for accessing information, allocating resources 12
A Protocol-Oriented View of Grid Architecture Development of Grid protocols & services Protocol-mediated access to remote resources New services: e.g., resource brokering On the Grid = speak Intergrid protocols Mostly (extensions to) existing protocols Development of Grid APIs & SDKs Interfaces to Grid protocols & services Facilitate application development by supplying higher-level abstractions The (hugely successful) model is the Internet 13
Layered Grid Architecture Coordinating multiple resources : ubiquitous infrastructure services, appspecific distributed services!" # $ " % 14
The Hourglass Model Focus on architecture issues Propose set of core services as basic infrastructure Use to construct high-level, domain-specific solutions Design principles Keep participation cost low & Enable local control Support for adaptation IP hourglass model % ' 15
Protocols, Services,and APIs %)* " ( &+ $ " ( &+ $ $ " % % " ( 16
Fabric Layer Protocols & Services Just what you would expect: the diverse mix of resources that may be shared Individual computers, file systems, archives, metadata catalogs, networks, sensors, etc., etc. connectivity and resource level protocols form the neck in the hourglass Defined by interfaces not physical characteristics 17
Connectivity Layer Protocols & Services Communication Internet protocols: IP, DNS, routing, etc. Security: Grid Security Infrastructure (GSI) Uniform authentication, authorization, and message protection mechanisms in multi-institutional setting Single sign-on, delegation, identity mapping Public key technology, SSL, X.509, GSS-API Supporting infrastructure: Certificate Authorities, certificate & key management,," ***-(-) 18
Resource Layer Protocols & Services Grid Resource Allocation Mgmt (GRAM) Remote allocation, reservation, monitoring, control of compute resources GridFTP protocol (FTP extensions) High-performance data access & transport Grid Resource Information Service (GRIS) Access to structure & state information Network reservation, monitoring, control All built on connectivity layer: GSI & IP,( ***-(-,$.,$" ***-- 19
Collective Layer Protocols & Services Index servers aka metadirectory services Custom views on dynamic resource collections assembled by a community Resource brokers (e.g., Condor Matchmaker) Resource discovery and allocation Replica catalogs Replication services Co-reservation and co-allocation services Etc. ( ***--*-()( 20
Globus Toolkit Components Addressed by new protocols & services GRAM protocol for Resource Management MDS for Information service GridFTP for Data transfer GSI for security 21
An Overview of Globus Toolkit 2.4 GRID 2004 Globus Architecture 22
Globus Toolkit GRAM MDS GridFTP process Resources Jobmanager GRIS GIIS FTP Server gatekeeper RSL/HTTP1.1 LDAP LDAP gsiftp/http/https/file Job allocation Job management use use use Resource finding use proxy user use initialize/destroy Data transfer Data control Client 23
Grid Security Infrastructure 4 password Your private key Grid Host A 4 encrypt & send Your certificate random 1 send 5 Your certificate 3 identify create & send random 5 decrypt random Grid Host B 2 get your public key & subject CA s public key Your public key subject 6 mapping user name <subject> <user name> grid-mapfile 24
GRAM Architecture job request GRAM Client globusrun GSI Client RSL HTTP/1.1 Callbacks GRAM Server Gatekeeper GSI Server fork RSL globusrun Job Manager GSI Client Job status/cancel RSL Parser RSL use (optional) GASS file transfer output transfer file stdout GASS fork qsub Perl Script bsub Process PBS Job LSF Job Local Resource Manager 25
Resource Specification Language Common notation for exchange of information between components Syntax similar to MDS/LDAP filters RSL provides two types of information: Resource requirements: Machine type, number of nodes, memory, etc. Job configuration: Directory, executable, args, environment Globus Toolkit provides an API/SDK for manipulating RSL 26
Resource Specification Language &(project=123456) (queue=general) (job_type = multiple ) (executable = /home/tools/fasta/mp34compsw) (arguments = /home/tools/fasta/hahu.aa /home/tools/fasta/mu.lib) (stdout =/home/tools/fasta/job1.out) (stderr=/home/tools/fasta/job1.error) 27
Globus Access to Secondary Storage(GASS) Provides services for file and executable staging and I/O redirection that work well with GRAM. GASS uses GSI-enabled HTTP as the protocol for data transfer, and a caching algorithm for copying data when necessary. The globus_gass, globus_gass_transfer, and globus_gass_cache APIs provide programmer access to these capabilities, which are already integrated with the GRAM job submission tools. 28
Resource Management APIs The globus_gram_client API provides access to all of the core job submission and management capabilities, including callback capabilities for monitoring job status. The globus_rsl API provides convenience functions for manipulating and constructing RSL strings. The globus_gram_myjob allows multi-process jobs to self-organize and to communicate with each other. The globus_duroc_control and globus_duroc_runtime APIs provide access to multirequest (co-allocation) capabilities. 29
Co-allocation Simultaneous allocation of a resource set Handled via optimistic co-allocation based on free nodes or queue prediction Globus APIs/SDKs support the co-allocation of specific multi-requests Uses a Globus component called the Dynamically Updated Request Online Co-allocator (DUROC) 30
Information Services Provide access to static and dynamic information regarding system components A basis for configuration and adaptation in heterogeneous, dynamic environments Requirements and characteristics Uniform, flexible access to information Scalable, efficient access to dynamic data Access to multiple information sources 31
MDS Architecture Host C Host A MDS Client Request and response of resource information Request and response of resource information Host B GIIS GIIS Request and response of resource information GRIS Register Register Local resource information Information Provider Resources Local resource information Idapsearch LDAP base Idapsearch/delete/modify slapd 32
Data Management Service Components Two major Data Grid components: Data Transport and Access Common protocol Secure, efficient, flexible, extensible data movement Family of tools supporting this protocol Replica Management Architecture Simple scheme for managing: multiple copies of files collections of files Globus Replica Catalogue keeps track of replicated files 33
GridFTP Based on FTP and provides high performance, secure, reliable data transfer protocol, which is optimized for high-bandwidth wide area networks Features GSI security on control and data channels Multiple data channels for parallel transfers Partial file transfers & Striped file transfers 34
GridFTP GridFTP Client globus-url-copy File Control Transfer GridFTP Server in.ftpd File GridFTP Server 1 GridFTP Server 2 File in.ftpd Transfer File in.ftpd control control globus-url-copy GridFTP Client 35
Summary of Globus Toolkit Grid infrastructure software Facilitates the creation of Grids Source of protocol and API definitions, reference implementations Designed to run jobs across many administrative domains 36
An Overview of Globus Toolkit 2.4 GRID 2004 Conclusions Grid Middleware / Toolkits Five Layered Architecture Globus 2.4 Toolkit components 37
References 1. Grid Computing, http://www.gridcomputing.com 2. Globus Web site http://www.globus.org 3. GGF (Global Grid Forum) http://www.gridforum.org 4. SRB (Storage Resource Broker) http://www.npaci.edu/dice/srb 5. Foster, I. And C. Kesselman, The Grid: Blueprint for a New Computing Infrastructure, San Francisco: Morgan Kaufmann Publishers, Inc., 1999. 6. Foster, I., C. Kesselman, and S. Tuecke, The Anatomy of the Grid: Enabling Scalable Virtual Organizations, International Journal of High Performance Computing Applications, Vol. 15, No. 3, 2001 38
References 7. Legion Toolkit http://www.cs.virginia.edu/~legion/ 8. Alchemi Toolkit http://www.alchemi.net/ 9. Nordu Grid Middleware http://www.nordugrid.org/ 10. Condor http://www.cs.wisc.edu/condor/ 11. NMI (NSF Middleware Initiative) http://www.nsfmiddleware.org/ 12. The Globus Data Management Group, A replica Management Service for High Performance Data Grids http://www.globus.org/datagrid 13. Avaki (Distributed Data Integration) http://www.avaki.com 39
Globus Toolkit 2.4 Architecture GC-SIWAH SIWAH-04 40 August 05-06, 2004