An Overview of Grid Computing Workshop Day 1 : August 05 2004 (Thursday) Globus Toolkit 2.4 Demo By CDAC Experts Contact :vcvrao@cdacindia.com; betatest@cdacindia.com URL : http://www.cs.umn.edu/~vcvrao 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
Grid Prototype at NPSF Globus 2.4 Toolkit Contd Globus Resource Allocation Manager (GRAM) Metacomputing Directory Service (MDS) Data Management Protocol (GridFTP) PARAM 10000 Node Configuration Sun Ultra Sparc e450 Quad SMP s Solaris 2.6 Operating Systems Portable Batch System (Job Manager) 3
Grid Prototype at NPSF PARAM OpenFrame Node Configuration Sun Cluster Dual CPU (Ultra-II) Solaris 8 Operating Systems Portable Batch System (Job Manager) Contd PARAM Anant Node Configuration Linux Cluster Dual CPU RedHat 7.3 Operating Systems Portable Batch System (Job Manager) 4
Grid Prototype at NPSF CA Job Submission Node server efs01 n05 ameya ecs01 efs02 ecs02 n09 n10 n11 n13 n14 n15 amba adi anadi PARAM 10000 CA PARAM ANANT Certificate Authority Node PARAM OpenFrame CA 5
Grid Resource Management The Grid Resource Allocation Management (GRAM) protocol and client API allows programs to be started on remote resources, despite local heterogeneity Resource Specification Language (RSL) is used to communicate requirements A layered architecture allows applicationspecific resource brokers and co-allocators to be defined in terms of GRAM services Integrated with Condor, PBS, MPICH-G2, 6
Globus Toolkit 2.4 Implementation Gatekeeper Single point of entry Authenticates user, maps to local security environment, runs service In essence, a secure inetd Job manager A gatekeeper service Layers on top of local resource management system (e.g., PBS, LSF, etc.) Handles remote interaction with the job 7
GRAM Components " # $ % & % " $!! 8
Grid Resource Specification Language Common notation for exchange of information between components 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 9
Resource Specification Language :Syntax Elementary form: parenthesis clauses (attribute op value [ value ] ) Operators Supported: <, <=, =, >=, >,!= Some supported attributes: executable, arguments, environment, stdin, stdout, stderr, resourcemanagercontact, resourcemanagername 10
Resource Specification Language :Constraints: & For example: & (count>=5) (count<=10) (max_time=240) (memory>=64) (executable=myprog) Create 5-10 instances of myprog, each on a machine with at least 64 MB memory that is available to me for 4 hours 11
Resource Specification Language :Disjunction For example: & (executable=myprog) ( (&(count=5)(memory>=64)) (&(count=10)(memory>=32))) Create 5 instances of myprog on a machine that has at least 64MB of memory, or 10 instances on a machine with at least 32MB of memory 12
Resource Specification Language :Multirequest + A multirequest allows us to specify multiple resource needs, for example + (& (count=5)(memory>=64) (executable=p1)) (&(network=atm) (executable=p2)) Execute 5 instances of p1 on a machine with at least 64M of memory Execute p2 on a machine with an ATM connection Multirequests are central to co-allocation 13
Resource Coallocation Simultaneous allocation of a resource set Handled via optimistic co-allocation based on free nodes or queue prediction In the future, advance reservations will also be supported (already in prototype) Globus APIs/SDKs support the co-allocation of specific multi-requests Uses a Globus component called the Dynamically Updated Request Online Co-allocator (DUROC) 14
An Overview of Globus Toolkit 2.4 Demo MPICH G2 & Globus 15
+ Resource Coallocation Multirequest ( &(resourcemanagercontact="kushi.stp.cdac.ernet.in") (count=1) (label="subjob 0") (environment=(globus_duroc_subjob_index 0) (LD_LIBRARY_PATH /home/globus/globus-2.4/lib/)) (directory="/home/heman/mpich-g2/cpi") (executable="/home/heman/mpich-g2/cpi/cpi") ) ( &(resourcemanagercontact="ameya.npsf.cdac.ernet.in") (count=1) (label="subjob 1") (environment=(globus_duroc_subjob_index 1) (LD_LIBRARY_PATH /home/globus/globus-2.4/lib/)) (directory="/home/heman/mpich-g2/cpi") (executable="/home/heman/mpich-g2/cpi/cpi")) 16
Job Submission Interfaces Globus Toolkit includes several command line programs for job submission globus-job-run: Interactive jobs globus-job-submit: Batch/offline jobs globusrun: Flexible scripting infrastructure Others are building better interfaces General purpose Condor-G, PBS, Hotpage, etc Application specific Cactus, Web portals 17
globus-job-submit For running of batch/offline jobs globus-job-submit Submit job globus-job-status Check job status globus-job-cancel Cancel job globus-job-get-output Get job stdout/stderr globus-job-clean Cleanup after job 18
globusrun Flexible job submission for scripting Uses an RSL string to specify job request Contains an embedded globus-gass-server Defines GASS URL prefix in RSL substitution variable: (stdout=$(globusrun_gass_url)/stdout) Supports both interactive and offline jobs 19
An Overview of Globus Toolkit 2.4 Demo References 1. Grid Computing, http://www.gridcomputing.com 2. Globus web site http://www.globus.org 3. CDAC India http://cdacindia.com/html/npsf/npsfidx.asp 20
Globus Toolkit 2.4 Demo GC-SIWAH SIWAH-04 21 August 05-06, 2004