NorduGrid status
Download
Report
Transcript NorduGrid status
NorduGrid and
Advanced Resource Connector
Oxana Smirnova
Lund/CERN
NorduGrid/LCG/ATLAS
Reykjavik, November 17, 2004
Outlook
NorduGrid background
Challenges of Grid computing
Advanced Resource Connector
2004-11-17
2
Background
2004-11-17
3
Nordic Testbed for Wide Area
Computing and Data Handling (1/2)
Ran in 2001-2002 as a part of the NORDUNet2 program, aimed to
enable Grid middleware and applications in the Nordic countries
– Middleware: EDG
– Applications: ATLAS DC1, theory (Lund, NORDITA)
Participants: academic groups from 4 Nordic countries
Funded resources:
–
–
–
–
DK: Research Center COM, DIKU, NBI
FI: HIP
NO: U. of Bergen, U. of Oslo
SE: KTH, Stockholm U., Lund U., Uppsala U. (ATLAS groups)
– 3 FTEs
– 4 test Linux clusters
• 4-6 CPUs each
• Variety of GNU/Linux OS: RedHat, Mandrake, Slackware
Other resources:
– 2-3 × 0.5 FTEs
– Rental CPU cycles
2004-11-17
4
Nordic Testbed for Wide Area
Computing and Data Handling (2/2)
Strong links with EDG
–
–
–
–
WP6: active work with the ITeam; Nordic CA
WP8: active work with ATLAS DC1
WP2: contribution to GDMP
Attempts to contribute to RC, Infosystem
Had to diverge from EDG in 2002
– January 2002: became increasingly aware that EDG won’t
deliver a production-lever middleware
– February 2002: developed own lightweight Grid
architecture
– March 2002: prototypes of the core services in place
– April 2002: first live demos ran
– May 2002: entered a continuous production mode
Guess what – became known as the NorduGrid
(http://www.nordugrid.org)
2004-11-17
5
NorduGrid
Since end-2002 is a research collaboration
between Nordic academic institutes
– Open to anybody, non-binding
Contributed up to 15% to the ATLAS DC1 (20022003) using local institute clusters and rental
resources from HPC
Since end-2003 focuses only on the middleware
support and development
– The middleware was baptized Advanced Resource
Connector (ARC) in end-2003
– 6 core developers, many contributing student projects
– Provides middleware to research groups (ATLAS, theory)
and national Grid projects
ARC is installed on 40+ sites (~5000 CPUs) in 10
countries
2004-11-17
6
ARC Grid
A Grid based on ARC
middleware
– Driven (so far) mostly by
the needs of the LHC
experiments
– One of the world’s largest
production-level Grids
Close cooperation with
other Grid projects:
–
–
–
–
–
EU DataGrid (2001-2003)
SWEGRID, DCGC …
NDGF
LCG
EGEE
Assistance in Grid
deployment outside the
Nordic area
2004-11-17
7
Challenges
2004-11-17
8
Grid computing: the challenges
Network connectivity is NOT a problem (normally)
– Bandwidth is yet to be saturated
– Storage/data management servers are the bottlenecks
Computing and storage resources
– Different ownership
• Often incompatible purposes, practical and political
• Often incompatible allocation and usage policies
• Often competition/distrust within a single country, let alone
different ones
– Different technical characteristics
• Whole spectrum of operating systems (mostly GNU/Linux
though)
• Whole range of hardware (CPUs from Pentium II to Opteron,
RAM from 128MB to 2GB, disk space from 1GB to 2TB,
network connectivity from 10Mbps to Gbps etc)
• Big variety of cluster configurations (PBS in many flavours,
SGE, Condor, standalone workstations)
2004-11-17
9
Grid challenges: continued
Users and applications
– Different users’ background
• Ranging from a novice user to a sysadmin
• Everybody has a preferred OS (many prefer MS Windows)
• Most are reluctant to learn new ways
– Very different applications
• Whole spectrum from data-intensive to CPU-intensive tasks
• Very different requirements on CPU, memory, disk and
network consumption
• Each application needs a certain runtime environment, which
is sometimes an obscure application-specific piece of
software, and sometimes – a licensed s/w.
– Users and resources are not in the same administrative
domain
2004-11-17
10
Middleware R&D versus production facility
deployment and support
Technical solutions for distributed
computing and data management
are a-plenty; however, political and
sociological obstacles are even more
NorduGrid focuses on providing technical
solutions for Grid computing, trying to
leave “testbed” management and politics to
others
– In reality, developers inevitably get involved into
management to some degree
– Political considerations are ever nagging
2004-11-17
11
Advanced Resource Connector
2004-11-17
12
Philosophy
1. The system must be:
a) Light-weight
b) Portable
c) Non-intrusive:
•
•
•
•
Resource owners retain full control; Grid Manager is
effectively a yet another user (with many faces though)
No requirements w.r.t. OS, resource configuration, etc.
Clusters need not be dedicated
Runs independently of other existing Grid installation
d) Client part must be easily installable by a novice user
2. Strategy: start with something simple that works
for users and add functionality gradually
2004-11-17
13
Architecture
Oriented towards serial batch jobs
Dynamical, heterogeneous set of resources
– Parallel jobs are perfectly possible, but only within a cluster;
ARC is however not optimized for this (yet)
– Computing: Linux clusters (pools) or workstations
• Addition of non-Linux resources is possible via Linux front-ends
– Storage: disk storage (no tape storages offered so far)
Each resource has a front-end
Each user can have a lightweight brokering client
Grid topology is achieved by an hierarchical, multi-rooted set of
indexing services (customized Globus MDS structure)
– Custom GridFTP server for all the communications
– Local information database: LDAP DB + Grid front-end (so-called GRIS)
– LDAP DB + Grid front-end (so-called GIIS)
– Serve as dynamical list of GRISes (via down-up registrations)
– Several levels (project → country → international)
Matchmaking is performed by every client independently
2004-11-17
14
ARC components
Goal: no single point of failure
2004-11-17
15
Implementation
Based on Globus Toolkit® 2 API and libraries
– Very limited subset is actually used: mostly GSI and parts of MDS
– Newly developed components follow Web services framework
– Can be built upon GT3 libraries, but does not use its services
Stable by design:
The “heart”(s): Grid Manager(s)
The “nervous system”: Information System (MDS)
The “brain”(s): User Interface(s)
– Front-end: accepts job requests and formulates jobs for LRMS/fork
– Performs most data movement (stage in and out), cache management,
interacts with replica catalogs
– Manages user work area
– Provides the pseudo-mesh architecture, similar to file sharing networks
– Information is never older than 30 seconds
– Query the InfoSys for info, select a best resource, submit jobs
– All the necessary job and data manipulation/monitoring tools
2004-11-17
16
Information System
Uses Globus’ MDS 2.2
A new schema is developed, to serve
clusters
– Soft-state registration allows creation of
any dynamic structure
– Multi-rooted tree
– GIIS caching is not used by the clients
– Several patches and bug fixes are applied
– Clusters are expected to be fairly
homogeneous
2004-11-17
17
Front-end and the Grid Manager
Grid Manager replaces Globus’ GRAM, still using Globus
ToolkitTM 2 libraries
All transfers are made via GridFTP
Possibility to pre- and post-stage files, optionally using
information from data indexing systems (RC, RLS)
Caching of pre-staged files is enabled
Application-specific runtime environment support
2004-11-17
18
The User Interface
Provides a set of utilities to be invoked from the command line:
ngsub
ngstat
ngcat
ngget
ngkill
ngclean
ngrenew
ngsync
ngls
ngcopy
ngrequest
ngremove
to
to
to
to
to
to
to
to
to
to
to
to
submit a task
obtain the status of jobs and clusters
display the stdout or stderr of a running job
retrieve the result from a finished job
cancel a job request
delete a job from a remote cluster
renew user’s proxy
synchronize the local job info with the MDS
list storage element contents
transfer files to, from and between clusters
transfer files asynchronously (requires SSE)
remove files
Contains a broker that polls MDS and decides to which queue at which cluster
a job should be submitted
–
–
–
–
–
The user must be authorized to use the cluster and the queue
The cluster’s and queue’s characteristics must match the requirements specified in
the xRSL string (max CPU time, required free disk space, installed software etc)
If the job requires a file that is registered in a data indexing service, the brokering
gives priority to clusters where a copy of the file is already present
From all queues that fulfills the criteria one is chosen randomly, with a weight
proportional to the number of free CPUs available for the user in each queue
If there are no available CPUs in any of the queues, the job is submitted to the queue
with the lowest number of queued job per processor
2004-11-17
19
Job Description: extended Globus RSL
(&(executable="recon.gen.v5.NG")
(arguments="dc1.002000.lumi02.01101.hlt.pythia_jet_17.zebra"
"dc1.002000.lumi02.recon.007.01101.hlt.pythia_jet_17.eg7.602.ntuple" "eg7.602.job" “999")
(stdout="dc1.002000.lumi02.recon.007.01101.hlt.pythia_jet_17.eg7.602.log")
(stdlog="gridlog.txt")(join="yes")
(
|(&(|(cluster="farm.hep.lu.se")(cluster="lscf.nbi.dk")(*cluster="seth.hpc2n.umu.se"*)(cluster="login-3.monolith.nsc.liu.se"))
(inputfiles= ("dc1.002000.lumi02.01101.hlt.pythia_jet_17.zebra"
"rc://grid.uio.no/lc=dc1.lumi02.002000,rc=NorduGrid,dc=nordugrid,dc=org/zebra/dc1.002000.lumi02.01101.hlt.pythia_jet
_17.zebra")
("recon.gen.v5.NG" "http://www.nordugrid.org/applications/dc1/recon/recon.gen.v5.NG.db")
("eg7.602.job" "http://www.nordugrid.org/applications/dc1/recon/eg7.602.job.db")
("noisedb.tgz" "http://www.nordugrid.org/applications/dc1/recon/noisedb.tgz"))
)
(inputfiles= ("dc1.002000.lumi02.01101.hlt.pythia_jet_17.zebra"
"rc://grid.uio.no/lc=dc1.lumi02.002000,rc=NorduGrid,dc=nordugrid,dc=org/zebra/dc1.002000.lumi02.01101.hlt.pythia_jet
_17.zebra")
("recon.gen.v5.NG" "http://www.nordugrid.org/applications/dc1/recon/recon.gen.v5.NG")
("eg7.602.job" "http://www.nordugrid.org/applications/dc1/recon/eg7.602.job"))
)
(outputFiles= ("dc1.002000.lumi02.recon.007.01101.hlt.pythia_jet_17.eg7.602.log"
"rc://grid.uio.no/lc=dc1.lumi02.recon.002000,rc=NorduGrid,dc=nordugrid,dc=org/log/dc1.002000.lumi02.recon.007.0110
1.hlt.pythia_jet_17.eg7.602.log")
("histo.hbook"
"rc://grid.uio.no/lc=dc1.lumi02.recon.002000,rc=NorduGrid,dc=nordugrid,dc=org/histo/dc1.002000.lumi02.recon.007.011
01.hlt.pythia_jet_17.eg7.602.histo")
("dc1.002000.lumi02.recon.007.01101.hlt.pythia_jet_17.eg7.602.ntuple"
"rc://grid.uio.no/lc=dc1.lumi02.recon.002000,rc=NorduGrid,dc=nordugrid,dc=org/ntuple/dc1.002000.lumi02.recon.007.01
101.hlt.pythia_jet_17.eg7.602.ntuple"))
(jobname="dc1.002000.lumi02.recon.007.01101.hlt.pythia_jet_17.eg7.602")
(runTimeEnvironment="ATLAS-6.0.2")
(CpuTime=1440)(Disk=3000)(ftpThreads=10))
2004-11-17
20
More components
Storage Elements (SE):
– “Regular” SE: a GridFTP-enabled disk server
– “Smart” SE: a very new addition
• Provides reliable file transfer
• Communicates with various data indexing services
• Asynchronous data manipulation
Monitor: PHP4 client for InfoSys (localized so far in 3
languages)
VO lists: anything from an HTTP-served text file to an LDAP
database, to VOMS; ca 20 VOs in total (over 800 potential
users)
Logging service: job provenance database, filled by GM
Data indexing services: Globus products
– Replica Catalog: scalability and stability problems, many
practical limitations; not supported by Globus
– Replica Location Service: a history of stability problems, no
support for data collections, very coarse-grained access and
authorization
2004-11-17
21
Performance
2002-2003: the only Grid running
massive production (more than
2000 successful jobs, ca 4 TB of
data processed)
– Physics (ATLAS) tasks
2003: Sweden starts allocating
CPU slots for users on SweGrid
running ARC
– All kind of research tasks
2004:
– ARC-connected Grid resources
are used by ATLAS production
system on equal footing with
LCG/EGEE (EU) and Grid3 (USA)
– Many Nordic Grid projects use
ARC as the basic Grid middleware
2004-11-17
22
ARC middleware status
Current stable release: 0.4.4
–
–
–
–
–
GPL license
Available in 12+ Linux flavors
Builds on top of NorduGrid-patched Globus Toolkit 2
EDG VOMS integrated (voms-1.1.39-5ng)
Globus RLS support included
Current development series: 0.5.x
– Contains the “Smart” Storage Element and other newly
introduced features
Anybody is free to use; best-effort support is guaranteed
– Support: [email protected]
– Download at http://ftp.nordugrid.org and cvs.nordugrid.org
– Bug reports: http://bugzilla.nordugrid.org
Everybody is welcomed to contribute
– Join [email protected] (very busy list!)
– Write-access to CVS will be given upon consultations with the
rest of the developers
2004-11-17
23
Conclusion
NorduGrid’s ARC is a reliable and robust Grid
middleware, supporting distributed production
facilities already for more than 2 years
The middleware is in development, everybody is
welcomed to use and contribute
Using ARC does not give an automatic access to
any resource: please negotiate with the resource
owners (create Virtual Organizations)
Deploying ARC does not open doors to all the
users: only resource owners decide whom to
authorize
ARC developers are getting deeply involved in
global Grid standardization and interoperability
efforts
2004-11-17
24