做調度作業提交過程簡單介紹一下

?作業提交與執行流程

前文提到在 Linux 的 HPC 或超算環境中,可以只在共享存儲上安裝一次應用程序,然后所有計算節點通過掛載共享目錄來訪問和執行這些程序,那么作業提交及執行過程是怎么樣的流程呢?

結構說明:

  • 第一行是用戶提交作業的入口;
  • 第二行是調度系統客戶端,用戶通過它與調度系統交互;
  • 第三行是調度系統管理端,負責調度和資源分配;
  • 第四行是兩個計算節點,由調度系統分配作業;
  • 最后一行是共享存儲系統,位于計算節點之間,統一提供程序和存儲結果。

流程圖的前兩個,提交作業的機器和調度系統客戶端的機器可以是同一臺,也可以是不同的機器。

  • 如果是同一臺機器:最簡單,用戶直接在這臺機器上運行?sbatch?等命令;
  • 如果是不同的機器:提交作業的機器必須能通過某種方式調用調度系統客戶端(比如通過 SSH、API、遠程命令等);

如果是兩臺機器,且提交作業的機器是 Windows 系統:

  • 不能直接運行 Slurm 客戶端命令,因為 Slurm 客戶端工具(如?sbatch,?squeue)是為 Linux/Unix 系統設計的;

  • 解決方案包括:

    方案 A:通過 SSH 登錄到 Linux 客戶端機器

    方案 B:通過 Web 界面(如 Slurm-web)或 REST API 提交

    • Windows 用戶使用 SSH 工具(如 PuTTY、MobaXterm、WSL)登錄到一臺安裝了 Slurm 客戶端的 Linux 機器;
    • 在那臺 Linux 機器上運行?sbatch?提交作業;
    • Windows 用戶通過瀏覽器訪問 Slurm-web;
    • Slurm-web 后端部署在 Linux 上,負責調用 Slurm 客戶端或 REST API;
    • 用戶無需直接接觸 Linux 命令行;

Slurm-web登錄頁面如下所示:

提交方式提交端系統要求是否需要 Slurm 客戶端說明
本地命令行提交Linux? 是用戶直接運行 sbatch
遠程 SSH 提交任意(含 Windows)? 是登錄到 Linux 客戶端機器
Web 頁面提交(如 Slurm-web)任意(含 Windows)? 否(用戶端)
? 是(服務端)
服務端調用 Slurm 客戶端或 API
REST API 提交任意? 否直接通過 HTTP 請求與調度系統交互

? Slurm Web 界面(如 slurm-web)的作業提交機制

1.?Slurm-web 是一個 Web 服務端程序

它通常部署在一臺服務器上,提供一個 Web 頁面供用戶提交作業、查看隊列、監控狀態等。

