Workload Management and WLM - Workload Management and WLM

課程正文
工作負載管理與 WLM 模組
繼續使用本課程教材即表示您同意這些條款與條件。Interskill Learning Pty. Ltd. © 2024
學習檢核
- 能用自己的話說明「Workload Management and WLM」在本 topic 中的用途。
- 能辨識 WLM 的基本角色。
- 能判斷本頁內容應回到哪一個大型主機工作情境中使用。
本模組說明 WLM 如何根據服務目標協助 z/OS 管理工作負載,讓不同重要性的工作能取得合適的系統資源。

工作負載管理與 WLM 模組
繼續使用本課程教材即表示您同意這些條款與條件。Interskill Learning Pty. Ltd. © 2024

工作負載管理 (WLM) 的目標
單一 z/OS 系統會執行許多不同的工作,通常高達數千個。這些工作必須共同分享並競爭例如 CPU 等資源。z/OS 提供機制來控制這些工作如何分享這些資源,決定哪些工作獲得較多、哪些獲得較少。在本模組中,您將了解這些機制及其運作方式。
在本模組結束時,您應該能夠:

在單一 z/OS 系統中,會有許多工作同時執行。其中有些是 z/OS 的系統工作,必要以維持系統運作;其他則是應用程式及其運作所需的環境。還會有支援系統的工作,從 JES 與 RACF 到像 Db2 這類的資料庫管理系統。
所有這些工作都需要三項基本資源來執行:CPU、記憶體和 I/O。

如果準備要使用 CPU 的工作數量超過 CPU 的數量,z/OS 會強制部分工作等待輪到。其他工作會在 CPU 上執行,而當它們的執行輪次結束──例如要進行 I/O 操作或因其他原因釋放 CPU──其他工作就可以使用該 CPU。
通常,不會有足夠的資源讓所有工作同時使用。例如,可能有六個工作準備使用 CPU,但系統上只有四個 CPU 可用。工作可能需要 100 GB 的記憶體,但機器上僅裝設了 40 GB。也可能有五個工作同時需要存取同一個磁碟裝置,但一次只有一個可以存取。
z/OS 提供功能來處理這些情況。
將滑鼠移到每個資源上,以了解它們如何運作。

在任何計算系統中,並非所有工作都相等。有些是關鍵性的、有些是重要的、有些則是不重要的。
例如,如果 z/OS 的主控位址空間無法運作,z/OS 就會停止。這是一項關鍵性工作。
但像 COBOL 編譯的批次作業可能沒那麼重要。如果它無法取得足夠的 CPU,除了提交該作業的程式設計師外,幾乎不會影響到其他事務。
因此,讓關鍵性的工作優先取得所需資源是合理的。

z/OS Workload Manager (WLM) 是 z/OS 管理員用來指示 z/OS 哪些工作比其他工作更重要的工具。
WLM 隨 z/OS 免費提供,並與 z/OS 的其他內部功能協同運作,依據 WLM 設定分配資源。因此,您的重要工作將可優先取得 CPU、記憶體與 I/O 的存取權。

到目前為止,本模組中你已經學習到有關工作(task)的概念。這裡所指的是一個可分派執行單元(dispatchable unit,簡稱 DU),也常簡稱為可分派單元,是個別的一項工作單元。它可以是一個程式,或是數個程式依序執行的情況。
每個 DU 可以擁有記憶體、鎖定以及其他資源,並能獨立於其他工作運作,同時與其他工作並行執行。
以 UNIX 用語來說,DU 可被視為一個執行緒(thread)。

DU 在位址空間中執行;例如,TSO 使用者、批次作業、z/OS UNIX 程序或啟動的任務。每個位址空間中可能會有,而且幾乎總是有,許多 DU 同時執行。位址空間內的工作可以共用記憶體及其他資源。WLM 會在位址空間層級進行一些優先處理,而不是在 DU 層級。
例如,在一個 CICS 區域中,可能有許多使用者應用程式同時執行。WLM 可能會對該 CICS 區域執行某些優先處理,這些設定將套用到該區域內的所有 DU。
請記住,如果 WLM 允許且有足夠的 CPU,單一位址空間內的多個 DU 可以同時執行。

