Fizikai Szemle honlap

Tartalomjegyzék

Fizikai Szemle 2003/12. 430.o.

AZ ELSŐ CSÖVES GÉPTŐL AZ LHC GRIDIG -
a CERN a számítástechnika fejlődésének élvonalában

Hajdú Csaba
MTA KFKI RMKI

Feladatának jellegéből adódóan a CERN mindig a legújabb számítástechnikai eszközök és megoldások használatára törekszik, illetve részt vesz ezek tesztelésében, fejlesztésében is. Ennek eredményei időnként messze túlmutatnak a kutatás közvetlen szükségletein. Jó példája ennek a World Wide Web, vagyis a ma már a nagyközönség számára is ismert és széles körben elérhető világháló. Most folynak azok a további fejlesztések, amelyekre az LHC gyorsító minden eddiginél hatalmasabb adatmennyiségének feldolgozásához lesz szükség. Az úgynevezett LHC grid, illetve a hozzá kapcsolódó magyar részvétel bemutatása előtt - a döbbenetes mértékű fejlődés érzékeltetésére - először röviden visszatekintünk az idáig vezető útra is.

A CERN első elektronikus digitális számítógépe 1958-ban állt üzembe. A Ferranti (e név a Sinclair Spectrum ULA áramköreinek szállítójaként lehet ismerős) Mercury nevű gépe, amelynek beszerzési ára egymillió svájci frank volt, csövekkel és 16,6 kHz-es órajellel működött. Ekkoriban - és még egy jó darabig - a számítógépek ritka és csodálattal övezett szerkezetek voltak; ha 30-40 éve valakinek azt ajánlják, hogy vigyen haza egyet, valószínűleg nagyon megrémül, hiszen nemcsak hogy nem tudott volna mit kezdeni vele, de a gép lakásának jelentős részét is elfoglalta volna. Ráadásul naponta kellett volna fogadni a szerelőket, karbantartókat is, hiszen eleinte a mai legegyszerűbb PC-khez képest is nevetséges teljesítményű gépek üzemeltetéséhez több tucat emberre volt szükség, ráadásul ezek a gépek még szinte többet álltak, mint amennyit működtek.

A teljesítmény és a megbízhatóság terén is javult a helyzet, amikor 1963-ban az első tranzisztoros gép, egy IBM 7090 is megjelent a CERN-ben. Később lassan elkezdtek terjedni a minigépek is, amelyek egy-egy kísérlet helyszíni adatgyűjtését végezték, de még körülbelül két évtizeden át elsősorban központi elhelyezésű nagygépeket használtak, amelyek felhasználók százait vagy ezreit szolgálták ki.

A 80-as években a nagy központi gépekhez kábelen keresztül olyan távoli munkaállomások és terminálok csatlakoztatása indult meg, amelyek már kívülről is emlékeztettek a ma ismert gépekre. A számítási teljesítmény mellett rohamosan fejlődött az adattárolás és a hálózati kommunikáció is, miközben teljesen elavultak az olyan, ma sokak számára már csak elbeszélésekből ismert eszközök, mint a lyukszalag, ferritgyűrűs memória vagy az asztalnyi méretű merevlemez. 1990-ben két olyan fejlesztés indult el a CERN-ben, amelyek eredményei később meghatározó szerepet kaptak a gridek kialakulásában.

Érdekes módon ezek egyikét először nem fogadta osztatlan lelkesedés, ugyanis az 1989-ben induló LEP [1] négy kísérlete közül három elutasító választ adott, amikor a CERN számítóközpontjának szakemberei azzal az ötlettel álltak elő, hogy a nagygépek helyett inkább egy sok kisebb és olcsóbb, UNIX-ot futtató gépből álló rendszert használjanak a kísérleti berendezéseikhez nem közvetlenül kapcsolódó (off-line) feladatok elvégzéséhez. Először egyedül az OPAL-kísérlet [2] volt nyitott arra, hogy ezt a SHIFT (Scalable Heterogeneous Integrated FaciliTy) névre keresztelt rendszert kipróbálja. A javaslat elfogadása után alig egy évvel már üzemelő rendszer SGI-gépekből állt, de ennek elvi jelentősége nincs, hiszen akár a mára már hétköznapi fogyasztási cikké vált PC-kből is lehetne hasonlót építeni.

Szintén 1990-ben született meg a CERN-ben a World Wide Web, azaz www elnevezés, és elkészültek az első hipertext-dokumentumok, illetve az elérésükhöz használható szoftverek. A természettudományos alapkutatás melléktermékeként egy más célokra is kiválóan használható rendszer állt elő, amelynek későbbi fejlődése emiatt is robbanásszerű. . Néhány év alatt olyan új fogalmak jelennek meg, mint az internetes kereskedelem vagy a tartalomkereső rendszerek. A korábbi mércékkel mérve hatalmas teljesítményű otthoni számítógép sokak kifejezett vágyává válik, és egyre inkább terjed; viszonylag olcsó, és akár saját kezűleg is összeállítható, üzemeltethető.

