190 likes | 316 Views
GLOBUS Toolkit - Grid Deployment. Boro Jakimovski Marjan Gusev Institute of Informatics Faculty of Natural Sciences and Mathematics University of Sts. Cyril and Metodius Skopje, Macedonia. Grid technology.
E N D
GLOBUS Toolkit -Grid Deployment Boro Jakimovski Marjan Gusev Institute of Informatics Faculty of Natural Sciences and Mathematics University of Sts. Cyril and Metodius Skopje, Macedonia
Grid technology • Flexible, secure, coordinated resource sharing among dynamic collections of individuals, institutions, and resource • Grid architecture • Defined using services and protocols • Using the “sand hourglass” model similar to the TCP/IP protocol stack From “The Anatomy of the Grid: Enabling Scalable Virtual Organizations”
Grid architecture • Fabric – resource specific operations • Connectivity – main communication and authentication proto. • Resource – usage, monitoring, control of single resource • Collective – global interactions between collections of resources
Globus Toolkit™ • No “official” Grid standards exist • but • Globus Toolkit™ has emerged as the de facto standard for several important Connectivity, Resource, and Collective protocols
Contains Computational resources Storage resources Network resources Code resources Catalogs Globus toolkit defined by vendor-supplied interfaces not physical characteristics enquiry software for detection of capabilities and delivers this information to higher lever services Fabric
Contains services allowing Communicaion Transport Routing Naming Authentication Single sign on Delegaion Integration with local security solutions User-based trust relationships Globus toolkit Communication TCP/IP Authentication GSI – Grid Security Infrastructure TLS – Transport Layer Security protocols X.509 certificates User-based trusts GAA – Generic Authorization and Access interface Helps integration with local policies Connectivity
Contains services for Information – structure and state of the resource Management – negotiate access, perform operations, accounting Globus toolkit GRIP(S) – Grid Resource Information Protocol (Service) Based on LDAP GRRP – Grid Resouce Registration Protocol GRAM – Grid Resource Access and Management protocol GridFTP Uses sercurity protocols Resource
Contains global Grid services Directory services Co-allocation, scheduling Monitoring Data replication Grid-enabled programming systems Workload management Software discovery Community authorization Accounting Globus toolkit GIIS – Grid Information Index Server DUROC co-allocator MPICH-G2 Collective
Globus Toolkit™ components • Security • GSI – Grid Security Infrastructure • Resource Management • GRAM – Grid Resource Allocation Manager • globusrun • RSL • gatekeeper • job manager • DUROC – Dynamically-Updated Request Online Coallocator • Information Services • MDS – Monitoring and Discovery Service • GRIS – Grid Resource Information Service • GIIS – Grid Index Information Service • MDS Client • Data Management • GridFTP • GASS
Single sign-on via “grid-id” & generation of proxy cred. Or: retrieval of proxy cred. from online repository Remote process creation requests* GSI-enabled GRAM server Authorize Map to local id Create process Generate credentials Ditto GSI-enabled GRAM server Process Process Communication* Local id Local id Kerberos ticket Restricted proxy Remote file access request* Restricted proxy User Proxy GSI-enabled FTP server Proxy credential Authorize Map to local id Access file * With mutual authentication GSI example User Site A (Kerberos) Site B (Unix) Computer Computer Site C (Kerberos) Storage system
Globus Toolkit™ installation • Choose packages (Client/Server/SDK) • Source packages • Binary packages • Extra packages • GPT – Globus Packaging Tool • Used for install/build disrtibution packages • gpt-install <options> <package-name> <flavor[s]> • gpt-build <options> <package-name> <flavor[s]> • gpt-postinstall
Globus Toolkit™installation • After deploying the selected packages and running gpt-postinstall we execute • setup-gsi – configures grid serurity • In order to use the installation we need to acquire certificates • user certificate • grid-cert-request – creates usercert-request.pem • host certificate • grid-cert-request –host <hostname> – creates host.req • LDAP certificate • grid-cert-request –cn “ldap/hostname” – creates server.req
Globus Toolkit™installation • Globus services installation • In /etc/services insert • Gsigatekeeper 2119/tcp #Globus Gatekeeper • gsiftp 2811/tcp #GridFTP • xinetd/globus-gatekeeper • service gsigatekeeper { socket_type = stream protocol = tcp wait = no user = root server = GLOBUS_LOCATION/sbin/globus-gatekeeper server_args = -conf GLOBUS_LOCATION/etc/globus-gatekeeper.conf disable = no } • Similar for grid-ftp
Globus Toolkit™verification • To test the functionality of the gatekeeper execute • grid-proxy-init -debug -verify • globus-personal-gatekeeper –start • Starts personal proxy and returns our contact string • hostname:4589:/O=Grid/O=Globus/CN=Your Name • To execute a command we use • globus-job-run <contact> /bin/date
Globus Toolkit™verification • MDS test • SXXgris start – starts the GRIS/GIIS server • grid-info-search -anonymous -L – starts a test query to the local GRIS • GridFTP test • grid-proxy-init – start the proxy • in.ftpd -s -p 5678 – start the ftp server • globus-url-copy -s "`grid-cert-info -subject`“ gsiftp://localhost:5678/tmp/file1 file:///tmp/file2
Globus Toolkit™ clients • GRAM Clients • globus-job-run – online interface for job submition • globus-job-run 'contact string' command • globus-job-submit – batch job submition • globus-job-submit 'contact string' command • globusrun – executes a RSL script • MDS Clients • grid-info-host-search - client to a GRIS server • grid-info-host-search -p port hostname "LDAP filter" • grid-info-search - client to a GIIS server • grid-info-search [-x] • GridFTP Clients • globus-url-copy • globus-url-copy sourceURL destURL
Different resource managers Different counts Different executables RSL Example +( & (resourceManagerContact= “flash.isi.edu:754:/C=US/…/CN=flash.isi.edu-fork”) (count=1) (label="subjob A") (executable= my_app1) ) ( & (resourceManagerContact= “sp139.sdsc.edu:8711:/C=US/…/CN=sp097.sdsc.edu-lsf") (count=2) (label="subjob B") (executable=my_app2) )
CoG – Community Grid • CoG is a Java based Globus Toolkit interface. It can be used by normal users for easy access to the Grid.