A CERN LHC-Grid rendszerének telepítése az RMKI-ban Debreczeni Gergely (KFKI RMKI) Networkshop 2004 2004 április 5.-7. Győr, Széchenyi István Egyetem
Tartalom Bevezetés Kik vagyunk, mit csinálunk? Előzmények - Az RMKI Condor rendszere Az LCG-1 1 telepítése Mi az az LCG? Hogyan működik? Az RMKI LCG központja Az LCG programrendszer LCG központok a világon Programok futtatása Tervek, lehetőségek
Bevezetés Kik vagyunk? KFKI RMKI a Magyar Tudományos Akadémia Központi Fizikai Kutató Intézetének Részecske és Magfizikai Kutató Intézete. Az Intézetben szerteágazó kutatási tevékenység zajlik az elméleti fizika kísérleti részecskefizika plazmafizika atomfizika biofizika űrfizika területén, sok esetben nemzetközi együttműködésekben történő részvétel formájában.
Előzmények: Az RMKI Condor rendszere Eredeti célkitűzés: Az Intézet számítógépei felesleges kapacitását kihasználni. Megoldás: Condor 6.6.2 Erőforrások: ~ 60 proc. 90 GFLOP 21 GB RAM 1.8 TB HDD Alkalmazások: detektor szimulációk, kvantumfizikai számolások, biofizikai szimulációk, részecskefizikai adatfeldolgozás
Az RMKI Condor rendszere A számítógépek felesleges kapacitásának kihasználtsága az elmúlt egy hónapban.
Mi az az LCG? A részecskegyorsító detektorok következő generációja eddig soha nem tapasztalt számítási, adatmozgatási és adatfeldolgozási követelményeket állított fel. Ezen követelmények nem elégíthetők ki hatalmas helyi számítógépparkok létrehozásával. Nemzetközi összefogásra és egy mind erőforrásaiban mind elhelyezkedésében elosztott számítógéprendszer kiépítésére volt/van szükség. Ezen követelmények kielégítése a Large Hadron Collider Computing Grid rendszer célja!
A Large Hadron Collider Genf, Svájc CERN European Organisation for Nuclear Research
A Large Hadron Collider
Egy kísérlet számítási követelményei: 30 millió esemény/sec Az azonnali szelekció után: 100 esemény/sec 1 esemény ~ 1-2 MB adat Az adatáramlás mértéke: 100 MB/sec ~ 10 TB/nap ami 100 nap/év futás idővel számolva: ~ 1 PB/év adat ~ 1000 interaktív felhasználó Eddig soha nem tapasztalt: mennyiségű és komplexitású adatáramlás hosszúságú és szervezettségű kísérleti programsorozat hatalmas, földrajzilag (is) elosztott kollaborációk
Az LHC számítási modellje 1 db Tier-0 központ a CERN-ben ahol az adatokat felveszik. Az ATLAS kísérlet esetén: (Tier 0+1) 2007-ben: 400 TB HDD, 9 PB szalagos egység, 700.000 SpecInt95 (SI95) Néhány Tier-1 központ amelyek a rekonstrukciót és a szimulációt végzik: 400 TB HDD, 2 PB szalagos egység 200,000 SpecInt95 Sok Tier-2 központ a felhasználói adatelemzéshez ( 700.000 SpecInt95 körülbelül 16.000 darab 1 GHz-es AMD ATHLON processzor teljesítményével ekvivalens számítási kapacitást jelent!!!)
Az RMKI LCG központja - Szerver: Memória: Processzor: Rendszer: Merevlemez: Hálózat: Elonex Disk Server 1 GB Dual Intel Xeon 2 GHz RedHat 7.3 2.5 TB RAID 5 10/100/1000 Mbit erőforrások Web: http://www.lcg.kfki.hu Memória: 25 db (dual)/50 db 1 GB/ 512 MB Processzor: Merevlemez: Rendszer: Hálózat: AMD ATHLON MP 2000+ AMD ATHLON XP 1900+ 60 GB/120 GB RedHat 7.3 100 Mbit
Az RMKI LCG központja - telepítés, az LCFG eszköz Az LCFG t (Local ConFiGuration System) a Computer Science Department of Edinburgh University fejlesztette ki. (http://www.lcfg.org) Számítógépek automatikus telepítését, konfigurálását és karbantartását könnyíti meg. Néhány alapvető jellemzője: automatikus OS installáció RPM kompatibilis csomagok automatikus telepítése/frissítése/törlése törlése centralizált klaszter konfiguráció és karbantartás könnyen használható/fejleszthető az LCG programcsomagok kezelésére is
LCFG eszköz működésének sematikus vázlata Konfigurációs fájlok LCFG konfigurációs fájlok XML profájlok elkészítése HTTP Web Szerver XML Profájl +inet.services telnet login ftp +inet.services telnet login ftp +inet.allow telnet login ftp sshd +inet.allow telnet login ftp sshd +inet.allow_telnet ALLOWED_NETWORKS +inet.allow_telnet Read ALLOWED_NETWORKS Load +inet.allow_login ALLOWED_NETWORKS +inet.allow_login Profile rdxprof ALLOWED_NETWORKS Profile ldxprof +inet.allow_ftp ALLOWED_NETWORKS +inet.allow_ftp ALLOWED_NETWORKS +inet.allow_sshd ALL +inet.allow_sshd ALLProfile Generic +inet.daemon_sshd yes +inet.daemon_sshd yes Object Component...... +auth.users mickey +auth.users mickey +auth.userhome_mickey Local cache /home/mickey +auth.userhome_mickey /home/mickey +auth.usershell_mickey +auth.usershell_mickey /bin/tcsh LCFG /bin/tcsh Objects Szerver A gépek konfigurációjának absztrakt LCFG nyelven megírt változata egy központi szerveren van. Kliens gép A kliensek kiolvassák a konfigurációs paramétereket és vagy hagyományos konfigurációs fájlokat készítenek, vagy közvetlenül a rendszer szolgáltatásokat manipulálják.
LCFG eszköz működésének sematikus vázlata LCFG konfigurációs fájlok XML profájlok elkészítése Szerver A gépek konfigurációjának absztrakt LCFG nyelven megírt változata egy központi szerveren van. HTTP Web Server XML Profile Read Profile rdxprof XML profájlok Load Profile ldxprof <inet> <inet> <allow cfg:template="allow_$ tag_$ daemon_$"> <allow cfg:template="allow_$ Profile Generic tag_$ daemon_$"> <allow_record cfg:name="telnet"> <allow_record cfg:name="telnet"> Object Component <allow>192.168., 192.135.30.</allow> <allow>192.168., 192.135.30.</allow> </allow_record> </allow_record> Local cache...... </auth> LCFG Objects </auth> <user_record cfg:name="mickey"> <user_record cfg:name="mickey"> <userhome>/home/mickeymousehome</userhome> <userhome>/home/mickeymousehome</userhome> Client nodes <usershell>/bin/tcsh</usershell> <usershell>/bin/tcsh</usershell> </user_record> A kliensek </user_record> kiolvassák a konfigurációs paramétereket és vagy hagyományos konfigurációs fájlokat készítenek, vagy közvetlenül a rendszer szolgáltatásokat manipulálják.
LCFG eszköz működésének sematikus vázlata LCFG konfigurációs fájlok HTTP Read Profile rdxprof Load Profile ldxprof XML profájlok elkészítése Web Server XML Profile Profile Generic LCFG kliens Object Component Local cache inet auth LCFG Components Szerver Kliens gép A gépek konfigurációjának absztrakt LCFG nyelven megírt változata egy központi szerveren van. A kliensek kiolvassák a konfigurációs paramétereket és vagy hagyományos konfigurációs fájlokat készítenek, vagy közvetlenül a rendszer szolgáltatásokat manipulálják.
LCFG eszköz működésének sematikus vázlata LCFG konfigurációs fájlok HTTP Read Profile rdxprof Load Profile ldxprof /etc/shadow /etc/shadow Make XML /etc/group Profile /etc/group Server A gépek konfigurációjának absztrakt LCFG nyelven megírt változata egy központi szerveren van. Web Server XML Profile /etc/passwd /etc/passwd...... mickey:x:999:20::/home/mickey:/bin/tcsh mickey:x:999:20::/home/mickey:/bin/tcsh...... Profile Generic Profile Object Component Local cache inet auth LCFG Objects Kliens gép A kliensek kiolvassák a konfigurációs paramétereket és vagy hagyományos konfigurációs fájlokat készítenek, vagy közvetlenül a rendszer szolgáltatásokat manipulálják.
LCFG: a konfiguráció megváltozása Szerver oldal: amikor a konfigurációs fájlok megváltoznak egy (mkxprof( mkxprof) ) eszköz új xml fájlokat készít és értesíti a változtatásban érdekelt klienseket. ez végezhető kézzel vagy egy démon segítségével amely időröl-időre időre figyeli a konfigurációs fájlokat és változás esetén meghívja az mkxprof eszközt. az mkxprof UDP-n n keresztül értesíti a klienseket Kliens oldal : egy másik eszköz (rdxprof( rdxprof) ) letölti a megváltozott xml profájlokat általában a rendszerindítás során egy LCFG komponens aktiválja a kliens oldali eszköz konfigurálható mint egy démon mely periodikusan a szerverhez fordul egy démon mely értesítésre vár egy program melyet meghatározott időkben a cron indít
Az LCG programrendszer (LCG1-1.1.3) 1.1.3) Az LCG egy middleware felhasználó nem pedig fejlesztő Kezdeti middleware válogatás: VDT (Virtual Data Toolkit) - számos amerikai grid programrendszerből importál komponenseket, mint például a Globus és a Condor EDG (European Data Grid) másolat nyílvántartók, erőforrás menedzser, másolat menedzser eszközök, kapuőrök Helyi ütemező rendszerek: PBS, LSF vagy Condor. A vártnál kisebb sikert arat az összhatás az LCG stabilitásának és effektivitásának növelése érdekében komponensek hozzáadására, módosítására volt/van szükség LCG-2
Az LCG logikai egységei 1. Felhasználói felület (user interface,ui) 2. Erőforrás menedzser (resource broker,rb) 4. Számoló egység (computing element,, CE) Kapuőr (gatekeeper( gatekeeper) (Front-end Node) Rabszolgák (working nodes, WN) 5. Tároló egység, (Storage Element,SE) 3. Információ szerviz, (information service, IS) 6. Helyettesítő egység, (proxy server,, PR)
RMKI LCG központjának státusz oldala http://www.lcg.kfki.hu/report
Az LCG néhány paramétere Résztvevő intézetek: Résztvevő országok: Kontinensek száma: jelenlegi állapotában Virtuális szervezetek száma: 6 VO Regisztrált felhasználók: Számítógépek száma: 31 intézet 15 ország 3 kontinens ~ 500 személy ~ 2000 db Legnagyobb földrajzi távolság:12565 km
LCG központok a világon
Az LCG néhány fontos tulajdonsága Mind földrajzi mind adminisztratív értelemben nagy mértékben elosztott számítógéprendszer, Nincs Achilles-ína ína,, vagyis olyan sebezhető pontja melynek hibája az egész rendszert megbénítaná. (no single point of failure,, no SPF), Virtuális szervezetekbe (virtual( organisations, VOs) ) tömörülő felhasználók, Szigoru felhasználó, program és számítógép azonosítás certificate hatóságok segítségével (Certificate( Authority,, CA), Dinamikus erőforrás kezelés. Erőforrások beléphetnek illetve elhagyhatják az LCG-t t bármely pillanatban, Az LCFG használatával nagymértékben leegyszerűsített és meggyorsított karbantartás illetve installáció megvalósítása. Mindezek eredményeképpen már a kezdeti időszaktól kezdve állandó, folyamatos felhasználás vált lehetővé.
Példa egyszerű futtatásra A program elkészítése (TestJob( TestJob.sh) A program előkészítése a futtatásra (TestJob.jdl) A program elküldése Státusz információk lekérdezése A végeredmény letöltése
Példa egyszerű futtatásra UI JDL Input Sandbox Replica Catalogue (RC) Information Service (IS) Job Status submitted Job Submit Event Logging & Book-keeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) Computing Element (CE)
Példa egyszerű futtatásra UI JDL Replica Catalogue (RC) Information Service (IS) Job Status submitted waiting Resource Broker (RB) Logging & Book-keeping (LB) Job Submission Service (JSS) Storage Element (SE) Compute Element (CE)
Példa egyszerű futtatásra UI JDL Replica Catalogue (RC) Information Service (IS) Job Status submitted waiting ready Logging & Book-keeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) Compute Element (CE)
Példa egyszerű futtatásra UI JDL Replica Catalogue (RC) Information Service (IS) Resource Broker (RB) Logging & Book-keeping (LB) Job Submission Service (JSS) Storage Element (SE) Compute Element CE)
Példa egyszerű futtatásra UI JDL Replica Catalogue (RC) Information Service (IS) Job Status submitted waiting ready Logging & Book-keeping (LB) Resource Broker (RB) Job Submission Service (JSS) BrokerInfo Storage Element (SE) Compute Element (CE) scheduled
Példa egyszerű futtatásra UI JDL Replica Catalogue (RC) Information Service (IS) Job Status submitted waiting ready Resource Broker (RB) Input Sandbox scheduled running Logging & Book-keeping (LB) Job Submission Service (JSS) Storage Element (SE) Compute Element (CE)
Példa egyszerű futtatásra UI JDL Replica Catalogue (RC) Information Service (IS) Job Status submitted waiting ready Logging & Book-keeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) scheduled running Job Status Compute Element (CE)
Példa egyszerű futtatásra UI JDL Replica Catalogue Information Service Job Status submitted waiting ready Logging & Book-keeping Resource Broker Job Submission Service Storage Element scheduled running done Job Status Compute Element
Példa egyszerű futtatásra UI JDL Replica Catalogue Information Service Job Status submitted waiting ready Logging & Book-keeping Resource Broker Job Submission Service Storage Element scheduled running done outputready Job Status Output Sandbox Compute Element
Példa egyszerű futtatásra UI JDL Replica Catalogue (RC) Information Service (IS) Job Status submitted waiting ready Logging & Book-keeping (LB) Output Sandbox Resource Broker (RB) Job Submission Service (JS) Storage Element (SE) scheduled running done outputready Compute Element (CE) cleared
Példa egyszerű futtatásra grid-proxy-init [gdebrecz@grid110 test]$ grid Your identity: : /C=HU/O=KFKI-RMKI/OU=RFFO/CN= Gergely Debreczeni/Email=Gergely. /Email=Gergely.Debreczeni@cern.chch Enter GRID pass phrase for this identity: Creating proxy... Done Your proxy is valid until: Tue Sep 23 13:44:01 2003 [gdebrecz@grid110 test]$ Executable = "/bin/hostname"; StdOutput = "hello.out"; StdError = "hello.err"; OutputSandbox = {"hello.out", "hello.err"}; [gdebrecz@grid110 test]$ edg-job job-submit hello.jdl Connecting to host grid111.kfki kfki.hu,, port 7772 Logging to host grid111.kfki kfki.hu,, port 9002 ************************************************************************************ JOB SUBMIT OUTCOME The job has been successfully submitted to the Network Server. Use edg-job job-status command to check job current status. Your job identifier (edg_jobid)) is: - https://grid111.kfki kfki.hu:9000/ac34kpadqvx_cqa7f6azrq ************************************************************************************* [gdebrecz@grid110 test]$
Példa egyszerű futtatásra [gdebrecz@grid110 test]$ edg-job job-status https://grid111.kfki kfki.hu:9000/ac34kpadqvx_cqa7f6azrq ************************************************************* BOOKKEEPING INFORMATION: Printing status info for the Job : https://grid111.kfki kfki.hu:9000/ac34kpadqvx_cqa7f6azrq Current Status: Done (Success) Exit code: 0 Status Reason: Job terminated successfully Destination: lcg00105.grid.sinica sinica.edu.tw:2119/ :2119/jobmanager-lcgpbs-longlong reached on: Mon Sep 22 23:57:20 2003 ************************************************************* [gdebrecz@grid110 test]$ edg-job job-get-output https://grid111.kfki kfki.hu:9000/ac34kpadqvx_cqa7f6azrq Retrieving files from host grid111.kfki kfki.hu ********************************************************************************* JOB GET OUTPUT OUTCOME Output sandbox files for the job: - https://grid111.kfki kfki.hu:9000/ac34kpadqvx_cqa7f6azrq have been successfully retrieved and stored in the directory: /tmp/joboutput/ac34kpadqvx_cqa7f6azrq ********************************************************************************* [gdebrecz@grid110 test]$
Tervek, lehetőségek Az LCG-2 2 rendszerhez történő csatlakozás gyors befejezése A számítási és tároló kapacitás növelése: 150 processzor 18 TB merevlemez Tier-2 2 központok csatlakoztatása (Debrecen, ELTE,?) KFKI CA létrehozása (folyamatban) Nyitás más tudományterületek felé, további VO-k k létrehozása