最近,工作負載開始在超過一個 DU 上運作。例如,來自外部(非大型主機)來源的 Db2 請求會透過 Db2 distributed data facility (DDF) 的位址空間進入。如果該請求執行一個儲存程序,該儲存程序將在另一個位址空間中執行。
z/OS 有一種名為 enclave 的資源用來管理這些 DU。WLM 會針對 enclave 執行它通常會對位址空間執行的任何優先順序處理。enclave 還有其他優點,你會在本模組的後續章節發現。
雖然任何經授權的程式都可以設定在 enclave 中執行,但大多數工作仍在單一位址空間內執行。enclave 的一些使用範例包括 Db2、WebSphere Application Server 與 IBM MQ。

因此,WLM 及相關的 z/OS 功能必須管理許多同時執行的工作(DUs)。每個工作都想使用 CPU、記憶體 和 I/O。
那麼 z/OS 如何為每個 DU 設定優先權?

每個位址空間或封閉執行區域都有由 WLM 指定的分派優先權。此分派優先權為 0 到 255 的數值。此分派優先權會分配給該位址空間或封閉執行區域內的所有可分派單元 (DU)。有一些例外情況,稍後會說明。
分派優先權愈高,已準備就緒且等待 CPU 的工作就愈有可能在不需等待的情況下被分派到 CPU。這就是 z/OS 管理 CPU 的方式。

到目前為止,術語 task 與 DU 常被交替使用。然而,DU 有兩種類型:工作(有時稱為 TCBs)以及服務請求(有時稱為 SRBs)。
大部分處理以工作方式執行,包括一般的應用程式。服務請求用於系統服務,以及在執行區域內執行的任何工作。
某些服務請求可以被設定為在工作之前執行,實際上會忽略調度優先權規則。

可使用 SDSF DA 畫面檢視位址空間的調度優先順序。

如同派遣優先權,工作也可以被指定 I/O 優先權。具有較高 I/O 優先權的工作將優先存取 I/O 裝置(磁碟與磁帶)。
如果啟用 I/O 優先權,預設情況下 I/O 優先權與先前討論的派遣優先權相同。然而,WLM 可以設定為將工作負載指派到與派遣優先權分開的 I/O 優先權群組。在這種情況下,WLM 的 I/O 優先權可從 SDSF 畫面看到。
此處顯示的是用於顯示 enclaves 的 SDSF ENCLAVES 畫面。

WLM 並不會像對 CPU 與 I/O 那樣,對記憶體提供相同的優先順序。
不過,可以對那些儲存存取至關重要的工作負載加以標記。z/OS 不會換出這些工作負載所屬位址空間的記憶體,除非絕對必要。

從 z/OS 3.1 起,IBM 的目標是以人工智慧 (AI) 解決方案改進並擴充 WLM,使得能夠預測 IBM Z 的工作負載。目前,WLM 對出現的工作負載採取回應式處理,並在需要時分配資源。在工作負載處理達到最佳化之前,這個啟動與擴充過程可能需要一些時間。
在 AI 協助 WLM 的情況下,可利用 AI 在工作負載到達之前主動提前啟動所需的資源。
按 Next 以檢視 AI 可能如何協助 WLM 的範例。

在本節中,您已看到 z/OS Workload Manager (WLM) 是 z/OS 的元件,用來控制 CPU 與 I/O 在各個可調度單元 (DUs) 之間如何共享。z/OS 管理員可以識別哪些工作較重要、哪些較不重要。
WLM 隨即會將較重要的工作列為優先:優先存取 CPU 與 I/O,並避免被換出。
在下一節,您將看到 WLM 的運作方式。

摘要:Workload Management 和 WLM
單一 z/OS 系統會執行許多不同的任務,通常多達數千個。這些任務會共同使用並競爭資源。z/OS 提供機制來控制這些任務如何分享資源、哪些任務獲得較多資源、哪些獲得較少資源。在本模組中,你已了解這些機制以及它們的運作方式。
你現在應能夠:

一張示意圖,顯示 WLM 所提供的使用者介面:ISPF 或批次介面,以及 z/OS Management Facility。
WLM 提供使用者介面,讓 z/OS 管理員能定義所需的 WLM 設定。
傳統上,z/OS 管理員使用 ISPF 或批次介面。現在,許多人也使用 z/OS Management Facility 介面。
將滑鼠移到每個介面上方以更清楚地檢視。

Service-Class 檢視 註記 選項 說明
在 WLM 與 z/OS 開始對工作負載進行優先排序之前,您必須先告訴 WLM 哪些工作負載比較重要、哪些較不重要。例如,您可以決定將 CICS 交易分為兩種類型:重要與較不重要。
第一步是將工作負載劃分為服務類別。z/OS 管理員可以為服務類別選擇任意名稱(最多八個字元)。因此,您可能會為 CICS 交易建立兩個服務類別:CICSHIGH(重要)和 CICSLO(較不重要)。
您最多可以定義 100 個服務類別。然而,為了讓 WLM 發揮最佳效果,多數站點的服務類別通常不會超過 30 個。

