320 likes | 479 Views
The EGEE project and the gLite middleware. Gergely Sipos (sipos@sztaki.hu) EGEE “User training and Induction” Activity deputy manager MTA SZTAKI Computer and Automation Research Institute Hungarian Academy of Sciences. Contents. What is EGEE? Goals Status Activities
E N D
The EGEE project andthe gLite middleware Gergely Sipos (sipos@sztaki.hu) EGEE “User training and Induction” Activity deputy manager MTA SZTAKI Computer and Automation Research Institute Hungarian Academy of Sciences
Contents • What is EGEE? • Goals • Status • Activities • EGEE’s Grid middleware: gLite 3 • Security • Job management • Information system • File catalogue • Overview of the afternoon hands-on CoreGRID Summer School 2007 – Budapest, 3-7 September
Introduction • The EGEE project: • 4 year project, funded by the EU (EGEE, EGEE-II) • Seamless Grid infrastructure for e-Science, available for scientists 24 hours-a-day • EGEE:1 April 2004 – 31 March 2006 71 partners in 27 countries, federated in regional Grids • We are now in 2nd phase of the project EGEE-II:1 April 2006 – 31 March 2008 91 partners in 32 countries grouped into 13 federations • EGEE-III proposal is under preparation Transition to self-sustainable European Grid service infrastructure CoreGRID Summer School 2007 – Budapest, 3-7 September
Collaboration International Grid Operations, Support and training Network infrastructure& Resource centres EGEE goals – international e-infrastructure • Build, deploy and operate a consistent, robust a large scale production grid service that • Links with and build on national, regional and international initiatives • Improve and maintain the middleware in order to deliver a reliable service to users • Attract new users from research and industry and ensure training and support for them CoreGRID Summer School 2007 – Budapest, 3-7 September
Production Service Real Time Monitor • Java tool • Displays jobs running (submitted through brokers) • Shows jobs moving around world map in real time, along with changes in status (snapshot 16 January 2007) http://gridportal.hep.ph.ic.ac.uk/rtm/ CoreGRID Summer School 2007 – Budapest, 3-7 September
EGEE-II • From April 2006, natural continuation of EGEE • Expanded consortium • Emphasis on providing an infrastructure increased support for applications interoperate with other infrastructures more involvement from Industry SA: service activities - establishing operations NA: network activities - supporting users and applications JRA: “joint research activities” - e.g. hardening middleware CoreGRID Summer School 2007 – Budapest, 3-7 September
EGEE Infrastructure > 200 sites in 40 countries ~ 36 000 CPUs ~ 5 PB storage 98k jobs/day > 200 Virtual Organizations ⇨The world’s largest multi-disciplinary Grid Country participating in EGEE CoreGRID Summer School 2007 – Budapest, 3-7 September
98k jobs/day Who is using EGEE? • >200 VOs from several scientific domains • Astronomy & Astrophysics • Civil Protection • Computational Chemistry • Comp. Fluid Dynamics • Computer Science/Tools • Condensed Matter Physics • Earth Sciences • Fusion • High Energy Physics • Life Sciences • Further applications under evaluation Applications have moved from testing to routine and daily usage ~80-90% efficiency CoreGRID Summer School 2007 – Budapest, 3-7 September
Virtual organisations and grids • What is a Virtual Organisation? • People in different organisations seeking to cooperate and share resources across their organisational boundaries • E.g. A research collaboration • Each grid is an infrastructure enabling one or more “virtual organisations” to share and access resources • Each resource is exposed to the grid through an abstraction that masks heterogeneity, e.g. • Multiple diverse computational platforms • Multiple data resources • Resources are usually owned by VO members. Negotiations lead to VOs sharing resources CoreGRID Summer School 2007 – Budapest, 3-7 September
EGEE Infrastructure • Production service (production VOs) • Based on gLite 3.0 middleware • With new resource centres and new applications encouraged to participate • Stable, well-supported infrastructure, running only well-tested and reliable middleware • Pre-production service • Run in parallel with the production service (restricted no. of sites) • First deployment of new versions of the middleware • Applications test-bed • GILDA training testbed To be used in the afternoon • https://gilda.ct.infn.it/testbed.html • Complete suite of Grid elements and applications • Testbed, CA certification, VOs, monitoring • Everyone can register and use GILDA for training and testing CoreGRID Summer School 2007 – Budapest, 3-7 September
File and Replica Catalog User Interface Resource Broker Computing Element Storage Element Site X Basic services of the EGEE grid Information System Submit job query Retrieveoutput create credential publish state Submit job query Retrieveoutput Authorization Service (VO Management Service) CoreGRID Summer School 2007 – Budapest, 3-7 September
Who provides the resources?! CoreGRID Summer School 2007 – Budapest, 3-7 September
User’s checklist User obtains grid certificate from a recognized Certificate Authority www.gridpma.org User finds and joins a VO http://cic.gridops.org/ User gets account on the UI machine (and in a Grid portal) User connects to UI by ssh and generates proxy (OR User logs it to a portal service and generates proxy) Annually UI gLite security – the user’s viewpont CA Once VO mgr VOMS VO database Grid Security Infrastructure • VO administrator’s checklist • Receive user’s join request • Add user’s identity and role into VOMS DB • Create account on UI VO services: broker, CE, SE, … CoreGRID Summer School 2007 – Budapest, 3-7 September
Generate Proxy Security – viewpoint of the grid Computing Element Storage Element User Interface Broker Proxy+ VO role Proxy+ VO role Proxy+ VO role User’s public key User’s private key VOMS server VO database Proxy+ VO role CoreGRID Summer School 2007 – Budapest, 3-7 September
Generating proxy – user command [giorgio@glite-tutor giorgio]$ ls -l .globus total 8 -rw-r--r-- 1 giorgio users 1613 Jun 7 15:16 usercert.pem -r-------- 1 giorgio users 1914 Jun 7 15:16 userkey.pem [giorgio@glite-tutor giorgio]$ voms-proxy-init --voms gilda Cannot find file or dir: /home/giorgio/.glite/vomses Your identity: /C=IT/O=GILDA/OU=Personal Certificate/L=INFN/CN=Emidio Giorgio/Email=emidio.giorgio@ct.infn.it Enter GRID pass phrase: *********** Creating temporary proxy ................................Done Contacting voms.ct.infn.it:15001 [/C=IT/O=GILDA/OU=Host/L=INFN Catania/CN=voms.ct.infn.it/Email=emidio.giorgio@ct.infn.it] "gilda" Done Creating proxy ......................................... Done Your proxy is valid until Fri Jul 14 00:34:00 2006 CoreGRID Summer School 2007 – Budapest, 3-7 September
Specifying a job: Job Description Language • Submit job to grid via the resource broker (RB): edg-job-submit my.jdl Execute this on the UIReturns a “job-id” used to monitor job, retrieve output Example JDL file Executable = “gridTest”; What program to start? StdError = “stderr.log”; How to call the Error? StdOutput = “stdout.log”; How to call the Output? InputSandbox = {“/home/sipos/test/gridTest”}; What file(s) to copy from the UI? OutputSandbox = {“stderr.log”, “stdout.log”}; What file(s) to copy back to the UI? CoreGRID Summer School 2007 – Budapest, 3-7 September
edg-job-submit… Input “sandbox” edg-job-get-outputOutput “sandbox” Current production middleware gridTest gridTest Executable = “gridTest”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = {“/home/sipos/test/gridTest”}; OutputSandbox = {“stderr.log”, “stdout.log”}; “User interface” stderr.log stderr.log stdout.log stdout.log Input “sandbox” Output “sandbox” A worker node is allocated by the local jobmanager (e.g. Condor, LSF, …) STD out and err. streams are redirected into files (STD input stream is read from file) stderr.log gridTest stdout.log Computing Element CoreGRID Summer School 2007 – Budapest, 3-7 September
Job submission with dynamic resource discovery Submit job to grid via the resource broker (RB): edg-job-submit my.jdl Execute this on the UIReturns a “job-id” used to monitor job, retrieve output Example JDL file Executable = “gridTest”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = {“/home/sipos/test/gridTest”}; OutputSandbox = {“stderr.log”, “stdout.log”}; Requirements = other.Architecture==“INTEL” && \ other.Memory>=256; Rank = “other.Memory”; CoreGRID Summer School 2007 – Budapest, 3-7 September
Input “sandbox” Output “sandbox” SE & CE info Publish Storage Element Information system in action “User interface” Information Service Resource Broker Input “sandbox” + Broker Info Output “sandbox” Computing Element CoreGRID Summer School 2007 – Budapest, 3-7 September
Information Service • a user or a service can query • the BDII (usual mode) • LDAP servers on each site CoreGRID Summer School 2007 – Budapest, 3-7 September
Information system user query: lcg-infosites • The lcg-infosites command can be used as an easy way to retrieve information on Grid resources for most use cases. USAGE: (execute on the UI machine)lcg-infosites --vo <vo name> options -v <verbose level> --is <BDII to query> CoreGRID Summer School 2007 – Budapest, 3-7 September
Job submission with dynamic data discovery Submit job to grid via the resource broker (RB): edg-job-submit my.jdl Execute this on the UIReturns a “job-id” used to monitor job, retrieve output Example JDL file Executable = “gridTest”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = {“/home/sipos/test/gridTest”}; OutputSandbox = {“stderr.log”, “stdout.log”}; Requirements = other.Architecture==“INTEL” && \ other.Memory>=256; Rank = “other.Memory”; InputData = “lfn:/grid/gilda/sipos/inputs/testbed019”; CoreGRID Summer School 2007 – Budapest, 3-7 September
Input “sandbox” Data location Output “sandbox” SE & CE info Publish Storage Element File catalog in action LCG File Catalogue (LFC) “User interface” Information Service Resource Broker Input “sandbox” + Broker Info Output “sandbox” Computing Element CoreGRID Summer School 2007 – Budapest, 3-7 September
LCG File Catalogue • Catalog of grid directories • “Virtual file system”:Each entry in the directory may be stored on different SEs LCG FileCatalogue (LFC) lfn:/grid/gilda/sipos/inputs/ Storage Element 1sfn://grid005.iucc.ac.il/storage/gilda/generated/2007-06-23/fileb233d43f-5bc6-4ede-a5fe-611d48be2ba5 input1 input2 Replicas: the same content stored on two SEs System provides job with closest replica Storage Element 2srm://aliserv6.ct.infn.it/dpm/ct.infn.it/home/gilda/generated/2007-06-23/filea21ab3e2-8ff6-4a44-82a7-f2 input3 Storage Element 3sfn://trigriden01.unime.it/flatfiles/SE00/gilda/generated/2007-06-23/filec79a9e3c-2485-4206-a2a5-235f User friendly file hierarchy and file names Storage Element 4sfn://grid005.iucc.ac.it/flatfiles/SE00/gilda/generated/2007-06-23/filec79a9e3c-2485-4206-a2a5-235f CoreGRID Summer School 2007 – Budapest, 3-7 September
File_on_se1 Myfile.dat File_on_se2 Storage Element 1 Storage Element 2 Resolving logical file name lfn:/grid/gilda/sipos/ inputs/testbed019 LCG FileCatalogue (LFC) “User interface” Two copied of the same file are available on 2 SEs CoreGRID Summer School 2007 – Budapest, 3-7 September
Job submission with dynamic data discovery Submit job to grid via the resource broker (RB): edg-job-submit my.jdl Execute this on the UIReturns a “job-id” used to monitor job, retrieve output Example JDL file Executable = “gridTest”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = {“/home/sipos/test/gridTest”}; OutputSandbox = {“stderr.log”, “stdout.log”}; Requirements = other.Architecture==“INTEL” && \ other.Memory>=256; Rank = “other.Memory”; InputData = “lfn:/grid/gilda/sipos/inputs/testbed019”; The file itself is NOT transferred by the broker! Your binary must transfer input/output grid files! lfn: logical file name RB uses File Catalog to find file location Broker puts your job on a CE close to the SE where the file is stored CoreGRID Summer School 2007 – Budapest, 3-7 September
Storage Element 1 Storage Element 2 Working with grid files • Use lfc-* commands to interact with the catalogue • To create catalogue directory • List files • Used by User, user’s binary and by lcg-utils (see below) LCG File Catalogue (LFC) lfc-* • Use lcg-* commands to couple catalogue operations with file management • Keeps SEs and catalogue in step! • Create file on storage and register it in catalogue • Replicate files between storages • Download file and delete from catalog “User interface” lcg-* CoreGRID Summer School 2007 – Budapest, 3-7 September
Application Application toolkits, standards Higher-level gLite services (brokering,…) Basic gLite services:security, job submission, info. High(er) level user environments • To hide the complexity of the grid middleware • To provide application specific user interfaces • To provide easier access mechanisms (Eg. Web portal) • To keep the user focused onto the “real problem” • Recommended External Software Packages for Egee CommuniTies • Current RESPECT tools: • GANGA • GridWay • P-GRADE Portal Wednesday http://egeena4.lal.in2p3.fr/ “Grid software” menu CoreGRID Summer School 2007 – Budapest, 3-7 September
Summary - EGEE and gLite • EU founded Grid project: 2004-2006 EGEE; 2006-2008 EGEE-II • Build, deploy and operate a consistent, robust a large scale production grid service that • Improve and maintain the middleware in order to deliver a reliable service to users • Attract new users from research and industry and ensure training and support for them • gLite middleware: Bag of services that address key distributed system issues: • Security, Data management, Job management, Monitoring • Basic components • User interface access service for end users • Workload Management System resource broker • Computing Element computing service, a job queue • Storage Element File storage • File catalog File registry, virtual file system • Information System database of SEs and CEs All built onto Grid Security Infrastructure (GSI) • High level community or application specific tools CoreGRID Summer School 2007 – Budapest, 3-7 September
Furhter information, references • EGEE • http://www.eu-egee.org/ • gLite middleware • http://www.glite.org • gLite manuals, documentation • http://glite.web.cern.ch/glite/documentation/(gLite user guide) • Recommended External Software Packages for Egee CommuniTies • http://egeena4.lal.in2p3.fr/ CoreGRID Summer School 2007 – Budapest, 3-7 September
Afternoon practical 15:45-18:00 Command reminder Security (Practical 1) • voms-proxy-init –voms gilda generates proxy • voms-proxy-destroy delete proxy Job management (Practical 2 & 4) • edg-job-submit job.jdl returns a jobID • edg-job-get-status jobID returns job status • edg-job-getoutput jobID downloads OutputSandBox Information system (Practical 3) • lcg-infosites … queries BDII server File catalogue management (No practical today) • lfc-* manipulate grid directories • lcg-* manipulate SEs and grid directory entries CoreGRID Summer School 2007 – Budapest, 3-7 September
Thank you! Questions?