Nem köthető ugyan a CERN-hez, de szintén nagyon lényeges év az 1991, amikor megjelenik az első Linux, azaz egy PC-ken (is) futó, ingyenes UNIX-változat. Az először csak diákhobbiként megalkotott operációs rendszer - az egymással elsősorban a világhálón át kapcsolatot tartó, egymást többnyire személyesen nem is ismerő önkéntes fejlesztőinek folyamatos munkája nyomán világsikerré válik, és ma már a tudományos és ipari alkalmazások terén is komoly konkurenciát jelent a nem szabad forrású operációs rendszerek számára.

Érdemes megjegyezni, hogy a PC-k rohamos terjedése is a nyílt, bárki által utángyártható konstrukciónak köszönhető; a teljesítmény rohamos növekedése, illetve az adott teljesítményhez tartozó ár látványos csökkenése pedig még ma is tart.

A CERN utolsó központi nagygépe, egy IBM 3090-600E 1996. június 30-ig üzemelt. Mivel már akkor érezni lehetett, hogy ezzel egy korszak zárul le, az éjfélkor történő kikapcsolásnál sokan jelen akartunk lenni, így nem léptünk ki, nem mentünk haza, megvártuk, hogy a gépet "kihúzzák" alólunk. Azóta a CERN-ben csak kis gépeket és elosztott rendszereket használunk, de ezek közt is egyre fogynak a nem PC alapúak, és mára már tudományos adatfeldolgozáshoz gyakorlatilag csak linuxos gépek jönnek számításba, természetesen speciális kiegészítőkkel, mint gyors szalagos egységek, illetve az automatikus szalagcserét végző robotok.

Adott tehát a világháló, amely egyebek között olcsó linuxos PC-k tömkelegét is összeköti a világ különböző részeiről. Már "csak" egy kisebb rendszereken hatékonyan nem elvégezhető számítástechnikai feladatra, illetve a munka elosztását és összehangolását megoldó szoftverre van szükségünk, hogy előálljon egy úgynevezett grid, vagyis egy földrajzilag elosztott, hatalmas számítógépes rendszer. A gridben egy felhasználó számára éppen úgy nem lényeges, hogy konkrétan melyik gép futtatja az alkalmazását, mint ahogy a világhálón sem számít az, hogy a keresett információ pontosan honnan és hogyan kerül elő.

A gridek fejlesztése (köztük nem csak a tudományos feladatokhoz használható verzióké is) napjainkban zajlik; a továbbiakban csupán a CERN LHC gyorsítójához kapcsolódó LHC Computing Grid (LCG) rövid bemutatására szorítkozunk. A 2007-ben induló óriási proton-protonütköztető berendezés, az LHC [3] kísérletei várhatóan évente 12-14 petabájtnyi adatot fognak gyűjteni, az adatsebesség pedig akár 1 gigabájt/s is lehet majd egy kísérletnél. 2003 májusában a CERN már demonstrálta, hogy képes ilyen sebességű adatfolyamot több órán keresztül is folyamatosan rögzíteni, ami annak felel meg, mintha négy másodpercenként egy teljes DVD-t (pl. egy mozifilmet) írnánk szalagra. Ezt a feladatot természetesen csak több tucat, párhuzamosan használt mágnesszalagos egységgel, illetve szalagcserélő robotokkal lehetett megoldani, mint ahogy ez jelen esetben is történt [4].

Az LHC adatainak rögzítése után a későbbi feldolgozásában tízezernyi, nagyrészt a CERN-től távol lévő kutató fog részt venni, az ehhez szükséges számítási kapacitás nagyjából 100000 mai PC teljesítményének felel meg. Ezt a gépparkot pénzügyi és praktikus okokból sem lehet a CERN területén összezsúfolni, így a feladathoz jól illik egy grid használata.

Az LCG, azaz LHC Computing Grid első verziójának (amely egyebek között a European Data Grid [5], illetve a Globus [6] korábbi fejlesztésein alapul) tesztelésében [7] világszerte 14 helyszín vesz részt, köztük a KFKI Részecske- és Magfizikai Kutatóintézete (RMKI) is. Az induláskor használt 50 db AMD MP2000+ CPU-t és 1,8 TB kapacitású diszkszervert 2003 végén további 50 CPU-val és 2,2 TB diszkkel bővítettük, 2004-ben pedig újabb 50 CPU és 18 TB diszk beszerzését tervezzük. Az első 50 CPU órajele 1666 MHz-es, azaz pontosan százezerszer gyorsabb, mint a cikk elején említett, 45 évvel ezelőtt egymillió svájci frankért beszerzett gépé. A teljes LCG rendszerhez pedig nagyjából az MP2000+ teljesítményének százezerszeresére lesz majd szükség.