在建立好您的服務類別後,您需要告訴 WLM 哪些工作量屬於每個類別。通常會指定工作量名稱,例如 CICS 交易名稱或批次作業名稱;不過,也可以使用其他資訊,從使用者識別碼到 Db2 計劃名稱皆可。
此處顯示的是針對 CICS 的 WLM 分類規則節錄。
將滑鼠移到每個醒目標示的區域上以瞭解更多資訊。

WLM 是一個以目標為導向的工作負載管理系統。您需要告訴 WLM 您希望對各服務類別達到的效能。例如,您可能希望 IMS 交易在一秒以內完成,或希望批次作業在處理上花費的時間多於等待像 CPU 或 I/O 這類資源的時間。

像 CICS 或 IMS 的交易式工作負載可以指定回應目標 — 您希望交易在多快的時間內完成。
這些目標的指定方式類似於許多服務等級協定,這就是概念。
在此範例中,您希望此服務類別中 80% 的 CICS 交易在兩秒內完成。

有些工作負載無法設定回應時間目標,例如長時間執行的工作負載,如批次作業與已啟動的工作。
對於這些工作負載,您可以定義速度目標。速度基本上是指工作負載實際在執行工作的時間,與總經過時間(執行時間加上等待資源的時間)之比。它以百分比表示。
因此,在此範例中,目標是在至少 40% 的時間內處於執行(而非等待像 CPU 或 I/O 這類資源)的狀態。

還有最後一件事要告訴 WLM,就是要說明每個服務類別達成其目標的重要性。舉例來說,生產環境的 WebSphere Application Server 工作對客戶來說可能非常關鍵,但您的 CICS 系統僅用於後台作業,相對不那麼重要。
如果所有服務類別都無法達成其目標(例如可能是 CPU 不足),WLM 會嘗試優先滿足較重要工作的目標。
您可以為每個服務類別指定一個重要性數值,範圍從 1(非常重要)到 5(不重要)。

每個站點都會有一些不那麼重要的工作。這些工作需要執行,但執行的時間點或耗費的時間並不重要。例如,像磁碟重組這類的維護作業。
這些可以指定為酌情目標。這實際上並不是一個真正的目標,而是告訴 WLM:這類工作只有在沒有其他較高優先順序的工作需要資源時,才會取得資源。
酌情期間沒有重要度值,因為不需要;只有在沒有更重要的工作需要資源時,才會將資源分配給它們。

在某些情況下,您可能希望工作負載的目標隨時間改變。例如,您可能想要將較小的批次作業給予比執行較久的批次作業更高的優先權。您可以在服務類別定義中使用效能期間來達成此目的。在此範例中, 每個 TSO 指令將具有下列設定:
服務類別最多可定義八個效能期間。

您已經看到,預設情況下 I/O 優先權與調度優先權相同。然而,站點可以選擇將 I/O 優先權與調度優先權分離,並在服務類別的定義中為服務類別指定一個 I/O 優先群組。

站點也可以使用工作負載分類規則來指定某些工作負載是否為儲存關鍵;換言之,即表示它們不能被換出。

所以,您現在已經告訴 WLM 不同工作負載的目標。現在,WLM 必須在這些工作負載之間分配 CPU 與 I/O 資源。
WLM 透過 donor/receiver 機制來執行此分配;當一個工作負載的存取增加時,另一個工作負載的存取就會減少。
按 Next 以檢視其運作方式。

在本節中,您已瞭解 WLM 的運作方式、z/OS 管理員如何為工作負載設定優先順序,以及 WLM 如何實作這些設定。

模組已完成 — Workload Management and WLM
您可以按一下 'Exit' 以離開 Workload Management and WLM 並記錄您的成績,或使用 Table of Contents 返回複習模組內容。
若要再次參加 Workload Management and WLM 模組測驗,您需要先離開模組,然後在 LMS 中重新作答。
注意:為確保您的成績正確儲存,請使用位於本訓練視窗右上角的 'Exit' 按鈕。請勿使用瀏覽器右上角的 'X'。
本模組的練習測驗與 Module Test 題目已納入「練習與評量」,可依題型或來源篩選練習。本站以非計分模式提供 12 題練習;正式分數、attempt、completion 與憑證仍以 YourLearnings / InterSkill 為準。