2.?它如何提交作業?
  • 方式一:調用 Slurm 命令行客戶端(如?sbatch,?squeue

    • Slurm-web 的后端服務通常會在服務器上執行這些命令行工具。
    • 本質上,它是通過系統調用或 Python 的?subprocess?模塊等方式,間接使用 Slurm 的客戶端工具。
    • 所以,這種方式?依賴于調度系統客戶端的存在

這種方式的前提是:

  • Slurm 客戶端工具必須已經安裝在運行 Slurm-web 的服務器上;
  • 該服務器必須有權限訪問調度系統管理端(比如通過網絡或本地 socket);
  • 用戶身份可能通過 Web 登錄系統映射到實際提交作業的 Linux 用戶,或者使用統一的身份認證機制。
  • 方式二:調用 Slurm 的 API(如 Slurm REST API)

    • Slurm 提供了 REST API(如 Slurmrestd),允許通過 HTTP 請求提交作業、查詢狀態等。
    • 如果 Slurm-web 使用的是 REST API,那么它可以不依賴本地命令行客戶端,而是通過網絡直接與調度系統管理端通信。
    • 在這種情況下,REST API 本身就相當于一個“客戶端接口”,只是以 HTTP 的形式存在。
提交方式是否依賴調度系統客戶端說明
調用 sbatch 等命令? 是需要本地安裝 Slurm 客戶端工具
調用 Slurm REST API? 否(但需要 API 服務)通過 HTTP 與 Slurm 管理端通信

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95123.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95123.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95123.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Altium designer】解決報錯“Access violation at address...“

問題現象如上AD9原理圖工程所示報錯,當我關閉這個“CMM-WEIER-VA”原理圖工程以及其他不相關的原理圖工程出現報錯:Access violation at address 0832A5EC in module WorkspaceManager.DLL. Read of address 00000061 at 0832A5EC,任務管理器…

小杰python高級(three day)——numpy庫

1.numpy數組的操作(1)數組的連接stack該函數可以實現多個數組的堆疊(連接),會創建新的軸,用于沿著新的軸連接一系列數組,所有數組必須具有相同的形狀。可以增加數組的維度。假設輸入的每個數組都是 n 維數組&#xff0…

視頻剪輯的工作流程

準備素材 1.準備音頻,視頻、圖片等素材 2.準備Pr創建的序列、彩條、字母、倒計時片頭等功能性素材 創建項目 創建項目是詩篇剪輯的第一步,創建一個指定名稱與存放位置的項目文件,用來通義管理整個視頻項目創建序列 序列決定剪輯的尺寸、幀速率…

下一個排列 的 思路總結

文章目錄思路分析: 倒序遍歷:題目要求的是下一個排列,那么肯定數字的跳躍不能太大,所以可以比較好確定的是,遍歷的順序是倒序遍歷比較方向:對于每一個數字,需要找到右邊最大的比它小的數字&…

Spring Cloud-面試題(49)

摘要: 1、通俗易懂,適合小白 2、僅做面試復習用,部分來源網絡,博文免費,知識無價,侵權請聯系! 1. 什么是Spring Cloud框架?子項目哪幾大類? Spring Cloud是一套分布式系…

資源查看-iostat命令

文章目錄 系統中未安裝 iostat 命令 1. 監控CPU與磁盤的基礎負載 2. 診斷I/O性能瓶頸 3. 實時監控與動態采樣 4. 特定設備或分區的精細化監控 5. 性能測試與基準數據生成 6. 結合其他工具進行綜合調優 總結 結果輸出速查表 第一部分:CPU統計信息 第二部分:設備/磁盤統計信息(…

STM32 HAL庫外設編程學習筆記

STM32 HAL庫外設編程 1. 概述 本文檔是基于STM32 HAL庫的外設編程學習筆記,主要包括以下外設的配置和使用方法: GPIO:通用輸入輸出接口ADC:模數轉換器UART:通用異步收發器TIM:定時器I2C:內部…

DHCP服務配置與管理實戰指南

DHCP 服務配置與管理筆記 一、DHCP 核心概念 1. DHCP 定義與功能 DHCP (Dynamic Host Configuration Protocol):動態主機配置協議核心功能: 自動分配 IP 地址提供子網掩碼、網關、DNS 等網絡參數管理 IP 地址租約周期 典型應用:ADSL撥號、企業…

WebSocket 在多線程環境下處理 Session并發

WebSocket 在多線程環境下處理 Session并發時,常見問題包括狀態沖突(如 IllegalStateException)、消息亂序、連接超時等。以下是綜合各技術方案的解決方案,分為單機多線程和分布式集群兩類場景:🔒 一、單機…

JDBC的連接過程(超詳細)

JDBC(Java Database Connectivity)是 Java 用于訪問數據庫的標準 API,它允許 Java 程序與各種不同類型的數據庫進行交互, 其連接數據庫的過程主要包含以下幾個步驟:1. 導入 JDBC 驅動依賴在使用 JDBC 連接數據庫之前&a…

本地WSL部署接入 whisper + ollama qwen3:14b 總結字幕校對增強版

1. 實現功能 M4-4: 校對增強版 (最終完全體) 本腳本是整個 Module 的最終形態,采用了“代碼預處理 LLM校對”的終極方案: 代碼預處理: 確定性地在每個語音片段后添加逗號,生成一份“標點草稿”。LLM校對: LLM 的任務被簡化為“校對和修正”這…

MySQL數據庫簡介

1 簡介 MySQL是一個關系型數據庫管理系統,由瑞典 MySQL AB公司開發,屬于 Oracle 旗下產品,是當今最流行的關系型數據庫管理系統之一,在 WEB應用方面,MySQL是最好的RDBMS (Relational Database Management System&#…

[Oracle] UNPIVOT 列轉行

Oracle數據庫中的UNPIVOT是一種用于將列轉換為行的SQL操作,它允許用戶將多個列的數據轉換為多行的形式,以便進行更靈活的數據分析和報表生成UNPIVOT主要用于將寬表(多列)轉換為長表(多行),減少表的列數,增加行數語法格式SELECT pi…

node.js 學習筆記3 HTTP

path模塊 path模塊主要用于操作路徑。要使用path,首先需要引入path模塊。require(path) path.resolve 用于拼接規范的絕對路徑。 如果想拼接一個路徑,有時候是使用字符串手動拼接的,但由于系統的規范不同,路徑中的\和/無法統一…

Flutter Dialog、BottomSheet

屬性說明title標題content內容actions按鈕applicationName說明文字applicationVersion版本applicationLegalese版本基本使用class MyState extends State {AlertDialog delDialog(BuildContext context) {AlertDialog alertDialog AlertDialog(title: Text("提示"),…

《算法導論》第 19 章 - 斐波那契堆

引言斐波那契堆(Fibonacci Heap)是一種高效的可合并堆數據結構,由 Michael L. Fredman 和 Robert E. Tarjan 于 1984 年提出。它在許多優先隊列操作中提供了極佳的 amortized(攤還)時間復雜度,尤其適用于需…

MySQL-日志

MySQL-日志前言一、錯誤日志(error log)二、慢查詢日志(slow query log)三 、一般查詢日志(general log)四、 事務日志重做日志(redo log)回滾日志(undo log)五、 二進制日志(bin log)/歸檔日志 > 數據同…

嵌入式C語言編程:策略模式、狀態模式和狀態機的應用

概述 在沒有面向對象語法的C語言中,策略(Strategy)模式和狀態(State)模式都通過“上下文 接口”組合來模擬多態。 它們在代碼結構上幾乎一致,但設計意圖和應用場景卻差異很大。 本文分三部分深入剖析&…

人工智能、機器學習、深度學習:2025技術革命的深度解析

目錄 人工智能、機器學習、深度學習:技術革命的深度解析 引言 第一部分:人工智能的起源與演進 1.1 人工智能的定義 1.2 人工智能的歷史 1.3 人工智能的關鍵概念 a.知識表示(Knowledge Representation) b.搜索算法&#xf…

【Python】常用內置模塊

1.os 文件目錄 import os# 創建文件夾 os.mkdir(dir) # 判斷文件是否存在 os.path.exists(path) # 列出文件夾下文件列表 os.listdir(dir)""" 常用 """ # 當前文件相對路徑 os.getcwd()# 當前文件絕對路徑 os.path.abspath(__file__)# 當前文…