Chagua Lugha

Miunganisho ya Taratibu na Hifadhi ya Aina Mbalimbali kwa PUNCH4NFDI

Uchambuzi wa dhana za Compute4PUNCH na Storage4PUNCH za kuunganisha rasilimali mbalimbali za HPC, HTC na hifadhi katika taasisi za utafiti za Ujerumani.
computingpowertoken.net | PDF Size: 0.5 MB
Ukadiriaji: 4.5/5
Ukadiriaji Wako
Umekadiria waraka huu tayari
Kifuniko cha Waraka PDF - Miunganisho ya Taratibu na Hifadhi ya Aina Mbalimbali kwa PUNCH4NFDI

1. Utangulizi

Ushirika wa PUNCH4NFDI (Chembe, Ulimwengu, Nyukli na Hadroni kwa Miundombinu ya Kitaifa ya Data ya Utafiti), unaofadhiliwa na Shirika la Utafiti la Ujerumani (DFG), linawakilisha takriban wanasayansi 9,000 kutoka jamii za fizikia ya chembe, nyota, chembe za nyota, hadroni, na nyukli. Ukiwa ndani ya mpango mpana wa NFDI, lengo lake kuu ni kuanzisha jukwaa la data ya sayansi linalounganishwa na linalozingatia kanuni za FAIR (Inayopatikana, Inayoweza Kufikiwa, Inayoweza Kufanya Kazi Pamoja, Inayoweza Kutumiwa Tena). Jukwaa hili linalenga kutoa ufikiaji mwepesi wa rasilimali mbalimbali za taratibu na hifadhi za taasisi zinazohusika, kukabiliana na changamoto za kawaida zinazosababishwa na kasi ya ukuaji wa kiasi cha data na algoriti za uchambuzi zenye mzigo mkubwa wa taratibu. Waraka huu unazingatia dhana za muundo—Compute4PUNCH na Storage4PUNCH—zilizoundwa ili kuunganisha miundombinu ya utafiti ya aina mbalimbali ya Ujerumani.

2. Miunganisho ya Taratibu ya Aina Mbalimbali – Compute4PUNCH

Compute4PUNCH inakabiliana na changamoto ya kutumia kwa ufanisi safu pana ya rasilimali zilizochangia, zikiwemo Taratibu za Uchakataji wa Kasi ya Juu (HTC), Taratibu za Utendaji wa Juu (HPC), na mifumo ya Wingu, iliyosambazwa kote Ujerumani. Rasilimali hizi hutofautiana katika muundo, mifumo ya uendeshaji, safu za programu, na sera za ufikiaji. Kanuni kuu ya muundo ni kuunda mfumo wa juu ulio umoja na usiingilie sana na watoa rasilimali walio wapo na wanafanya kazi.

2.1. Muundo Msingi na Ujumuishaji

Muunganisho huu umejengwa kuzunguka HTCondor kama mfumo mkuu wa juu wa kundi. Rasilimali mbalimbali hujumuishwa kwa nguvu kwa kutumia COBalD/TARDIS kama mpangaji rasilimali. COBalD/TARDIS hufanya kazi kama msimamizi mwenye akili, kuelekeza kazi kwenye mifumo ya nyuma inayofaa (k.m., Slurm, makundi ya Kubernetes) kulingana na upatikanaji wa rasilimali, mahitaji ya kazi, na sera. Hii huunda hazina moja ya kimantiki ya rasilimali kutoka kwa mifumo tofauti kimwili.

2.2. Ufikiaji wa Mtumiaji na Mazingira ya Programu

Vingilio vya mtumiaji vinatolewa kupitia nodi za kuingia za kawaida na huduma ya JupyterHub. Miundombinu ya Uthibitishaji na Uidhinishaji (AAI) yenye msingi wa tokeni inastandardisha ufikiaji. Ugumu wa mazingira ya programu husimamiwa kupitia teknolojia za kontena (k.m., Docker, Singularity/Apptainer) na Mfumo wa Faili ya Mashine ya Mtandao ya CERN (CVMFS), ambao hutoa usambazaji wa programu unaoweza kupanuka na usiosomeka tu kwenye nodi za taratibu ulimwenguni.

3. Miunganisho ya Hifadhi – Storage4PUNCH

Storage4PUNCH inalenga kuunganisha mifumo ya hifadhi inayotolewa na jamii, hasa inayotegemea teknolojia za dCache na XRootD, ambazo zimekubalika katika Fizikia ya Nishati ya Juu (HEP). Muunganisho huu hutumia anuwai za majina na itifaki za kawaida (kama xrootd, WebDAV) kuwasilisha tabaka la umoja la ufikiaji wa data. Dhana hii pia inatathmini ujumuishaji wa suluhisho za kuhifadhi kwenye kumbukumbu ya haraka na huduma za usimamizi wa metadata ili kuboresha eneo la data na uwezo wa kuigundua katika muunganisho.

4. Utekelezaji wa Kiufundi na Vipengele

4.1. Uthibitishaji na Uidhinishaji (AAI)

AAI yenye msingi wa tokeni (yenye uwezekano wa kutumia viwango vya OAuth 2.0/OpenID Connect, sawa na WLCG IAM au INDIGO IAM) hutoa uzoefu wa kuingia mara moja. Hupanga vitambulisho vya jamii kwenye ruhusa za rasilimali za ndani, na kuficha mifumo tofauti ya uthibitishaji wa ndani (k.m., Kerberos, funguo za SSH).

4.2. Upangaji Rasilimali: COBalD/TARDIS

COBalD (Mratibu) na TARDIS (Mfumo wa Ujumuishaji wa Nguvu wa Rasilimali Unaobadilika na Unaoeleweka) hufanya kazi pamoja. COBalD hufanya maamuzi ya upangaji ya kiwango cha juu, huku TARDIS ikisimamia mzunguko wa maisha wa "majaribio" au "kazi za kushika nafasi" kwenye rasilimali lengwa. Utoaji huu wa muunganisho huruhusu utekelezaji wa sera zinazobadilika (k.m., gharama, haki, kipaumbele) na kukabiliana na hali zinazobadilika-badilika za rasilimali. Upangaji unaweza kuonyeshwa kama shida ya uboreshaji, kupunguza utendakazi wa gharama $C_{total} = \sum_{i}(w_i \cdot T_i) + \lambda \cdot R$, ambapo $T_i$ ni muda wa kukamilisha kazi $i$, $w_i$ ni uzani wa kipaumbele chake, $R$ inawakilisha gharama ya matumizi ya rasilimali, na $\lambda$ ni kigezo cha usawazishaji.

4.3. Tabaka la Data na Programu

CVMFS ni muhimu kwa usambazaji wa programu. Hutumia muundo wa hifadhi unaoelekezwa kwa maudhui na kuhifadhi kwenye kumbukumbu ya haraka kwa nguvu (kwa seva za Stratum 0/1 na kumbukumbu za ndani za Squid) kutoa hazina za programu kwa ufanisi. Muunganisho huenda ukatumia safu ya CVMFS, na stratum 0 kuu ya hazina ya PUNCH na nakala za stratum 1 za taasisi. Ufikiaji wa data hufuata muundo sawa wa muunganisho, na vipengele vya hifadhi (SEs) vikichapisha vituo vya mwisho kwenye saraka ya kimataifa (kama Rucio au huduma rahisi ya REST), na kuruhusu wateja kutatua maeneo ya data kwa uwazi.

5. Hali ya Mfano wa Kwanza na Uzoefu wa Mwanzo

Waraka unaonyesha kwamba miundo ya kwanza ya Compute4PUNCH na Storage4PUNCH inafanya kazi. Matumizi ya kwanza ya kisayansi yamefanywa, na kutoa maoni muhimu kuhusu utendaji, urahisi wa matumizi, na maeneo magumu ya ujumuishaji. Ingawa hakuna nambari maalum za vipimo zilizotolewa katika dondoo, utekelezaji wenye mafanikio unaonyesha kwamba utendaji wa msingi wa mfumo wa juu wa kundi, ujumuishaji wa AAI, na uwasilishaji wa programu kupitia CVMFS umethibitishwa. Uzoefu huu unaongoza uboreshaji katika usanidi wa sera, usimamizi wa makosa, na nyaraka za mtumiaji.

6. Ufahamu Muhimu na Uchambuzi wa Kimkakati

Ufahamu Msingi: PUNCH4NFDI haijaji kompyuta mpya ya hali ya juu; inabuni "kitambaa cha muunganisho" kinachounganisha kwa vitendo rasilimali zilizopo na zilizogawanyika. Hii ni mabadiliko ya kimkakati kutoka kwa miundombinu iliyounganishwa moja kwenda kwa mkusanyiko wa rasilimali unaobadilika na unaofafanuliwa na programu, ukifuata mienendo ya wingu la kibiashara lakini ukibadilishwa kulingana na vikwazo na utamaduni wa taasisi za umma zilizofadhiliwa.

