Slurm工作調度工具是面向Linux和Unix類似核心的免費和開源工作調度程式,由世界上許多超級計算機和計算機集群使用。 它提供了三個關鍵功能。 首先,它在一段時間內為用戶分配對資源(計算機節點)的獨占和/或非獨占訪問許可權,以便他們可以執行工作。 其次,它提供了一個框架,用於在一組分配的節點上啟動,執行和監視工作(通常是並行作業,例如MPI)。 最後,它通過管理待處理作業佇列來仲裁資源爭用。
Slurm是TOP500超級計算機中約60%的工作負載管理器,其中包括天河二號,在2016年之前,它是世界上速度最快的計算機。
Slurm使用基於希爾伯特曲線調度或胖樹網路拓撲的最佳擬合算法來最佳化並行計算機上任務分配的局部性。
基本介紹
- 中文名:Slurm工作調度工具
- 作用:最佳化並行計算機
結構體,顯著的功能,支持的平台,
結構體
Slurm的設計非常模組化,有大約100個可選外掛程式。 在最簡單的配置中,它可以在幾分鐘內安裝和配置。 更複雜的配置為會計提供資料庫集成,管理資源限制和工作負載優先權。
顯著的功能
顯著的Slurm功能包括以下內容:
沒有單點故障,備份守護程式,容錯作業選項;
高度可擴展性(在IBM Sequoia的100,000個套接字上安排高達100,000個獨立作業);
高性能(每秒多達1000個作業提交和每秒執行600個作業);
免費和開源軟體(GNU通用公共許可證);
具有約100個外掛程式的高度可配置性;
公平分享調度與分級銀行賬戶;
搶先式和組合式調度(並行作業的時間切片);
與資料庫集成以進行記帳和配置;
針對網路拓撲和節點拓撲(套接字,核心和超執行緒)最佳化的資源分配;
高級預訂;
空閒節點可以關閉;
每個作業都可以啟動不同的作業系統;
通用資源調度(例如圖形處理單元);
實時記帳到任務級別(識別具有高CPU或記憶體使用情況的特定任務);
用戶或銀行賬戶的資源限制;
按職位計算用電量;
IBM並行環境(PE / POE)的支持;
支持作業陣列;
作業分析(每個任務CPU使用,記憶體使用,功耗,網路和檔案系統使用的定期採樣);
考慮工作的功耗;
先進的多因素作業優先排序算法;
支持MapReduce +;
2014年11月發布了Slurm 14.11版的以下功能:
改進了作業數組的數據結構和可伸縮性;
支持異構通用資源;
添加用戶選項以設定CPU調速器;
基於退出值的自動求職策略;
用戶使用的報告API,消耗的類型,數量和時間;
通信網關節點可提高可擴展性。
支持的平台
Slurm主要開發與Linux發行版一起工作,雖然也支持一些其他基於POSIX的作業系統,包括BSD(FreeBSD, NetBSD和OpenBSD)。Slurm還支持多種獨特的計算機體系結構,其中包括: