Roihun levyalueet
Roihu tarjoaa kolme pääasiallista jaettua levyaluetta: home, projappl ja scratch. Lisäksi jokainen laskentasolmu tarjoaa paikallisen väliaikaisen levyalueen, joka on käytettävissä vain työn tai interaktiivisen istunnon aikana kyseisellä solmulla. Tutustu huolellisesti näihin alueisiin ja niiden erityisiin käyttötarkoituksiin.
Roihun käyttäjät voivat myös hakea erillisiä aineistoprojekteja.
Ne tarjoavat pääsyn omaan levyalueeseen, dataset, joka on tarkoitettu
aineistojen jakamiseen useiden projektien välillä. Toisin kuin laskennalliset projektit,
aineistoprojekteihin ei sisälly scratch- tai projappl-hakemistoja.
Nämä hakemistot ovat jaettuja järjestelmän kirjautumis- ja laskentasolmujen välillä, ja ne perustuvat Lustre-tiedostojärjestelmään. Katso teknisempi kuvaus Lustre-tiedostojärjestelmästä CSC:n supertietokoneilla.
CSC ei varmuuskopioi dataasi!
CSC ei varmuuskopioi mitään levyalueista automaattisesti! Poistettuja tiedostoja ei voida palauttaa. Välttääksesi tahattoman datan menetyksen varmista, että teet säännöllisesti varmuuskopioita esimerkiksi Altaaseen. Katso myös allas-backup-työkalu.
| Omistaja | Ympäristömuuttuja | Polku | Siivous | Automaattinen varmuuskopiointi | |
|---|---|---|---|---|---|
| home | Henkilökohtainen | ${HOME} |
/users/<user-name> |
Ei | Ei |
| projappl | Projekti | Ei määritelty | /projappl/<project> |
Ei | Ei |
| scratch | Projekti | Ei määritelty | /scratch/<project> |
90 tai 180 päivää | Ei |
| dataset | Projekti | Ei määritelty | /dataset/<project> |
Ei | Ei |
Näillä levyalueilla on kiintiöt sekä datan määrälle että tiedostojen kokonaismäärälle:
| Kapasiteetti | Tiedostojen määrä | Huomioita | |
|---|---|---|---|
| home | 15 GiB | 150 000 tiedostoa | |
| projappl | 15 GiB | 150 000 tiedostoa | |
| scratch | 250 GiB | 500 000 tiedostoa | |
| dataset | 0 GiB | 0 tiedostoa | Haettava erikseen |
LUE
Jos haluat helposti tarkistaa tietyn kansion datamäärän ja tiedostojen lukumäärän
rinnakkaisessa tiedostojärjestelmässä, harkitse LUE
-työkalun käyttöä. Tämä työkalu on huomattavasti nopeampi kuin esimerkiksi stat tai du ja kuormittaa
tiedostojärjestelmää paljon vähemmän.
Kiintiöt ja siivous
Vaikka on mahdollista hakea suurempia kiintiöitä, suosittelemme, että varmistat aina ensin, että jaettuun tiedostojärjestelmään tallentamasi data on todella tarpeellista ja aktiivisessa käytössä. Käyttämätön data tulisi poistaa tai siirtää esimerkiksi Altaaseen. Saatavilla on myös yleinen ohje datan hallintaan ja siivoamiseen supertietokoneiden levyillä.
Kotihakemisto
Jokaisella käyttäjällä on kotihakemisto ($HOME), joka voi sisältää Roihussa enintään 15 GiB dataa.
Kotihakemisto on oletussijainti kirjautumisen jälkeen. Sitä ei kuitenkaan ole tarkoitettu data-analyysiin tai töiden ajamiseen. Sen tarkoitus on säilyttää asetustiedostoja ja muuta vähäistä henkilökohtaista dataa. Seuraa kotihakemistosi jäljellä olevaa kiintiötä, sillä kapasiteetin ylittävä kotihakemisto voi aiheuttaa erilaisia ongelmia käyttäjätilillesi.
Kotihakemisto on supertietokoneissa ainoa käyttäjäkohtainen hakemisto. Kaikki muut hakemistot
ovat projektikohtaisia. Jos olet usean projektin jäsen, sinulla on myös pääsy useisiin
scratch- tai projappl-hakemistoihin, mutta silti vain yksi kotihakemisto.
Kaikkeen laskentatyöhön sinun tulisi käyttää projektisi scratch-hakemistoa.
Scratch-hakemisto
Jokaisella Roihun projektilla on oletuksena 250 GiB scratch-levytilaa
hakemistossa /scratch/<project>.
Scratch-hakemisto on nopea rinnakkainen tiedostojärjestelmä, joka on tarkoitettu
laskennassa käytettävän datan väliaikaiseen tallennukseen, ja sen tulisi sisältää esimerkiksi ohjelmiesi
kaikki syöte- ja tulostiedostot.
Sinun kannattaa pyrkiä ajamaan työsi supertietokoneella tässä scratch-hakemistossa.
Scratch-hakemistoa ei ole tarkoitettu pitkäaikaiseen säilytykseen. Tiedostoja, joita ei ole käytetty pitkään aikaan, voidaan poistaa automaattisesti tilan vapauttamiseksi. Roihun nykyinen käytäntö on poistaa tiedostot, joita ei ole käytetty yli 180 päivään (scratch-kiintiö alle 5 TiB) tai 90 päivään (scratch-kiintiö 5 TiB tai enemmän). Katso käyttöehdot -sivulta lisätietoja nykyisestä käytännöstä.
Tutustu myös ohjeeseemme, jossa on vinkkejä ja ohjeita datan
hallintaan scratch-alueella.
Projappl-hakemisto
Jokaisella Roihun projektilla on myös 15 GiB projektisovelluslevytilaa
hakemistossa /projappl/<project>.
Käytä projappl-aluetta käännettyjen ohjelmistobinäärien, lähdekoodin, kirjastojen, skriptien ja pienimuotoisen viitedatan tallentamiseen, joita jaetaan projektin sisällä. Se ei ole henkilökohtainen tallennustila, koska se on jaettu projektin kaikkien jäsenten kesken. Projappl-alueen tiedostoja ei poisteta automaattisesti, mutta kiintiö on rajallinen.
Älä lähetä töitä tai kirjoita
laajamittaista dataa projektisi projappl-hakemistoon, vaan käytä tähän tarkoitukseen
sen sijaan scratch-hakemistoa. Huomaa, että kaikki itse asentamasi sovellukset, joita ajat,
voidaan ja kannattaa silti säilyttää projappl-alueella.
Scratch- ja projappl-hakemistojen käyttö
Yleiskatsaus sen supertietokoneen hakemistoihisi, johon olet parhaillaan kirjautuneena, voidaan näyttää komennolla:
Yllä oleva komento näyttää kaikki scratch- ja projappl-hakemistot, joihin sinulla on pääsy.
Se näyttää myös, mitkä projekteistasi kuuluvat 90 päivän scratch-siivousjaksoon
ja mitkä 180 päivän scratch-siivousjaksoon.
Jos olet esimerkiksi jäsenenä kahdessa projektissa, joiden unix-ryhmät ovat project_2000123
ja project_2001234, sinulla on pääsy kahteen scratch- ja projappl-hakemistoon:
[kkayttaj@roihu-cpu-login1 ~]$ csc-workspaces
Disk area Capacity(used/max) Files(used/max) Cleanup
----------------------------------------------------------------------
Personal home folder
/users/kkayttaj 4.4G/15G 24K/150K n/a
----------------------------------------------------------------------
Project: project_2000123 "Project X"
/projappl/project_2000123 4.2G/15G 36K/150K n/a
/scratch/project_2000123 103G/250G 389K/500K 180d
----------------------------------------------------------------------
Project: project_2001234 "Project Y"
/projappl/project_2001234 25G/100G 282K/1.0M n/a
/scratch/project_2001234 7.2T/10T 2.1M/2.5M 90d
----------------------------------------------------------------------
Siirtyminen projektin project_2000123 scratch-hakemistoon:
Huomaa, että kaikilla CSC-projekteilla ei ole pääsyä Roihuun, joten et välttämättä
löydä scratch- tai projappl-hakemistoa kaikille CSC-projekteillesi.
Note
scratch- ja projappl-hakemistot ovat projektin kaikkien jäsenten yhteiskäytössä.
Kaikki uudet tiedostot ja hakemistot ovat myös oletusarvoisesti täysin muiden
ryhmän jäsenten käytettävissä (mukaan lukien luku-, kirjoitus- ja suoritusoikeudet).
Jos sinun täytyy rajoittaa pääsyä ryhmäsi jäseniltä, voit muuttaa oikeudet takaisin
tavalliseen tapaan chmod-komennolla. Yleisesti suosittelemme, että sallit ryhmän
jäsenille pääsyn, mutta käytät datallesi alihakemistoa käyttäjätunnuksellasi, esimerkiksi
Näin data on muiden ryhmän jäsenten saatavilla esimerkiksi pitkien lomien aikana jne., mutta omistajuus pysyy silti selkeänä ja järjestyksessä. Huomaa, että jotkin ohjelmat muuttavat tiedostojen oikeuksia oletusarvoista, mikä voi rajoittaa ryhmän jäsenten pääsyä.
Kuten aiemmin mainittiin, scratch-hakemisto on tarkoitettu vain datan käsittelyyn.
Kaikki data, joka tulee säilyttää pidempään, tulisi kopioida Allas-objektitallennuspalvelimeen.
Ohjeet tiedostojen varmuuskopiointiin CSC:n supertietokoneilta Altaaseen
löytyvät Allas-oppaasta.
Aineistohakemisto
Roihun käyttäjät voivat hakea erillisiä aineistoprojekteja, jotka tarjoavat pääsyn jaettuun levyalueeseen
polussa /dataset/<project>, mutta eivät laskentaresursseja.
Toisin kuin tavalliset laskennalliset projektit, aineistoprojekteihin ei sisälly scratch- tai projappl-hakemistoja. Sen sijaan ne on suunniteltu erityisesti datan jakamiseen useiden projektien välillä.
Kirjoitusoikeus aineistohakemistoon on rajoitettu yhteen projektiin, kun taas useille muille projekteille voidaan myöntää lukuoikeus tähän levyalueeseen.
Katso lisätietoja aineistoprojekteista ja aineistoprojektin hakemisesta MyCSC:ssä.
Note
Aineistoprojektit on tarkoitettu datan jakamiseen ja aktiiviseen käyttöön, ei pitkäaikaiseen säilytykseen. Pitkäaikaiseen säilytykseen kannattaa harkita Allasta.
Datan siirtäminen supertietokoneiden välillä
Dataa voidaan siirtää suoraan supertietokoneiden välillä rsync-komennolla.
Kiintiöiden kasvattaminen
Voit käyttää MyCSC-portaalia hallinnoidaksesi scratch- ja projappl-hakemistojen
kiintiöitä.
Muista, että vaikka kiintiötä kasvatetaan, suunniteltu automaattinen siivousprosessi
jatkaa käyttämättömien tiedostojen poistamista scratch-hakemistosta. Data, joka ei ole
aktiivisen laskennan piirissä, tulisi tallentaa Allas-tallennuspalveluun.
Kiintiöiden korotukset ovat rajallisia. Jos työnkulkusi vaatii erittäin suurten tiedostomäärien (esim. miljoonien) tallentamista, sinun tulisi harkita datan työnkulkusi uudelleen, sillä tämä voi johtaa suorituskykyongelmiin koko tiedostojärjestelmässä.
Info
Selvittääksesi, kuinka paljon dataa/tiedostoja sinulla on levyllä, käytä LUE-
työkalua, joka on paljon suorituskykyisempi kuin tavalliset
työkalut kuten stat tai du.
Väliaikaiset paikalliset levyalueet
Roihun laskentasolmut tarjoavat nopeaa paikallista levytallennusta, joka voi merkittävästi parantaa suorituskykyä I/O-intensiivisissä työkuormissa.
Tämä tallennustila on käytettävissä ympäristömuuttujan $TMPDIR kautta, jota monet
sovellukset käyttävät automaattisesti väliaikaistiedostoille.
Paikallinen levy on solmukohtainen ja käytettävissä kirjautumissolmulla sekä työn tai interaktiivisen istunnon aikana. Se on tarkoitettu väliaikaistiedostoille, joita ei tarvitse jakaa solmujen välillä.
Kirjautumissolmut
Jokainen kirjautumissolmu sekä Roihu-CPU:ssa että Roihu-GPU:ssa tarjoaa 80 GB paikallista tallennustilaa polussa $TMPDIR.
Paikallinen tallennustila on tarkoitettu sovellusten kääntämiseen sekä esi- ja jälkikäsittelyyn, jotka vaativat raskaita I/O-toimintoja, esimerkiksi arkistotiedostojen pakkaamiseen ja purkamiseen.
Note
Paikallinen tallennustila on tarkoitettu väliaikaiseen säilytykseen, ja se siivotaan usein. Muista siirtää datasi jaetulle levyalueelle tehtävän valmistuttua.
Laskentasolmut
Kaikki Roihun laskentasolmut tarjoavat nopeaa paikallista NVMe-tallennustilaa.
Nämä paikalliset levyalueet on suunniteltu tukemaan I/O-intensiivisiä laskentatehtäviä ja tilanteita, joissa sinun täytyy käsitellä suuria määriä (yli 100 000) pieniä tiedostoja.
Paikallisessa tallennustilassa oleva data poistetaan työn päättyessä. Sinun on kopioitava kaikki tulokset, jotka haluat
säilyttää, scratch-alueelle tai Altaaseen ennen työn päättymistä.
Slurm-työvarauksesi tyypin perusteella käytettävissäsi on seuraava määrä paikallista levytilaa:
Automaattinen paikallinen väliaikaistallennus
Jaetun solmun, kokonaisen solmun ja GPU-varauksissa paikallinen väliaikaistallennus on käytettävissä polussa $TMPDIR.
| Varaustyyppi | Polku | Käytettävissä oleva väliaikaistallennus |
|---|---|---|
| R (Jaetut solmut) | $TMPDIR |
20 GiB |
| N (Kokonaiset solmut) | $TMPDIR |
600 GiB |
| G (GPU-solmut) | $TMPDIR |
150 GiB |
| XL (Hugemem-solmut) | $TMPDIR |
578 GiB |
| VIZ (Visualisointisolmut) | $TMPDIR |
14 TiB |
Levytila on käytettävissä polussa $TMPDIR, eikä sitä tarvitse varata erikseen
työskriptissä, jotta sitä voisi käyttää. Paikallisen levyn käyttö ei kuluta laskutusyksiköitä (BUs).
Ilmoitettu kapasiteetti voi olla jaettu saman solmun muiden töiden tai käyttäjien kanssa, eikä se siksi välttämättä ole aina kokonaan yhden työn käytettävissä.
Varattu paikallinen scratch-tallennus
Roihun hugemem- (XL) ja visualisointisolmut (Viz) tarjoavat jonkin verran paikallista levytilaa polussa $TMPDIR.
Tämän lisäksi ne tarjoavat paikallista scratch-tallennustilaa polussa $LOCAL_SCRATCH suurempiin väliaikaisiin tallennustarpeisiin.
Tämä tallennustila ei ole automaattisesti käytettävissä. Sinun on varattava se Slurm-työskriptissäsi käyttämällä sopivaa GRES-valintaa.
Varattu $LOCAL_SCRATCH-tallennustila kuluttaa laskutusyksiköitä (BUs).
| Varaustyyppi | Polku | Varattavissa oleva paikallinen scratch enintään |
|---|---|---|
| XL (Hugemem-solmut) | $LOCAL_SCRATCH |
13000 GB |
| VIZ (Visualisointisolmut) | $LOCAL_SCRATCH |
TBA |
Varaa paikallista tallennustilaa lisäämällä Slurm-skriptiisi seuraava rivi:
Jos haluat esimerkiksi varata enimmäismäärän 13 TB, käytä:
Työn paikalliseen scratch-tilaan pääsee ympäristömuuttujan $LOCAL_SCRATCH kautta, joka osoittaa käyttäjä- ja työ-ID-kohtaiseen levyalueeseen,
jota voit käyttää polussa /local_scratch/${USER}/${SLURM_JOB_ID}/.
Esimerkki Slurm-skriptistä paikallisen scratch-muistin käyttämiseen hugemem-solmuissa
#!/bin/bash
#SBATCH --job-name=example
#SBATCH --account=<project>
#SBATCH --partition=hugemem
#SBATCH --time=00:30:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=1
#SBATCH --gres=nvme:100 # Varaa 100 GB paikallista scratch-muistia
# Siirry paikalliseen scratch-hakemistoon
cd "$LOCAL_SCRATCH"
# Aja ohjelma
srun myprog <options>
# Kopioi kaikki tarvittava data takaisin pysyvään tallennustilaan ennen työn päättymistä
cp "$LOCAL_SCRATCH"/output.dat /scratch/project_200XXXX/$USER/
Muokkaa komentoja ja tiedostopolkuja työnkulkusi mukaan.
Paikallisen scratchin tuki visualisointisolmuille lisätään myöhemmin
Paikallisen scratchin ominaisuutta visualisointisolmuilla ei ole vielä
toteutettu. Käytä visualisointisolmuilla $TMPDIR-hakemistoa paikallisiin tallennustarpeisiisi, kunnes tämä ominaisuus lisätään.
Katso Roihun laskutusosio, josta löydät tietoa laskutusyksiköistä (BUs), joita paikallisen scratchin käyttö kuluttaa.
Eriytetty tallennus
Roihu tarjoaa jaetun poolin eriytettyä NVMe-tallennustilaa, jossa on noin 180 TB käytettävissä olevaa kokonaiskapasiteettia. Tätä nopeaa tallennustilaa käytetään verkon yli, ja se näkyy paikallisena scratch-tallennustilana Slurm-työn sisällä.
Tallennustilaa voidaan pyytää kaikissa Roihun partitioissa, mukaan lukien jaetun solmun työt. Koska tallennuspooli on töiden kesken jaettu, pyynnöt riippuvat resurssien saatavuudesta ja voivat joutua odottamaan, kunnes riittävästi kapasiteettia vapautuu.
Tällä hetkellä eriytetyn tallennustilan määrälle, jota työ voi pyytää, ei ole pakotettua rajaa. Koska kyseessä on kuitenkin jaettu resurssi, suosittelemme pyytämään enintään 2 TB tallennustilaa per työ ja varaamaan vain todellisuudessa tarvittavan määrän.
Eriytetyn tallennustilan käyttö kuluttaa laskutusyksiköitä (BUs).
Tallennustilan pyytäminen Slurmista
Jos haluat pyytää flash-tallennustilaa liitettäväksi sbatch-työhön, sinun on lisättävä seuraava rivi skriptisi resurssipyyntölohkoon:
Missä storagesize määrittää tarvitsemasi tallennustilan määrän ja path sijainnin, johon
tallennustila liitetään.
Polun on alettava merkkijonolla /sbf/. Jokainen työ saa oman yksityisen liitoksensa, joten useat työt samalla
solmulla voivat käyttää samaa polkua häiritsemättä toisiaan.
Voit myös pyytää resursseja suoraan komentoriviltä --bb-lipulla:
srun -p medium --nodes 1 --account <project> --bb="#BB_LUA SBF storagesize=10G path=/sbf/data" --pty bash -i
Vaihtoehtoisesti voit välittää pyynnön tiedostossa --bbf-lipulla, esimerkiksi:
Sama toimii myös jaetun solmun ja GPU-partitioissa, esimerkiksi:
srun -p gpumedium --nodes 1 --account project_2001659 --gres=gpu:gh200:1 --bbf bb.spec --pty bash -i
Vaiheissa on käytettävä srun-komentoa!
Kun ajat monisolmutyötä sbatchilla ja jokaisen vaiheen odotetaan käyttävän eriytettyä levyä, vaiheet on käynnistettävä srun-komennolla. Muussa tapauksessa vain se laskentasolmu, joka ajaa sbatch-skriptiä, pystyy käyttämään tallennustilaa.
Muista siirtää datasi!
Siirrä kaikki tarvitsemasi data pois flash-tallennustilasta ennen työn päättymistä, eli sbatch-skriptisi sisällä.