===Queue rendszerek bevezetés=== Nagy számítási kapacitású rendszereknél elkerülhetetlenül szükség van arra hogy az alkalmazások futását valamilyen módon összehangoljuk, és megszervezzük az erőforrások elosztását. Mainframe rendszereken ennek nagy hagyományai vannak. A nagy cluster rendszerek megjelenésével szükségessé vált hasonló szoftverek írása nyílt rendszerek számára is. Korai példái ennek a Condor, az NQS (Network Queuing System) és az LSF (Load Sharing Facility). A modern queue rendszerek ezeknek leszármazottai. Talán a legelterjedtebb a PBS (Parallel Batch System) illetve Torque. Az IBM ehhez hasonló programja a LoadLeveler. Mivel ezek az eszközök nem voltak problémamentesek, a Lawrence Livermore Laboratóriumban egy teljesen új queue rendszert fejlesztettek ki, ez a SLURM. A queue rendszer a felhasználó rendelkezésére bocsájtja node-ok egy csoportját arra az időre, amíg a felhasználó programja lefut. Lehetővé teszi hogy a felhasználó programot indíthasson, azt leállíthassa, illetve annak futását megfigyelhesse. A felhasználó megadhatja, hogy milyen erőforrásokra van szüksége (nódusok száma, memória, szükséges processzorok/core-ok száma, esetleges extra feature-ok mint a hálózati interface típusa.) Az erőforrásokra limitet lehet megadni (esetleg maga a queue is betartat valamilyen limitet) melynek túllépése esetén a program abortál. A queue rendszer ütemezője megkeresi a feltételeknek eleget tevő node-okat, elegendő szabad node esetén a programot elindítja, egyébként pedig várakoztatja, ameddig el nem tud indulni. Az erőforrások csoportokba szervezhetők, melyeket a SLURM partícióknak hív, ezeket rendszerint queue-nak szokták hívni. Ezekben a dokumentumokban mindkét terminológiát használjuk. Esetünkben, mivel a node-ok száma viszonylag kicsi és az erőforrások homogének, az erőforrások típusa szerint definiáltuk a partíciókat. Egy partíció a fejgép a maga processzoraival, ez a nagy memóriaigényű SMP joboknak. A második partíció az új számoló node-okból áll. A harmadik pedig a régi IBM blade-eket foglalja magába. ===Összehasonlítás=== A SLURM alapvetően a régi queue rendszerekhez hasonlóan működik. A fontosabb parancsok: ^Funkció ^PBS ^LoadLeveler ^SLURM| ^Interaktív futtatás |mpirun |poe |srun| ^Jobinditás |qsub |llsubmit |sbatch| ^Node-ok megadása |-lnodes|-rmpool |-N vagy --nodes=| ^Taskok száma node-onként |-I -l mppwidth|- |-n| ^Queue/partíció megadása |-q |- |-p| ^Futó jobok listázása |qstat |llq |squeue| ^Node-ok listázása |qstat -an | llstatus -l |sinfo| ^Job leállítása |qkill |llcancel |scancel| ^Jobnév |-N |- |-J| ^Levél küldése |-m abe |automatikus| --mail-type=ALL| ^Userid, amire a levél megy |-M |- |--mail-user|