Mtiririko wa Kimantiki: Muundo huu unafuata mantiki wazi inayotegemea utegemezi: 1) Umoja wa Kitambulisho (AAI) kutatua tatizo la "nani", 2) Kuficha Rasilimali (COBalD/TARDIS + HTCondor) kutatua tatizo la "wapi", na 3) Kutenganisha Mazingira (Kontena + CVMFS) kutatua tatizo la "na nini". Ufichaji huu wa tabaka ni uhandisi wa mifumo wa kawaida, ukikumbusha mafanikio ya Wavu la Kimataifa la Taratibu la LHC (WLCG), lakini ukitatuliwa kwenye seti ya rasilimali zenye aina mbalimbali zaidi.

Nguvu na Udhaifu: Nguvu kuu ni mtindo wake wa kupitishwa usioharibu. Kwa kutumia teknolojia za juu na kuzingatia uhuru wa tovuti, inapunguza kikwazo kwa watoa rasilimali—jambo muhimu la mafanikio kwa mashirika. Hata hivyo, hii pia ndiyo udhaifu wake. Mzigo wa ziada wa upangaji na ugumu wa asili wa kurekebisha hitilafu katika mifumo tofauti na inayosimamiwa kwa kujitegemea unaweza kuwa mkubwa. Amri ya "kuingilia kwa kiwango cha chini" inaweza kuzuia uwezo wa kutekeleza vipengele vya hali ya juu kama muunganisho wa kina wa hifadhi-taratibu au utoaji wa mtandao unaobadilika, na kwa uwezekano mkubwa kupunguza faida za ufanisi. Ikilinganishwa na mfumo uliokusudiwa na uliokusanywa katikati kama Borg ya Google au kundi la Kubernetes, muunganisho utakuwa na ucheleweshaji wa juu zaidi na utabiri wa chini wa matumizi.

Ufahamu Unaoweza Kutekelezwa: Kwa mashirika mengine yanayozingatia njia hii: 1) Wekeza sana katika ufuatiliaji na uonekanaji tangu siku ya kwanza. Zana kama Grafana/Prometheus kwa miundombinu na APM (Ufuatiliaji wa Utendaji wa Programu) kwa kazi za mtumiaji ni muhimu kwa usimamizi wa ugumu. 2) Weka kiwango cha seti nyembamba ya picha za msingi za kontena ili kupunguza mzigo wa matengenezo ya CVMFS. 3) Undu mtindo wazi wa msaada wenye viwango unaotofautisha maswala ya kiwango cha muunganisho na matatizo ya tovuti za ndani. Jaribio halisi halitakuwa uwezekano wa kiufundi—jamii ya HEP imethibitisha hilo—lakini uendelevu wa uendeshaji na kuridhika kwa mtumiaji kwa kiwango kikubwa.

7. Uchunguzi wa Kina wa Kiufundi

Mfano wa Hisabati wa Upangaji wa Rasilimali: Mfumo wa COBalD/TARDIS unaweza kufasiriwa kama kutatua shida ya uboreshaji yenye vikwazo. Acha $J$ iwe seti ya kazi, $R$ iwe seti ya rasilimali, na $S$ iwe seti ya hali za rasilimali (k.m., tupu, inatumika, imezimwa). Mpangaji analenga kuongeza utendakazi wa manufaa $U$ unaozingatia kipaumbele cha kazi $p_j$, ufanisi wa rasilimali $e_{j,r}$, na gharama $c_r$: $$\max \sum_{j \in J} \sum_{r \in R} x_{j,r} \cdot U(p_j, e_{j,r}, c_r)$$ chini ya vikwazo: $$\sum_{j} x_{j,r} \leq C_r \quad \forall r \in R \quad \text{(Uwezo wa Rasilimali)}$$ $$\sum_{r} x_{j,r} \leq 1 \quad \forall j \in J \quad \text{(Mgawo wa Kazi)}$$ $$x_{j,r} \in \{0,1\} \quad \text{(Kigezo cha Maamuzi cha Binary)}$$ ambapo $x_{j,r}=1$ ikiwa kazi $j$ imetengwa kwa rasilimali $r$. TARDIS husimamia kwa nguvu uwezekano wa mgawo kulingana na hali ya wakati halisi $S$.

