A SLURM ütemező

Mi az a SLURM és miért van rá szükség?

A szuperszámítógép magas kihasználtsága és az erőforrás megfelelő elosztása érdekében a feladatok futtatásához ütemezőt használunk. Az ütemező a Komondoron a SLURM, ez fogadja a felhasználóktól érkező feladatokat (ún. jobokat) ezeket egy várósorban (queue) tárolja, amíg fel nem szabadul a szükséges erőforrás. Ha van elérhető erőforrás az ütemező elküldi a jobot a szabad számítási egységnek (compute Node). Ha a job befejeződött, akkor az erőforrások felszabadulnak. Minden jobhoz van idő és erőforráskorlát, az ezen túl futó jobot az ütemező leállítja. Több várakozási sor is van, ezeket partíciónak (partition)-nak hívjuk, amelyekhez különböző paraméterek (pl. maximális futási idő) tartozhatnak. A felhasználónak a feladat beküldésekor el kell döntenie, hogy melyik partíción mennyi ideig, mennyi erőforrást vesz igénybe.

Hasznos parancsok

sacct: Ez a parancs az ütemezőhöz kapcsolódó feladatok részletes információit jeleníti meg, például a feladatok állapotát, a futtatási időt, az erőforrások használatát stb.

salloc: A salloc parancs segítségével erőforrásokat lehet lefoglalni a rendszeren. Ez lehetővé teszi, hogy interaktív munkamenetet indítsunk a számítógépen, ahol közvetlenül lehet futtatni a parancsokat.

sattach: Az sattach parancs segítségével egy futó SLURM feladathoz lehet csatlakozni interaktív módban. Ez lehetővé teszi a feladat futása közben a parancsok végrehajtását vagy a kimenet ellenőrzését.

sbatch (ajánlott): A sbatch parancs segítségével egy SLURM scriptet lehet beküldeni a rendszerbe a futtatáshoz. Ez a parancs elindítja a megadott feladatot az ütemezőben a szükséges erőforrásokkal.

sbcast: Az sbcast parancs segítségével fájlokat lehet küldeni a SLURM rendszerben futó feladatok között. Ez hasznos lehet, ha a feladatoknak közös adatokra van szükségük.

scancel: Az scancel parancs segítségével le lehet állítani a futó vagy várakozó SLURM feladatokat. Ez a parancs lehetővé teszi a feladatok gyors és hatékony kezelését.

scontrol: Az scontrol parancs számos adminisztratív feladatot tesz lehetővé a SLURM rendszerben. Például a rendszer állapotának lekérdezése, a feladatok prioritásának beállítása, vagy az erőforrások kezelése.

sinfo: Az sinfo parancs információkat jelenít meg az elérhető csomópontokról és azok állapotáról a rendszerben. Ez lehetővé teszi az erőforrások áttekintését és az ütemezési döntések meghozatalát.

sprio: Az sprio parancs segítségével lehet módosítani a futó feladatok prioritását a SLURM rendszerben. Ez befolyásolhatja az ütemező által preferált feladatok sorrendjét.

squeue: Az squeue parancs megjeleníti a várakozó vagy futó feladatok listáját a rendszerben. Ez lehetővé teszi a feladatok állapotának és prioritásának nyomon követését.

srun: Az srun parancs segítségével lehet indítani egy parancsot vagy egy programot a SLURM rendszerben a megadott erőforrásokkal. Ez lehetővé teszi a feladatok közvetlen futtatását a rendszeren.

sshare: Az sshare parancs segítségével lehet megtekinteni az erőforrásokat és a felhasználók közötti megosztást a SLURM rendszerben. Ez hasznos információkat nyújt a rendszer használatáról és az erőforrások kihasználásáról.

sstat: Az sstat parancs a futó vagy befejezett feladatok részletes állapotát jeleníti meg. Információkat szolgáltat a futtatási időről, az erőforrások használatáról és a feladatok státuszáról.

strigger: Az strigger parancs segítségével triggereket lehet beküldeni a SLURM rendszerbe. Ezek a triggerek különféle eseményekre válaszul aktiválhatnak műveleteket vagy parancsokat.

sview: Az sview egy grafikus felhasználói felületet biztosít a SLURM rendszer állapotának és a feladatok áttekintésére. Ez lehetővé teszi a könnyebb vizuális megjelenítést és az interaktív kezelést.

Hogyan használjuk az SLURM ütemezőt?

SLURM script készítése: Hozzon létre egy SLURM scriptet (általában, .sbatch kiterjesztéssel), amelyben definiálja a futtatni kívánt feladatot. A scriptben megadhatja a szükséges erőforrásokat, például a processzor magok számát, a memória mennyiségét, a futási időt stb. Ezenkívül meghatározhatja a feladat nevét, a kimeneti fájlokat és egyéb paramétereket.

SLURM script beküldése: A létrehozott SLURM scriptet a SLURM rendszerbe kell beküldeni. Ehhez a következő parancsot kell futtatni a terminálban:

sbatch <script_neve>.sbatch

Feladat monitorozása: Miután beküldte a scriptet, a SLURM ütemező kezeli a feladatot. Használhatja a squeue parancsot a feladatok listázására és a futási állapotuk ellenőrzésére. Például:

squeue -u <felhasználónév>

Részletes használati útmutatót a következő menüpontban talál: