Globus Toolkit 2 - Indico

1
Globus Toolkit 2
Peter Kacsuk – Sipos Gergely
MTA SZTAKI
{kacsuk,sipos}@sztaki.hu
2
Progress in Grid Systems
Client/server
Cluster
computing
Supercomputing
High-throughput High-performance
computing
computing
Condor
Network
Computing
Web Services
2nd
Globus Gen.
OGSA/OGSI
OGSA/WSRF
Grid Systems
3
The Globus-2 model
Resource
description
GIIS (MDS-2)
Publish
MDS-2 API
(configuration description)
Resource
requestor
GRAM API
Resource
provider
Client program moves to resource(s)
Security is a serious problem!
4
Solutions by Globus (GT-2)
•
•
•
•
Dynamic creation of Virtual Organizations (VOs)
Clients can directly choose resources
Standard protocols are used to connect Globus sites
Security issues are basically solved
– Firewalls are allowed between Grid sites
– PKI: CAs and X.509 certificates
– SSL for authentication and message protection
• The client does not need account on every Globus site:
– Proxies and delegation for secure single Sign-on
• Still:
– provides metacomputing facilities (MPICH-G2)
– Not service-oriented either
5
Globus Layered Architecture
Applications
Application Toolkits
DUROC
MPICHG2
globusrun
Condor-G
Nimrod/G
GAT
Basic Grid Services – Globus Toolkit 2
GRAM
Condor
MPI
LSF
PBS
GSI-FTP
GSI
MDS-2
Grid Fabric
NQE
Linux
Replica
Mngt
GASS
TCP
NT
Solaris
UDP
DiffServ
6
The Role of Grid Middleware
and Tools
Collaboration
Tools
Remote
access
Information
services
Remote
monitor
Credit to Ian Foster
Data Mgmt
Tools
Resource
mgmt
...
Data
mgmt
Distributed
simulation
...
net
7
Globus Approach
• Focus on architecture issues
– Provide implementations of
grid protocols and APIs as
basic infrastructure
– Use to construct high-level,
domain-specific solutions
Applications
Diverse global services
Core Globus
services
• Design principles
– Keep participation cost low
– Enable local control
– Support for adaptation
Local OS
8
Globus Approach: Hourglass
High-level services
TCP, FTP,
HTTP, etc.
Internet
protocol
Ethernet, ATM,
FDDI, etc.
Low-level tools
Resource
brokers,
Resource coallocators
GRAM
protocol
Condor,
LSF, NQE,
LoadLeveler, etc.
9
GRAM Components
Client
MDS client API calls
to locate resources
MDS: Grid Index Info Server
Site boundary
MDS client API calls
to get resource info
GRAM client API calls to
MDS: Grid Resource Info Server
request resource allocation
and process creation.
Query current status
of resource
GRAM client API state
change callbacks
Globus Security
Local Resource Manager
Infrastructure
Allocate &
Request
create processes
Job Manager
Create
Gatekeeper
Parse
RSL Library
Monitor &
control
Process
Process
Process
10
Resource Specification Language
• Much of the power of GRAM is in the RSL
• Common language for specifying job
requests
• A conjunction of (attribute=value) pairs
• GRAM understands a well defined set of
attributes
11
“Standard” MDS Architecture (v1.1.3)
•
Resources run a standard information service (GRIS) which speaks LDAP and
provides information about the resource (no searching).
• GIIS provides a “caching” service much like a web search engine. Resources
register with GIIS and GIIS pulls information from them when requested by a
client and the cache as expired.
• GIIS provides the collective-level indexing/searching function.
Resource A
Client 1
Clients 1 and 2 request info
directly from resources.
GRIS
Resource B
GRIS
Client 2
Client 3
Client 3 uses GIIS for searching
collective information.
GIIS requests information from
GRIS services as needed.
GIIS
Cache contains info from A and B
12
GASS Architecture for file staging
Submit machine
Execution machine
main( ) {
fd = globus_gass_open(…)
…
read(fd,…)
…
globus_gass_close(fd)
}
&(executable=https://…)
(b) RSL extensions
GRAM
(a) GASS file access API
GASS Server
HTTP Server
FTP Server
Cache
Cache
(d) Low-level APIs for
customizing cache & GASS server
(c) Remote cache
management
% globus-gass-cache
13
GRAM & GASS: Putting It Together
1.
2.
3.
4.
5.
Derive Contact String
Build RSL string
Startup GASS server
Submit to request
Submit machine
Return output
5
GASS server
stdout
Host
name
Command
Line Args
3
1
Contact
string
2
RSL
string
globus-job-run
Execution machine
program
5
4
jobmanager
4
4
gatekeeper
14
Globus Components In Action
Local Machine
mpirun
RSL
string
Machines
RSL multi-request
globusrun
GRAM
Client
RSL parser
GRAM
GASS Server
GRAM Job Manager
GASS Client
PBS
GSI
App
AIX
Client
GSI
GRAM Job Manager
GRAM Gatekeeper
GSI
GASS Client
Unix Fork
App
Nexus
MPI
X509
User
Cert
grid-proxy-init
RSL single request
DUROC
GSI
GRAM Gatekeeper
Remote Machine
User
Proxy
Cert
Remote Machine
Solaris
Nexus
MPI
15
What is Condor-G?
• Condor-G is a Personal-Condor enhanced
with Globus services
• It knows how to speak to Globus resources
via GRAM
• It can be used to submit jobs to remote
Globus resources
• It makes Condor keep track of their
progress
16
Condor-G: Condor for the Grid
• Condor is a high-throughput scheduler
• Condor-G uses Globus Toolkit libraries for:
– Security (GSI)
– Managing remote jobs on Grid (GRAM)
– File staging & remote I/O (GASS)
• Grid job management interface & scheduling
– Robust replacement for Globus Toolkit programs
• To implement a reliable, crash-proof, checkpointable job submission
service
– Supports single or high-throughput apps on Grid
• Personal job manager which can exploit Grid resources
17
The Use of Condor-G
Globus
resource
Condor
Master
Condor
Schedd
Condor
GridManager
Globus
resource
condor_submit
condor_q
condor_rm
Globus
resource
18
Condor-G as user job submission service
Condor-G
condor_submit
condor_q
condor_rm
Globus
GRAM
Globus
GRAM
Globus
GRAM
Globus
GRAM
CONDOR
LSF
PBS
fork
19
Globus-based production Grids
• LHC Grid (LCG-2)
–
–
–
–
A homogeneous Grid developed by CERN
Restrictive policies (global policies over rule local policies)
A dedicated Grid to the Large Hydron Collider experiments
Works 24 hours/day and used in EGEE
• UK-NGS
–
–
–
–
A homogeneous Grid deployed in the UK
Restrictive policies
Non-dedicated
Works 24 hours/day