Matokeo ya Majaribio na Maelezo ya Mchoro: Ingawa dondoo ya PDF iliyotolewa haina grafu maalum za utendaji, tathmini ya kawaida ingejumuisha michoro inayolinganisha:
1. Uzalishaji wa Kazi Kwa Muda: Chati ya mstari inayoonyesha idadi ya kazi zilizokamilishwa kwa saa katika hazina ya muunganisho dhidi ya makundi ya rasilimali binafsi, ikionyesha faida ya mkusanyiko.
2. Ramani ya Joto ya Matumizi ya Rasilimali: Uonyeshaji wa gridi unaoonyesha asilimia ya CPU/GPU zinazotumiwa katika watoa rasilimali tofauti (KIT, DESY, Bielefeld, n.k.) kwa wiki moja, ikionyesha ufanisi wa usawazishaji wa mzigo.
3. CDF ya Ucheleweshaji wa Kuanzisha Kazi: Mchoro wa Utendakazi wa Usambazaji wa Jumla unaolinganisha muda kutoka kwa kuwasilisha kazi hadi kuanza kwa utekelezaji katika mfumo wa muunganisho dhidi ya kuwasilisha moja kwa moja kwenye mfumo wa kundi wa ndani, na kuonyesha mzigo wa ziada wa upangaji.
4. Utendaji wa Ufikiaji wa Data: Chati ya baa inayolinganisha kasi ya kusoma/kuandika kwa data iliyofikiwa ndani, kutoka kwa kipengele cha hifadhi cha muunganisho ndani ya eneo moja, na kutoka kwa kipengele cha mbali cha muunganisho, na kuonyesha athari ya kuhifadhi kwenye kumbukumbu ya haraka na mtandao.

8. Mfumo wa Uchambuzi na Mfano wa Dhana

Uchunguzi wa Kesi: Uchambuzi wa Muunganisho wa Data ya Uchunguzi wa Nyota
Hali: Kikundi cha utafiti katika Thüringer Landessternwarte Tautenburg kinahitaji kuchakata data ya picha ya PB 1 kutoka kwa Uchunguzi wa Anga wa Dijiti wa Sloan (SDSS) ili kutambua makundi ya galaksi, kazi yenye mzigo mkubwa wa taratibu inayohitaji takriban saa 100,000 za CPU.
Mchakato Kupitia Compute4PUNCH/Storage4PUNCH:
1. Uthibitishaji: Mtafiti anaingia kwenye PUNCH JupyterHub kwa kutumia sifa za taasisi yake (kupitia AAI yenye msingi wa tokeni).
2. Mazingira ya Programu: Kiini cha notibuki yao ya Jupyter kinakimbia kutoka kwa picha ya kontena iliyowekwa kwenye CVMFS, ikibeba vifurushi vyote muhimu vya unajimu (Astropy, SExtractor, n.k.).
3. Ufafanuzi wa Kazi na Kuwasilisha: Wanafafanua kazi ya kufagia parameta kwenye notibuki. Notibuki hutumia maktaba ya mteja wa PUNCH kuwasilisha hizi kama DAG (Grafu Isiyo na Mzunguko) ya HTCondor kwenye hazina ya muunganisho.
4. Kulinganisha Rasilimali na Utekelezaji: COBalD/TARDIS inatathmini mahitaji ya kazi (CPU, kumbukumbu, uwezekano GPU) na kuzipeleka kwenye nafasi zilizopo kote, kwa mfano, hazina za HTC huko KIT, foleni za HPC katika Chuo Kikuu cha Bielefeld, na nodi za wingu huko DESY. Kazi husoma data ya pembejeo kupitia anuwai ya majina ya XRootD ya muunganisho kutoka eneo la karibu la hifadhi, uwezekano kwa kutumia kumbukumbu ya haraka.
5. Kusanyiko la Matokeo: Faili za pato zinaandikwa tena kwenye hifadhi ya muunganisho. Mtafiti anafuatilia maendeleo kupitia dashibodi ya wavuti ya umoja na hatimaye kusanya matokeo kwenye notibuki yao kwa uchambuzi.
Kesi hii inaonyesha ujumuishaji mwepesi wa kitambulisho, taratibu, hifadhi, na usimamizi wa programu.

9. Matumizi ya Baadaye na Mpango wa Maendeleo