A legegyszerűbb programoknál (amelyeket igazából nem is lenne érdemes griden futtatni, hacsak nem tesztelési céllal) a feladat pontos megfogalmazásán kívül másra elvben nincs is szükség. Ennek ellenére egy grides futtatás konkrét teendői ma még egy picit komplikáltak, részben biztonsági okokból, részben pedig azért, mert a funkcionalitás biztosítása természetszerűen megelőzi a kényelmi szolgáltatások kialakítását. Bonyolultabb esetekben elő lehet (és kell) írni bizonyos feltételeket, mint például a futtató gép architektúrája, memóriamérete, szoftver erőforrásai stb. E paraméterek alapján választja ki a rendszer azt a gépet, amelyik az igényeknek megfelel és a legrövidebb időn belül rendelkezésre áll, majd intézkedik a feladatnak az adott gépre történő beküldéséről.

A felhasználó menet közben információt kérhet alkalmazásai aktuális állapotáról, illetve arról, hogy az elkészült eredményei hol találhatók. Ha valamiért szükséges, természetesen kideríthető, hogy az adott feladat a világ melyik részén lévő melyik gépen futott le, de alapesetben ez az információ teljesen közömbös, csupán a megfelelő erőforrások automatikus rendelkezésre állása, illetve használhatósága lényeges. Idővel várható a felhasználók dolgát tovább könnyítő kényelmes kezelőfelületek megjelenése is.

Az LCG-1 hierarchikusan felépített rendszerében az RMKI közvetlenül csatlakozik a CERN-hez, és a későbbiekben rajta keresztül további helyszínek csatlakozása is várható. Az egy-egy grid-központban lévő erőforrások feladat szerinti megoszlása nagyjából a következő:

Egy "kézzel" installált gépre kerülnek a helyi rendszer felállításához szükséges szoftvercsomagok és konfigurációs fájlok, majd erről a gépről automatikusan, hálózaton keresztül történik az alábbi gépek telepítése:

CE (Computing Element) - a helyi számítási kapacitás elosztója, felügyelője,

UI (User Interface) - a felhasználói kliens szoftverek tárhelye,

RB (Resource Broker) - a feladatok elvégzését koordinálja a beküldéstől az eredmény begyűjtéséig, ide léphetnek be a felhasználók,

BDII (Berkeley Database Information Index) - a RB-nek szolgáltatja a működéséhez szükséges aktuális adatokat,

PROXY - a hosszan futó programok jogosultságainak megújítását végzi,

SE (Storage Element) - nagy adatmennyiség tárolására szolgáló gép,

WN (Worker Node) - a programok tényleges futtatását végző gép.

Nálunk jelenleg a SE kivételével duál AMD MP2000+ processzoros gépek üzemelnek, 1 GB memóriával és 60 GB saját merevlemezzel. A kísérleti összeállításban 3 WN, illetve minden felsorolt másik funkcióra 1-1 gép található. A SE egy duál Intel XEON alapú diszkszerver, két 3ware 7500-12 vezérlővel, amelyek egyenként legfeljebb 12 EIDE-diszket tudnak RAID-ben [8] kezelni. Ennek előnye az, hogy olcsó diszkek használhatók, amelyekhez a RAID gyorsabb adatátvitelt és egyúttal hibatűrést is biztosít.

Általában is igaz a gridre, hogy egy elem meghibásodása nem vezet a teljes rendszer összeomlásához. Természetesen vannak fontosabb gépek, amelyeknél érdemes fokozott biztonságra törekedni, de például egy WN kiesése nem okoz semmilyen komoly fennakadást, így e funkcióra akár a legolcsóbb PC-k is alkalmazhatók.

A hazai bővítések során újabb SE-k mellett elsősorban WN-ok beállítását tervezzük, de a terheléstől függően esetleg szükség lehet majd egy-egy újabb UI és CE-gépre is. A hangsúly természetesen a számítási kapacitáson van, de pontosabb információt jelenleg nehéz adni, hiszen a rendszer behangolása, próbaadatokkal történő tesztelése - és nem utolsósorban - teljes kiépítése még előttünk áll.

2007-re kell majd készen állnunk arra, hogy a többi helyszínnel együtt megfelelő szinten tudjuk biztosítani a világ eddigi leginkább nagyra törő és a fizika legalapvetőbb kérdéseire választ kereső kísérletének off-line számítástechnikai hátterét.

Irodalom

  1. http://www.hep.ucl.ac.uk/~jpc/all/ulthesis/node15.html
  2. HORVÁTH DEZSŐ - Fizikai Szemle 53/10 (2003) 364
  3. http://lhc.web.cern.ch/lhc/general/gen_info.htm
  4. http://cnlart.web.cern.ch/cnlart/2003/002/StorageTek/
  5. http://eu-datagrid.web.cern.ch/eu-datagrid/
  6. http://www.globus.org/
  7. http://grid-deployment.web.cern.ch/grid-deployment/cgi-bin/index.cgi?var=lcg1Status
  8. http://w3.studiotech.hu/studiotech/hu/video/storage_overview.htm