Úložiště scratch

Z MetaCentrum
Přejít na: navigace, hledání

(English version)

Tzv. scratch je lokální úložiště dočasných dat na výpočetních uzlech. Data by na něm měla být uložena pouze po dobu běhu úlohy, po jejím doběhnutí by měla být okamžitě smazána nebo přesunuta pryč.

Typy scratche

V MetaCentru nabízíme tři druhy scratche:

  • ultra rychlý ale malý SSD disk, mapovaný do adresáře /scratch.ssd
  • rychlý lokální HDD disk, mapovaný do adresáře /scratch
  • síťový svazek sdílený pro všechny uzly daného clusteru, mapovaný do adresáře /scratch.shared


Při zadání úlohy musí být typ scratche specifikován¨, více v kapitole job submission!

Examples:

   -l select=1:ncpus=1:mem=4gb:scratch_local=10gb
   -l select=1:ncpus=1:mem=4gb:scratch_ssd=1gb
   -l select=1:ncpus=1:mem=4gb:scratch_shared=1gb


Systémové proměnné

Alokovaná lokace scratche je definovaná systémovou proměnnou $SCRATCHDIR, ukazuje do /directory/username/job_jobid, např. /scratch.ssd/username/job_2477934.arien-pro.ics.muni.cz. Typ scratche je dán proměnnou $SCRATCH_TYPE a velikost $SCRATCH_VOLUME.


Do adresare /scratch*/$USER nejde zapisovat (práva 555).

Úlohy mohou zapisovat pouze do přiděleného podadresáře /scratch*/$USER/job_JOBID. Ujistěte se prosím, že Vaše skripty pracují s proměnnou $SCRATCHDIR (pokud využíváte scratche), ukazatelem na scratchový prostor, který byl Vaší úloze při startu přidělen. Pokud po sobě úloha před skončením uklidí $SCRATCHDIR, PBS adresář typu job_JOBID.arien.ics.muni.cz smaže sama. V opačném případě dojde ke smazání automaticky spouštěným scriptem do 14 dnů.


Na začátku úlohy je třeba přestěhovat data ze /storage do /scratch a na konci zajištění úklidu. Tento příklad za Vás automaticky zajistí úklid scratche po ukončení úlohy (pouze v případě, kdy se nezdaří vykopírování výsledku úlohy, např. kvůli dočasné nedostupnosti diskového pole, zůstanou data na scratchi, připravená pro manuální vyzvednutí, o umístění dostanete zprávu):

<source lang="bash">

Více v sekci Práce s daty v úloze


Poznámka: Pro prohlédnutí si systémové proměnné zadejte do příkazové řádky například:

echo $SCRATCHDIR

Mazání ve scratch.shared

 rm -rf '/scratch.shared/LOGIN/job_#.arien-pro.ics.muni.cz/*'

Ideálni je, stejně jak v ostatních scratch adresářích, smazat pracovní adresář před koncem úlohy, PBS pak smaže _prázdný_ adresář job_#.arien.ics.muni.cz automaticky.