Miundombinu ya PUNCH4NFDI inaweka msingi wa matumizi kadhaa ya hali ya juu:
1. Mafunzo ya Muunganisho ya Mashine ya Kujifunza: Hazina ya rasilimali ya aina mbalimbali, ikijumuisha makundi ya GPU, inaweza kusaidia mifumo ya mafunzo ya ML iliyosambazwa kama PyTorch au TensorFlow kuvuka mipaka ya taasisi, na kukabiliana na mahitaji ya mafunzo yanayohifadhi faragha ambapo data haiwezi kusanywa katikati.
2. Uchambuzi wa Kuingiliana na Uwasilishaji: Kuboresha huduma ya JupyterHub kwa zana za kuingiliana za uwasilishaji zenye nguvu za nyuma (k.m., vidhibiti vya Jupyter vilivyounganishwa na makundi ya Dask kwenye muunganisho) kwa uchunguzi wa seti kubwa za data.
3. Ujumuishaji na Mawingu ya Nje na Vituo vya HPC: Kupanua muundo wa muunganisho kujumuisha mikopo ya wingu la kibiashara (k.m., AWS, GCP) au vituo vya kitaifa vya superkompyuta (k.m., JUWELS katika JSC) kupitia tabaka la kawaida la bili/hisabati, na kuunda wingu la mseto la kweli kwa sayansi.
4. Ujumuishaji wa Metadata na Ziwa la Data: Kuendelea zaidi ya muunganisho rahisi wa faili kwenda kwenye muundo wa ziwa la data uliojumuishwa, ambapo tabaka la hifadhi linaunganishwa na katalogi ya metadata ya umoja (k.m., inayotegemea Rucio au iRODS), na kuwezesha ugunduzi wa data na ufuatiliaji wa asili katika jamii.
5. Mfuatiliaji wa Kazi kama Huduma: Kutoa huduma za juu za jukwaa kama REANA (Jukwaa la Uchambuzi Linaloweza Kurudiwa) au Apache Airflow juu ya miundombinu ya muunganisho, na kuruhusu wanasayansi kufafanua na kutekeleza mifuatiliaji changamano ya uchambuzi inayoweza kurudiwa bila kusimamia miundombinu ya chini.

Mpango wa maendeleo uwezekano mkubwa utazingatia kuimarisha huduma ya uzalishaji, kupanua hazina ya rasilimali, kujumuisha zana za hali ya juu za usimamizi wa data, na kuunda API na SDK zinazofaa kwa mtumiaji ili kupunguza kikwazo cha kupitishwa kwa watumiaji wasio wataalamu.

10. Marejeo

  1. Ushirika wa PUNCH4NFDI. (2024). Waraka wa PUNCH4NFDI. [Waraka wa Ndani wa Ushirika].
  2. Thain, D., Tannenbaum, T., & Livny, M. (2005). Ukompyuta uliosambazwa kwa vitendo: uzoefu wa Condor. Concurrency - Practice and Experience, 17(2-4), 323-356. https://doi.org/10.1002/cpe.938
  3. Blomer, J., et al. (2011). Usambazaji wa programu katika mfumo wa faili ya CernVM na Parrot. Journal of Physics: Conference Series, 331(4), 042009. https://doi.org/10.1088/1742-6596/331/4/042009
  4. Giffels, M., et al. (2022). COBalD na TARDIS – Muunganisho wa nguvu wa rasilimali unaobadilika kwa taratibu za bahati nasibu. EPJ Web of Conferences, 251, 02009. https://doi.org/10.1051/epjconf/202225102009
  5. Ushirikiano wa dCache. (2023). dCache: Mfumo wa kuhifadhi kwenye kumbukumbu ya haraka wa data uliosambazwa. Imepatikana kutoka https://www.dcache.org/
  6. Ushirikiano wa XRootD. (2023). XRootD: Ufikiaji wa data wenye utendaji wa juu, unaoweza kupanuka na kustahimili hitilafu. Imepatikana kutoka http://xrootd.org/
  7. Wilkinson, M. D., et al. (2016). Kanuni za Mwongozo za FAIR kwa usimamizi wa data ya kisayansi na utunzaji. Scientific Data, 3, 160018. https://doi.org/10.1038/sdata.2016.18
  8. Verma, A., et al. (2015). Usimamizi wa kundi kubwa katika Google na Borg. Proceedings of the Tenth European Conference on Computer Systems (EuroSys '15). https://doi.org/10.1145/2741948.2741964