國立交通大學
資訊學院 資訊學程
碩 士 論 文
實 作 一 個 在 UNIX 環 境 上 的 資 源 監 控 系 統
Implementing a resource monitoring system on UNIX
environment
研 究 生 : 王 鵬 翔
指 導 教 授 : 王 豐 堅 教 授
實 作 一 個 在 UNIX 環 境 上 的 資 源 監 控 系 統
Implementing a resource monitoring system on UNIX
environment
研 究 生 : 王 鵬 翔 Student: Peng-Hsiang Wang 指 導 教 授 : 王 豐 堅 Advisor: Dr. Feng-Jian Wang
國 立 交 通 大 學
資 訊 學 院 資 訊 學 程
碩 士 論 文
A Thesis
Submitted to College of Computer Science National Chiao Tung University in partial Fulfillment of the Requirements
for the Degree of Master of Science
in
Computer Science Apr 2010
Hsinchu, Taiwan, Republic of China
實 作 一 個 在 UNIX 環 境 上 的 資 源 監 控 系 統 學 生 : 王 鵬 翔 指 導 教 授 : 王 豐 堅 國 立 交 通 大 學 資 訊 學 院 資 訊 學 程 碩 士 班 摘 要 在 UNIX 環 境 中 , 同 時 使 用 多 台 的 工 作 站 , 若 不 能 有 效 的 分 配 負 載 , 不 僅 造 成 工 作 站 使 用 率 低 , 還 會 導 致 服 務 品 質 不 佳 。 為 了 提 高 使 用 率 , 許 多 使 用 者 會 採 用 Load Sharing 系 統 來 改 善 。 然 而 , 市 面 上 的 Load Sharing 系 統 皆 只 針 對 CPU 的 utilization 來 做 管 理 , 使 用 對 象 侷 限 在 designer 的 batch job, 對 其 它 工 作 站 資 源 ( 例 如 : Memory) 及 使 用 者 的 便 利 則 考 慮 不 多 。 在 本 篇 論 文 中,我 們 提 供 了 一 套 資 源 監 控 系 統 給 所 有 使 用 者。它 可 以 掌 握 所 有 工 作 站 資 源 的 使 用 狀 態 , 讓 使 用 者 輕 鬆 地 挑 選 可 利 用 的 工 作 站 來 作 業 , 減 少 因 多 人 共 用 一 台 工 作 站 導 致 其 它 工 作 站 閒 置 的 情 況 發 生 。 這 套 資 源 監 控 系 統 以 perl/Tk 來 撰 寫,架 構 為 client-server,它 提 供 直 覺 且 友 善 的 GUI 介 面 給 使 用 者 。 同 時 它 採 用 socket 方 式 來 傳 遞 資 訊 , 並 每 60 秒 更 新 資 訊 一 次 。 除 了 上 述 功 能 的 提 供 外 , 我 們 也 根 據 軟 體 的 使 用 性 、 容 錯 能 力 、 效 能 及 重 複 使 用 性 分 析 , 確 保 它 的 品 質 。 關 鍵 字 : 負 載 共 用 , 電 子 設 計 自 動 化 , 資 源 監 控
Implementing a resource monitoring system on UNIX environment
Student: Peng-Hsiang Wang Advisor: Dr. Feng-Jian Wang
Degree Program of Computer Science
National Chiao Tung University
ABSTRACT
In an UNIX environment, if the loads cannot be distriputed effectively, the execution in multiple workstations might have several defects, e.g., low usage rate in workstations, poor service quality, etc. Currently, many users apply load sharing system to enhance the usage rate. However, commercial systems of resource sharing managements are based on CPU utilization and their functions work on the management of designer ’s batch jobs only. To user, the usability and resource accessing of other workstations are less concerned.
In this thesis, we descri be a resource monitoring system, RMS, to solve above problems. RMS is designed to monitor the usage of all the workstation resources. By providing an intuitive and friendly interface, RMS can help reduce the overall loading in the whole system since the available
workstation(s) can be easily selected to work. The second part in RMS is to update related information in each workstation (e.g., CPU status, memory) every 60 seconds. This part can clear the garbage process/memory and help increase utilization too. RMS is developed with perl/Tk and based on
client-server architecture, where socket method is used for data exchage. Finally, we also analyze usability, fault tolerance, efficiency and reusability to ensure its quality.
誌 謝
首 先 感 謝 我 的 指 導 教 授 王 豐 堅 老 師 在 學 生 就 學 期 間 耐 心 地 給 予 指 導 與 彈 性 的 研 討 時 間 。 再 者 感 謝 口 試 委 員 吳 毅 成 教 授 、 梁 德 容 教 授 及 黃 俊 龍 教 授 願 意 擔 任 學 生 的 口 試 委 員 , 並 且 在 口 試 時 , 提 供 學 生 在 研 究 上 可 以 再 改 善 的 寶 貴 意 見 , 使 本 論 文 得 以 修 改 得 更 完 善 。 對 在 職 進 修 的 研 究 生 而 言,同 時 有 工 作 上 和 課 業 上 的 雙 重 壓 力,所 以 必 須 感 謝 公 司 主 管 張 念 祖 在 學 生 就 學 期 間 工 作 上 的 安 排 , 以 及 溫 坤 龍 同 仁 、 石 惠 如 同 仁 的 協 助 , 使 得 學 生 得 以 順 利 完 成 學 業 。 最 後 , 要 感 謝 我 的 家 人 一 直 給 我 無 限 的 支 持 , 讓 我 能 夠 專 心 學 習 , 而 無 後 顧 之 憂 。目 錄
中 文 摘 要 ... i 英 文 摘 要 ... ii 誌 謝 ... iii 目 錄 ... iv 表 目 錄 ... v 圖 目 錄 ... vi 第 一 章 、 緒 論 ... 1 1.1 動 機 ... 1 1.2 目 的 ... 2 1.3 章 節 簡 介 ... 2 第 二 章 、 背 景 ... 32.1 UNIX 環 境 之 主 流 Load Sharing 系 統 比 較 ... 3
2.2 UNIX 環 境 之 Load Sharing 系 統 的 缺 點 ... 5
第 三 章 、 設 計 與 架 構 ... 7 3.1 設 計 概 念 與 目 標 ... 7 3.2 資 源 監 控 系 統 架 構 ... 8 3.3 使 用 者 介 面 ... 10 3.4 資 源 監 控 系 統 設 計 方 式 ... 12 3.5 程 式 流 程 圖 ... 14 第 四 章 、 實 作 ... 18 4.1 開 發 環 境 需 求 ... 18 4.2 實 作 結 果 ... 18 4.3 資 源 監 控 系 統 的 品 質 ... 23 第 五 章 、 結 論 及 未 來 方 向 ... 27 5.1 結 論 ... 27 5.2 未 來 方 向 ... 27 參 考 文 獻 ... 29
表 目 錄
圖 目 錄
圖 3.1 資 源 監 控 系 統 架 構 圖 ... 8 圖 3.2 網 路 環 境 結 構 圖 ... 9 圖 3.3 資 源 監 控 系 統 程 式 結 構 圖 ... 9 圖 3.4 資 源 監 控 系 統 管 理 介 面 圖 ... 10 圖 3.5 資 源 監 控 系 統 執 行 流 程 圖 1 ... 13 圖 3.6 資 源 監 控 系 統 執 行 流 程 圖 2 ... 14 圖 3.7 RMS-Server Process 流 程 圖 ... 15 圖 3.8 Registry_Update Process 流 程 圖 ... 15 圖 3.9 Client_Invoke Process 流 程 圖 ... 16 圖 3.10 RMS-Client Process 流 程 圖 ... 16 圖 3.11 RIP 流 程 圖 ... 17 圖 4.1 資 源 監 控 系 統 群 組 圖 ... 19 圖 4.2 資 源 監 控 系 統 工 具 區 圖 ... 19 圖 4.3 資 源 監 控 系 統 View 設 定 圖 ... 20 圖 4.4 資 源 監 控 系 統 adminfo 功 能 圖 ... 20 圖 4.5 OS 及 EDA 測 試 結 果 圖 ... 21 圖 4.6 OS 及 Utility 測 試 結 果 圖 ... 21 圖 4.7 資 源 監 控 系 統 help 說 明 圖 ... 21 圖 4.8 資 源 監 控 系 統 mark 說 明 圖 ... 22 圖 4.9 資 源 監 控 系 統 主 機 狀 態 區 圖 ... 22 圖 4.10 資 源 監 控 系 統 CPU 顆 數 設 定 圖 ... 23第 一 章 、 緒 論
1.1 動 機
在 探 討 一 個 系 統 效 率 的 時 候 , 資 源 的 使 用 並 不 只 有 CPU, 還 包 含 Memory、 Disk 等 , 甚 至 作 業 系 統 的 版 本 也 是 ; 在 過 去 已 有 許 多 演 算 法 被 提 出 ( [4], [5], [6], [7], [8], [10], [12], [14], [15], [16], [17], [18]), 雖 然 這 些 方 法 各 有 其 特 色 、 分 析 及 論 證 , 但 end-user 要 的 卻 不 是 這 樣 。 在 UNIX-like 的 環 境 下 , 我 們 觀 察 到 : 1) designer 常 需 要 simulation, 所 以 需 要 強 大 的 運 算 主 機 資 源 2) layout 人 員 要 做 繪 圖 , 圖 中 包 含 大 量 的 component, 所 以 需 要 較 大 的 記 憶 體 資 源 3) 對 使 用 EDA( Electronic Design Automation) 人 員 而 言 , 常 發 生 某 些 vendor 因 併 購 或 淘 汰 , 不 再 支 援 某 些 產 品 , tool 無 法 更 新 , 或 者 當 初 購 買 時,license 綁 定 在 某 主 機 上,故 只 能 綁 定 在 某 些 platform、版 本、 主 機 上 執 行,也 有 最 新 的 EDA 只 支 援 到 某 些 platform、版 本 情 況 發 生 4) 當 在 趕 計 劃 的 尖 峰 時 刻 , 資 源 使 用 率 高 ,資 源 搶 佔 情 形 嚴 重 , end-user 常 反 應 資 源 使 用 不 足 , 並 質 疑 IT 人 員 讓 許 多 主 機 閒 置 而 未 釋 出 給 使 用 者 。雖 然 在 UNIX-like 的 環 境 下 , 市 面 上 已 有 許 多 Load Sharing 的 工 具 [3], [13], [25], [26], [27],但 大 都 是 針 對 需 要 CPU 運 算 的 Batch Job 作 處 理,對 非 Batch Job 則 沒 有 幫 助,只 能 解 決 上 述 第 1 點,再 則 , 隨 著 科 技 的 進 步 , 現 在 的 主 機 大 多 已 非 單 一 CPU 的 主 機 , 雙 CPU, 甚 至 更 多 CPU 的 主 機 已 漸 漸 普 及,而 多 CPU 主 機 則 帶 來 一 些 執 行 上 的 差 異 , 一 般 來 說 , 有 的 Load Sharing 管 理 系 統 , 在 分 配 CPU 資 源 時 , 皆 是 以 CPU 平 均 值 來 決 定 分 配 的 , 然 而 , 以 此 方 法 略 顯 不 足 。 舉 例 來 說 , 有 二 台 主 機 , 甲 台 主 機 為 雙 CPU 主 機 , 而 乙 台 為 8 CPU 主 機 ; 當 甲 主 機 其 中 一 顆 CPU 被 使 用 , 其 平 均 值 為 50%; 而 乙 主 機 其 中 6 顆 CPU 被 使 用 時 , 其 平 均 值 為 75%; 若 依 現 有 Load Sharing 管 理 系 統 , 下 一 個 工 作 會 被 分 配 到 甲 主 機 , 而 事 實 上 乙 主 機 比 甲 主 機 的 資 源 更 為 寬 裕 。 更 進 一 步 說 , 在 企 業 內 大 都 還 留 有 舊 型 主 機 , 食 之 無 味 , 棄 之 可 惜 , 如 果 一 個 需 要 大 量 運 算 的 job 被 分 配 到 舊 主 機 , 它 需 要 花 較 多 的 時 間 來 執 行 。 所 以 , 若 能 提 供 一 個 簡 單 直 觀 的 工 具 , 讓 end-user 能 掌 握 當 下 所 有 主 機 與 詳 細 的 資 源 使 用 情 形 , 包 含 硬 體 Spec.及 每 顆 CPU 的 使 用 情 形 , 以 方 便 其 尋 找 可 利 用 之 主 機 , 一 則 可 提 高 負 載 平 衡 , 二 則 可 讓 end-user 解 除 資 源 利 用 不 足 的 疑 慮 或 不 公 平 ?
1.2 目 的
對 於 以 上 的 不 便 與 限 制 , 我 們 提 供 了 一 個 動 態 的 資 源 監 控 系 統 ( Resource Monitor System, RMS) 來 解 除 Batch Job 的 限 制 。 該 資 源 監 控 系 統 隨 時 確 認 主 機 存 活 狀 態,有 效 掌 握 所 有 主 機 資 源 的 使 用 狀 態 , 並 且 依 作 業 平 台 ( Solaris、 Linux、 HP) 及 記 憶 體 大 小 ( 24GB 以 下 、 32GB、 64GB 以 上 ) 來 分 類 , 讓 使 用 者 可 快 速 地 找 到 可 利 用 的 資 源 。 而 此 資 源 監 控 系 統 是 一 個 獨 立 系 統 , 對 於 之 前 已 建 立 的 Load Sharing 管 理 系 統 沒 有 任 何 衝 突 , 仍 可 繼 續 使 用 , 不 會 浪 費 已 有 建 置 成 本 。
1.3 章 節 簡 介
本 篇 論 文 的 內 容 大 致 如 下 第 二 章 將 對 背 景 做 些 介 紹 , 包 含 現 有 Load Sharing 系 統 工 具 的 比 較 及 使 用 上 的 優 缺 點 。 第 三 章 則 詳 細 說 明 本 資 源 監 控 系 統 的 設 計 架 構 及 運 作 方 式 。 第 四 章 會 說 明 此 資 源 監 控 系 統 的 實 作 結 果 及 性 能 分 析 。 第 五 章 將 會 作 些 討 論 並 提 到 此 系 統 未 來 的 可 改 善 目 標 。第 二 章 、 背 景
在 UNIX 環 境 下 , 目 前 市 面 上 已 有 許 多 Load Sharing 系 統 [13], 其 優 點 包 括 可 平 行 處 理 job、動 態 負 載 平 衡、GUI 模 組 化、容 錯 性 佳、彈 性 排 程 、 授 權 機 制 等 , 功 能 相 當 強 大 ; 但 亦 有 不 足 的 地 方 , 比 如 source code 不 開 放 、 價 錢 昂 貴 、 限 定 執 行 的 作 業 平 台 、 只 能 處 理 batch job 等 。
2.1 UNIX 環 境 之 主 流 Load Sharing 系 統 比 較
表 2.1 對 目 前 市 場 上 二 套 主 流 的 Load Sharing 管 理 軟 體 作 比 較 [26], [27],第 一 套 為 LSF( Load Share Facility),第 二 套 為 SGE( SUN Grid Engine) 系 統 。 表 2.1 LSF 及 SGE 比 較 表 LSF SGE 異 質 平 台 支 援 支 援 SUN、 Apple MacOS、HP、IBM AIX、 Linux、Windows、NEC SX-8、 SGI Irix 支 援 SUN、 Apple MacOS、HP、IBM AIX、 Linux、 Windows 產 品 支 援 Platform 專 門 24x7 支 援 提 供 技 術 資 料 庫 及 使 用 web 支 援 可 靠 度 和 容 錯 有 check-pointing, job failure 會 重 新 執 行 , fail-over 時 保 證 0 downtime, 可 靠 度 和 容 錯 度 高 有 容 錯 能 力 且 可 靠 度 佳 規 模 大 小 目 前 已 超 過 2000 個 客 戶 使 用 , 包 含 100 以 上 cluster, 200,000 顆 CPU, 500,000 active jobs 規 模 最 大 可 到 63,000 顆 CPU 報 表 使 用 LSF 本 身 提 供 的 accounting 來 收 集 資 料 , 精 確 度 較 高 使 用 UNIX 提 供 的 accounting 來 收 集 資 料 價 格 價 格 昂 貴 , 以 CPU 顆 數 來 計 算 有 免 費 版 及 Enterprise 版 本 ,
Enterprise 版 的 價 格 相 比 LSF 也 較 低 在 表 2.1 中 , 我 們 從 下 述 六 個 角 度 出 發 去 判 斷 彼 此 的 優 劣 1. 異 質 平 台 支 援
LSF 支 援 的 作 業 平 台 包 含 支 援 SUN、Apple MacOS、HP、IBM AIX、 LINUX、 Windows( 2000、 XP、 Vista、 2003、 2008)、 NEC SX-8、 SGI Irix 等 。
SGE 可 執 行 主 機 的 作 業 平 台 包 含 SUN、Apple MacOS、HP、IBM AIX、 Linux、Windows( 2000、XP),但 Master 主 機 必 須 要 為 SUN 或 Linux。 2. 產 品 支 援 Platform 公 司 的 LSF 產 品,有 專 門 人 員 作 每 天 24 小 時 的 即 時 技 術 服 務 , 也 有 web portal 提 供 服 務 。 SGE 則 提 供 技 術 資 料 庫 及 使 用 web 服 務 , 但 沒 有 每 天 24 小 時 即 時 服 務 , 所 以 不 一 定 可 立 即 解 決 使 用 者 的 問 題 。 3. 可 靠 度 和 容 錯
LSF 有 check-pointing, 若 job failure, 將 自 動 重 新 執 行 , 且 若 主 機 fail-over 時 , 保 證 0 downtime , job 不 會 因 軟 硬 體 錯 誤 而 遺 失 , 可 靠 度 和 容 錯 度 高 。
SGE 也 有 不 錯 的 容 錯 能 力 及 可 靠 度,但 偶 爾 會 有 job 執 行 失 敗 情 況 發 生 。
4. 規 模 大 小
LSF 目 前 已 超 過 2000 個 客 戶 使 用 , 包 含 100 以 上 cluster, 200,000 顆 CPU, 500,000 active jobs。
SGE 其 規 模 最 大 可 管 理 到 63,000 顆 CPU。 5. 報 表
在 收 集 job 的 running 和 complete 資 料 中 , LSF 使 用 本 身 提 供 的 accounting 系 統 , 精 確 度 較 高 , 且 報 表 能 力 強 , 可 依 使 用 者 、 主 機 、 EDA license 的 使 用 等 條 件 , 製 作 出 華 麗 的 報 表 。
SGE 則 使 用 UNIX 提 供 的 accounting 來 收 集 資 料,其 報 表 能 力 比 較 陽 春 。
6. 價 格
CPU 的 二 倍 , 所 以 整 體 建 置 費 用 昂 貴 。
SGE 則 分 免 費 版 及 Enterprise 版,即 使 是 Enterprise 版,其 建 置 費 用 也 比 LSF 低 。 由 表 2.1 的 比 較 表 可 知 LSF 比 SGE 在 許 多 方 面 有 優 勢,功 能 性 較 SGE 強 大 , 但 並 不 意 味 著 LSF 就 可 以 完 全 取 代 SGE。 何 況 , 除 了 功 能 性 外 , SGE 也 有 相 對 優 點 , 比 如「 價 格 」: LSF 須 花 錢 購 買 , 且 價 格 不 斐 , 對 數 量 眾 多 的 主 機,整 體 建 置 費 用 較 為 昂 貴,而 SGE 有 免 費 版 及 Enterprise 版 本,只 要 些 許 花 費 與 客 製 化,就 能 達 到 類 似 效 能,僅 管 它 有 較 多 限 制。 而 且 隨 著 Linux 的 廣 泛 使 用 、 功 能 的 提 昇 、 報 表 功 能 的 加 強 、 EDA tool 的 support 等 多 項 功 能 提 升,近 年 來 SGE 的 市 佔 率 已 有 相 當 的 提 升,「 價 格 」 永 遠 是 企 業 的 主 要 考 量 之 一 。
2.2 UNIX 環 境 之 Load Sharing 系 統 的 缺 點
除 前 一 節 所 說 UNIX 環 境 之 缺 點 外 , 我 們 亦 從 end-user 與 system administrator 這 兩 個 角 度 , 分 析 其 使 用 上 的 缺 陷
1. End-user 方 面
( 1) 現 有 Load Sharing [13, 26, 27] 系 統 中 , 要 submit 的 job 必 須 為 batch job, 若 不 是 , 則 無 法 使 用 此 Load Sharing 系 統 處 理 。 ( 2) 現 有 Load Sharing 系 統 會 限 制 在 某 些 作 業 平 台 上 才 有 支 援 。 ( 3) 使 用 者 只 能 掌 握 部 分 的 主 機 狀 態,無 法 全 面 掌 握 目 前 所 有 主 機 的 狀 態 。 ( 4) 需 要 資 源 監 控 系 統 提 供 立 即 的,且 更 為 詳 盡 的 主 機 資 源 使 用 狀 態 , 包 含 每 顆 CPU 的 使 用 情 形 、 軟 體 版 本 , 及 硬 體 Spec.等 , 以 協 助 使 用 者 開 發 。 2. System administrator 方 面
( 1)必 須 用 其 Load Sharing 管 理 系 統 的 方 法 或 指 令 來 submit job, 若 有 使 用 者 不 遵 照 規 則 , 則 可 能 出 現 資 源 搶 佔 情 形 。
( 2) 建 置 費 用 高 昂 , 企 業 可 能 先 只 利 用 些 許 數 量 的 computing nodes 建 立 此 Load Sharing 系 統 。
( 3) source code 不 開 放 或 有 限 制 , 客 製 化 能 力 有 限 。 在 UNIX 環 境 中 , 現 有 的 Load Sharing 系 統 皆 針 對 CPU 的
utilization 做 管 理 , 對 於 電 腦 主 機 其 它 資 源 ( 如 : Memory) 則 無 能 為 力,市 面 上 也 看 不 到 能 提 高 其 它 資 源 使 用 率 的 軟 體,鑒 於 以 上 的 種 種 缺 點 , 我 們 將 提 供 一 個 工 具 來 解 決 上 述 的 問 題 。 這 一 工 具 除 了 保 障 現 有 Load Sharing 運 行 架 構 正 常 外 , 它 也 讓 所 有 使 用 者 能 容 易 監 控 所 有 主 機 資 源 ,以 達 到 互 補 之 效 。換 句 話 說 , 這 一 工 具 將 讓 使 用 者 輕 鬆 地 尋 找 可 利 用 之 主 機 來 執 行 , 以 提 高 工 作 效 率 。
第 三 章 、 設 計 與 架 構
3.1 設 計 概 念 與 目 標
本 資 源 監 控 系 統 不 但 要 與 原 有 的 load sharing 系 統 達 到 互 補 之 效,而 且 最 好 還 能 給 所 有 人 員 使 用,並 非 侷 限 load sharing 使 用 人 員 , 因 此 , 考 慮 多 方 需 求 , 我 們 對 其 使 用 者 展 開 意 見 調 查 ,希 望 資 源 監 控 系 統 能 提 供 哪 些 功 能 及 目 標 , 以 下 為 調 查 結 果 , 整 理 如 下 1. System Administrator 方 面 ( 1) 確 認 資 源 監 控 系 統 運 作 時 不 會 有 dead lock 現 象 。 ( 2) 確 認 資 源 監 系 統 運 作 時 不 會 當 機 。 ( 3) 需 有 良 好 的 使 用 性 , 容 易 學 習 及 使 用 。 ( 4) 需 有 良 好 的 效 率 , 能 快 速 的 提 供 資 訊 給 使 用 者 。 ( 5) 精 簡 空 間 的 使 用 , 不 會 因 持 續 執 行 而 讓 使 用 空 間 成 長 。 ( 6) 錯 誤 發 生 後 的 回 復 能 力 , 亦 即 若 系 統 有 非 預 期 的 因 素 而 中 斷 , 需 能 快 速 回 復 服 務 。 ( 7) 可 再 次 使 用 性 , 亦 即 容 易 移 植 , 相 容 性 高 , 且 維 護 容 易 。 ( 8) 若 新 增 主 機 時 , 可 自 動 抓 取 新 主 機 之 所 有 Hardware spec., 並 更 新 至 主 機 資 訊 檔 。 ( 9) 因 主 機 保 留 或 benchmark, 為 避 免 不 相 關 人 員 誤 選 , 提 供 可 依 群 組 來 設 定 主 機 觀 看 權 限 , 讓 相 關 之 群 組 人 員 才 可 看 到 該 主 機 。 2. End-User 方 面( 1) 提 供 所 有 主 機 之 各 項 資 源 使 用 資 訊 ( CPU、 memory、 swap、 users… )及 軟 硬 體 資 訊( OS、kernel version、memory size、 CPU Qty… )。 ( 2)提 供 系 統 資 訊 即 時 更 新 及 定 時 更 新 功 能,定 時 更 新 時 間 為 每 60 秒 更 新 一 次 。 ( 3) 為 方 便 使 用 者 尋 找 主 機 , 各 項 狀 態 區 的 欄 位 ( 如 主 機 名 稱 、 memory、 swap… 等 ) 可 依 升 /降 冪 排 列 。 ( 4) 因 所 提 供 的 主 機 資 訊 眾 多 , 使 用 者 可 依 個 人 喜 好 , 來 決 定 哪 些 資 訊 要 顯 示 。 ( 5) 為 避 免 畫 面 呈 現 過 寬 或 過 長 , CPU 欄 位 可 依 個 人 喜 好 , 來 設 定 每 列 要 顯 示 之 CPU 顆 數 。 ( 6) 所 有 主 機 狀 態 區 的 欄 位 可 依 個 人 喜 好 , 來 設 定 其 顯 示 的 順 序 。 ( 7) 除 可 使 用 GUI 使 用 外 , 亦 提 供 此 系 統 之 command-line mode,
可 將 資 源 監 控 系 統 的 資 訊 , 以 文 字 方 式 , 提 供 給 有 需 要 的 使 用 者 自 行 利 用 , 並 提 供 help 說 明 。 ( 8) 為 簡 化 使 用 者 操 作 程 序 , 使 用 者 在 決 定 好 要 使 用 的 主 機 後 , 可 直 接 點 畫 面 中 選 該 主 機 名 稱 , 將 連 至 該 主 機 並 開 啟 xterm, 即 可 開 始 作 業 。 ( 9) 因 主 機 隨 時 會 保 留 給 其 它 計 劃 使 用 , 故 提 供 保 留 主 機 提 示 功 能 , 以 減 少 其 它 使 用 者 搶 占 主 機 資 源 。
3.2 資 源 監 控 系 統 架 構
1. client-server model 在 網 路 上 使 用 應 用 程 式 時 有 一 個 共 同 的 機 制 , 就 是 client-server model。 因 為 計 算 機 以 及 網 路 的 速 度 比 人 類 的 反 應 速 度 快 的 多 , 在 二 台 機 器 間 如 果 想 要 建 立 聯 繫 , 在 沒 有 一 方 處 於 等 待 的 情 況 下 , 單 純 的 靠 剛 好 雙 方 一 起 連 結 的 機 率 進 乎 於 零 , 所 以 必 需 有 一 方 在 啟 動 系 統 時 便 處 於 等 待 狀 態 , 等 待 其 它 主 機 發 出 需 求 , 並 在 接 到 需 求 後 給 予 回 應 , 這 便 是 client-server model, 而 本 資 源 監 控 系 統 便 是 採 用 此 架 構 , 如 圖 3.1 所 示 。 圖 3.1 資 源 監 控 系 統 架 構 圖 提 出 需 求 的 主 機 為 client 端,亦 即 在 本 系 統 裡,所 有 主 機 皆 為 RMS-client, 數 量 為 m, 而 回 應 需 求 的 主 機 則 為 RMS-server, 只 有 一 台 , 而 有 使 用 者 ( 不 論 幾 人 ) 執 行 本 資 源 監 控 系 統 GUI 程 式 的 主 機 , 稱 為 RMS-user, 數 量 為 n, 則 n <= m。2. 建 置 環 境 在 執 行 EDA 軟 體 過 程 中 , 需 長 時 間 執 行 , 甚 至 有 些 少 數 job 執 行 時 間 可 達 數 星 期 之 久 , 執 行 途 中 若 遇 當 機 , 則 會 影 響 設 計 週 期 , 故 業 界 在 執 行 EDA 軟 體 時 , 多 採 用 在 較 穩 定 的 UNIX 系 統 環 境 上 作 業 。 本 建 置 環 境 也 以 UNIX 環 境 為 主 。 本 資 源 監 控 系 統 網 路 環 境 如 圖 3.2, 所 有 主 機 都 透 過 ethernet 網 路 連 接 , 中 間 並 無 防 火 牆 阻 擋 , 所 有 主 機 皆 為 UNIX 作 業 系 統 。 圖 3.2 網 路 環 境 結 構 圖 3. 程 式 結 構 本 資 源 監 控 系 統 程 式 建 構 於 UNIX 環 境 之 上 , 其 結 構 圖 如 圖 3.3, 程 式 語 言 採 用 perl 搭 配 TK 撰 寫 而 成 , 程 式 執 行 中 , 我 們 只 讓 主 機 資 訊 檔 ( registry table) 更 新 儲 存 , 其 餘 所 有 資 訊 皆 存 於 RMS-server 的 記 憶 體 中 。 這 麼 做 是 因 為 本 資 源 監 控 系 統 定 義 spec. 時 , 其 中 更 新 主 機 資 源 使 用 資 訊 須 在 60 秒 內 。 為 了 達 成 目 標 , 在 資 料 儲 存 時,要 儘 量 避 免 開 關 檔 的 動 作。如 此 一 來,即 使 RMS-client 數 量 愈 來 愈 多 , 也 不 會 使 儲 存 設 備 的 loading 增 加 , 導 致 執 行 速 度 降 低。另 外,目 前 傳 遞 資 訊 以 SNMP 或 socket 方 式 為 主,經 過 測 試 , 在 安 裝 SNMP package 之 後 , 有 些 作 業 系 統 會 有 問 題 , 甚 至 造 成 無 法 正 常 開 機 , 所 以 我 們 採 用 socket 方 式 [11]來 傳 遞 資 訊 。 圖 3.3 資 源 監 控 系 統 程 式 結 構 圖
3.3 使 用 者 介 面
為 了 簡 化 end-user 使 用 上 的 複 雜 度 , 達 到 容 易 掌 控 所 有 主 機 系 統 資 源 狀 態,操 作 介 面 的 設 計 上 尤 為 重 要。我 們 的 工 具 介 面 具 有 下 述 特 點 1. 提 供 一 個 友 善 的 管 理 介 面 , 讓 使 用 者 一 目 瞭 然 , 容 易 上 手 。 2. 盡 量 減 少 或 消 除 一 些 重 複 的 步 驟 , 以 簡 化 管 理 。 3. 讓 管 理 介 面 具 彈 性 能 力 , 可 依 個 人 喜 好 調 整 及 設 定 顯 示 結 果 。 4. 管 理 系 統 可 隨 時 使 用 , 並 可 長 時 間 提 供 服 務 , 不 需 另 花 時 間 管 理 。 這 個 工 具 介 面 由 一 個 二 維 的 目 錄 ( 群 組 , 工 具 ) 來 決 定 要 顯 示 的 訊 息 。在 群 組 這 一 部 分 , 它 包 含 六 個 群 組( dms、 down、 mis、 queue、 rd、 reserve), 每 一 個 主 群 組 會 包 括 一 系 列 基 本 次 群 組 , 依 作 業 系 統 種 類 ( Solaris、 HP、 redhat) 及 memory 大 小 ( 24G 以 下 、 32G、 64G 以 上 ) 來 區 分 。
而 工 具 方 面,本 系 統 包 括 一 組 各 自 獨 立 的 工 具( 訊 息 欄、現 在 時 間 、 View、 adminfo、 refer、 reload、 資 訊 更 新 倒 數 時 間 、 Exit)。
我 們 在 螢 幕 顯 示 的 訊 息 如 圖 3.4 所 示
圖 3.4 資 源 監 控 系 統 管 理 介 面 圖
1. 工 具 區 : 置 於 第 一 列 , 提 供 一 些 資 訊 及 設 定 , 總 共 八 個 項 目 , 說 明 如 下 :
( 1) 訊 息 欄 : 當 游 標 點 選 群 組 或 移 至 主 機 狀 態 欄 之 欄 頭 時 , 會 顯 示 簡 短 提 示 。
( 2) 現 在 時 間 。
( 3) View: 可 設 定 主 機 的 哪 些 資 訊 要 顯 示 , 目 前 default顯 示 6個 欄 位 值 , 包 含 主 機 名 稱 、 各 CPU使 用 狀 態 、 目 前 使 用 者 人 數 、 每 5, 10, 15分 鐘 之 load average值 、 memory之 使 用 狀 態 ( used/available)、 保 留 主 機 給 計 劃 使 用 ( project name/deadline)。
( 4) adminfo: 顯 示 各 project的 開 始 日 期 及 結 束 日 期 。
( 5) refer: 包 含 四 項 , 第 一 項 為 linux作 業 系 統 版 本 及 EDA軟 體 之 間 , 搭 配 的 測 試 結 果 , 第 二 項 為 linux作 業 系 統 版 本 及 公 司 開 發 的 應 用 程 式 , 其 搭 配 的 測 試 結 果 , 第 三 項 為 本 系 統 功 能 及 操 作 說 明 , 第 四 項 為 mark的 簡 寫 符 號 說 明 。 ( 6) reload: 立 即 更 新 主 機 狀 態 資 訊 。 ( 7) 資 訊 更 新 倒 數 時 間 : 資 源 監 控 系 統 每 60秒 鐘 主 動 更 新 資 訊 一 次 , 這 裡 顯 示 更 新 資 訊 之 倒 數 秒 數 。 ( 8) exit: 離 開 程 式 。 2. 群 組 區 : 置 於 左 邊 的 方 塊 ( 欄 ) 中 。 我 們 資 源 監 控 系 統 有 主 群 組 及 次 群 組 , 以 所 有 主 機 功 能 及 規 格 來 分 類 。 分 類 如 下 ( 1) 主 群 組 : 以 功 能 性 分 組 , 可 分 為 ① dms: 給 非 RD人 員 使 用 , 例 如 layout人 員 。 ② down: 已 當 機 或 無 法 提 供 服 務 的 主 機 。
③ mis: 給 mis人 員 使 用 , 可 benchmark主 機 或 提 供 某 些 專 門 服 務 。
④ queue: 專 門 跑 load sharing的 主 機 , 例 如 LSF或 SGE。 ⑤ rd: 給 rd人 員 使 用 。
⑥ reserve: 保 留 給 特 殊 需 求 的 人 員 使 用 , 例 如 趕 tape-out。 ( 2) 次 群 組 : 以 作 業 系 統 、 Memory或 特 殊 用 途 來 分 類 , 可 分 為
① 作 業 系 統 : HP、 Solaris、 Linux( redhat)。 ② memory: 24GB以 下 、 32GB、 64GB及 以 上 。 ③ 特 殊 用 途 : 專 門 給 某 一 個 project或 提 供 某 種 服 務 之 用 , 例 如 版 本 控 制 服 務 。 當 主 群 組 被 點 到 之 後 , 其 次 群 組 即 被 展 開 , 如 圖 3.3所 示 , dms 被 點 開 之 後 , 其 內 部 8個 次 群 組 顯 示 出 來 。 當 使 用 者 點 到 一 次 群 組 時 , 該 次 群 組 的 label就 變 成 黃 色 , 同 時 右 邊 主 機 狀 態 區 方 塊 會 顯
示 此 次 群 組 的 訊 息 。 3. 主 機 狀 態 區 : 右 邊 的 方 塊 ( 紅 色 線 包 圍 ) 區 , 顯 示 根 據 view 選 擇 的 主 機 資 源 使 用 狀 態 。 圖 3.4 的 例 子 是 我 們 在 view 設 定 的 default 選 項 。 本 區 第 一 列 主 要 顯 示 資 訊 的 名 稱。圖 3.4 顯 示( HOST、CPU、USERS、LOAD AVERAGE、 MEM、 RESERVE), 而 第 二 列 以 後 , 則 依 欄 位 顯 示 在 該 次 群 組 之 各 主 機 的 狀 態 值 。 這 個 顯 示 資 訊 有 三 個 較 特 別 的 地 方 ( 1) 為 了 方 便 使 用 者 尋 找 想 要 的 主 機,我 們 提 供 了 讓 所 有 欄 位 都 可 進 行 排 序 的 功 能 。 其 模 式 如 下 , 在 第 一 列 的 欄 位 點 選 時 , 資 源 監 控 系 統 將 以 此 欄 位 為 第 一 key 值,而 以 上 次 所 選 的 欄 位 為 第 二 key 值 進 行 排 序,重 複 點 選 時,則 反 覆 進 行 升 /降 冪 的 排 序 。 ( 2) 在 使 用 者 找 到 可 用 主 機 後,為 簡 化 使 用 者 的 操 作 程 序,有 提 供 自 動 連 線 功 能 ; 亦 即 在 資 源 監 控 系 統 HOST 欄 位 中 , 使 用 者 點 選 欄 位 下 方 之 主 機 名 稱 後 , 可 連 線 至 此 該 主 機 並 開 啟 xterm, 即 可 開 始 作 業 。
( 3) 因 現 在 主 機 的 CPU 顆 數 不 一,由 1 顆 CPU 到 8 顆 CPU 皆 有,為 了 讓 顯 示 畫 面 不 會 因 CPU 欄 位 顯 示 過 寬 或 過 長,使 用 者 在 第 一 列 的 CPU 欄 位 點 選 “ 滑 鼠 右 鍵〝 時,螢 幕 會 出 現 一 小 視 窗 以 調 整 要 顯 示 之 CPU 列 數,亦 即 多 少 顆 為 一 列 顯 示,超 過 則 為 下 一 列 。 因 此 , 資 源 監 控 系 統 操 作 介 面 非 常 直 覺 , 容 易 使 用 , 即 使 是 新 手 也 沒 有 適 應 問 題 , 另 外 , 我 們 還 提 供 help 功 能 , 裡 面 有 更 詳 細 的 使 用 說 明 給 使 用 者 。
3.4 資 源 監 控 系 統 設 計 方 式
為 了 讓 資 源 監 控 系 統 能 從 所 有 主 機 上 收 集 資 訊 , 並 將 這 些 資 訊 傳 遞 給 使 用 者 , 我 們 根 據( server/client/user)分 別 設 定 了 其 相 對 應 的 角 色 來 負 責 各 自 對 應 的 任 務 , 下 面 依 序 說 明 其 功 能 1. RMS-Server: 此 主 機 會 執 行 三 支 獨 立 運 作 的 程 式 ( 1) RMS-Server Process:在 資 源 監 控 系 統 開 始 時 , 先 執 行 RMS-Server Process, 此 process 會 呼 叫 另 外 二 支 process( Client_Invoke Process 和 Registry_Update Process), 並 且 負 責 功 能 有 二 ① 接 收 RMS-Client所 傳 來 的 現 在 主 機 資 源 使 用 資 訊 。 ② 若 有 RMS-User 發 出 需 求 , 則 此 process 會 把 所 有 主 機 資 源 使 用 資 訊 傳 給 RMS-User, 如 圖 3.5 和 3.6 所 示 。 ( 2) Client_Invoke process: Client_Invoke Process 被 啟 動 後 , 負 責 的 功 能 有 二 ① 會 根 據 主 機 資 訊 檔 ( Registry Table) 的 資 料 , 在 設 定 的 所 有 主 機 上 啟 動 RMS-Client Process。 ② 定 時 向 RMS-Server 要 現 在 正 常 的 主 機 資 源 使 用 資 訊 , 並 比 對 主 機 資 訊 檔 的 所 有 主 機,以 找 出 哪 些 主 機 未 啟 動 RMS-Client Process, 並 將 它 重 啟 。 ( 3) Registry_Update Process: Registry_Update Process 被 啟 動 後 , 負 責 定 時 檢 查 主 機 資 訊 檔 ( Registry Table) 是 否 有 更 新 , 若 有 新 增 主 機 , 則 會 半 自 動 抓 取 新 主 機 之 Hardware Spec., 並 更 新 至 主 機 資 訊 檔 。 圖 3.5 資 源 監 控 系 統 執 行 流 程 圖 1
圖 3.6 資 源 監 控 系 統 執 行 流 程 圖 2 2. RMS-Client
RMS-Client Process 在 被 Client_Invoke Process 喚 起 後 , 主 要 負 責 定 時 將 該 主 機 的 資 源 使 用 狀 態 回 報 給 RMS-Server,所 以 每 一 台 主 機 都 會 有 這 樣 一 支 固 定 的 RMS-Client Process 來 負 責 此 事 , 換 句 話 說 , 所 有 的 主 機 皆 為 RMS-Client。
3. RMS-User
基 本 上 , 所 有 主 機 皆 為 RMS-Client, 而 有 使 用 者 在 某 一 主 機 上 執 行 Resource Indicator Program( RIP) 時 , 則 該 執 行 主 機 則 稱 為 RMS-User。其 負 責 的 功 能 是 將 最 新 的 主 機 資 源 使 用 狀 態,依 使 用 者 的 設 定 , 呈 現 於 管 理 介 面 上 ; 並 定 時 向 RMS-Server 要 求 最 新 的 資 源 使 用 資 訊 , 更 新 於 它 的 使 用 者 畫 面 上 , 如 圖 3.4。
3.5 程 式 流 程 圖
1. RMS-Server 將 包 含 三 支 process,( 1) RMS-Server Process ( 2) Registry_Update Process ( 3) Client_Invoke Process, 而 要 啟 動 整 個 資 源 監 控 系 統 的 源 頭 RMS-Server Process, 我 們 在 RMS-Server 主 機 上 設 定 一 個 cron job, 並 且 每 5 分 鐘 執 行 一 次 RMS-Server Process, 以 下 依 序 說 明 其 流 程 圖
( 1) RMS-Server Process 流 程 圖:負 責 處 理 RMS-Client / RMS-User 的 需 求
圖 3.7 RMS-Server Process 流 程 圖
( 2) Registry_Update Process 流 程 圖 : 負 責 抓 取 新 增 主 機 之 H/W Spec.
( 3) Client_Invoke Process 流 程 圖 : 負 責 喚 起 RMS-Client Process
圖 3.9 Client_Invoke Process 流 程 圖
2. RMS-Client 只 有 一 支 RMS-Client Process, 主 要 負 責 把 主 機 資 源 使 用 狀 態 定 時 回 報 給 RMS-Server, 其 流 程 圖 如 下
3. RMS-User 則 有 一 支 Resource_Indicator Program( RIP), 功 能 為 以 GUI 或 command-line mode 方 式 , 將 資 訊 呈 現 給 使 用 者 , 其 流 程 圖 如 下 : 其 中 以 引 數 來 判 斷 的 呈 現 方 式 是 以 command-line mode 或 是 GUI 方 式
第 四 章 、 實 作
4.1 開 發 環 境 需 求
1. 作 業 系 統 : CentOS 4.7 2. 軟 體 : perl 5.8.8 3. 安 裝 工 具 : Tk-804.028 Tk-MK-0.17 rxvt-2.6.44.2 實 作 結 果
根 據 第 三 章 所 定 義 的 規 格 , 我 們 成 功 實 作 出 本 資 源 監 控 系 統 , RMS-Server 啟 動 Registry_Update Process 及 Client_InvokeProcess, 並 處 理 RMS-Client 和 RMS-User 的 需 求 ; RMS-Client 則 把 主 機 現 在 的 資 源 使 用 狀 態 , 定 時 回 報 給 RMS-Server; 最 後 , RMS-User 則 可 執 行 Resource Indicator Program( RIP) 來 檢 視 所 有 主 機 的 資 源 使 用 狀 態 ; 定 義 的 各 角 色 都 按 照 其 所 設 定 的 功 能 來 運 作 。
1. 群 組 區
資 源 監 控 系 統 群 組 區 包 含 主 群 組 及 次 群 組,主 群 組 以 功 能 性 來 分 組 , 分 別 為 dms、 down、 mis、 queue、 rd、 reserve 等 ; 次 群 組 以 作 業 系 統 、 Memory( 24GB 以 下 、 32GB、 64GB 及 以 上 ) 或 特 殊 用 途 來 分 類 , 結 果 如 圖 4.1 所 示
圖 4.1 資 源 監 控 系 統 群 組 圖 2. 工 具 區 ( 1) View 功 能 如 圖 4.2 上 方 黃 色 區 塊 所 示,點 選 此「 View」按 鈕 可 設 定「 主 機 狀 態 區 」 的 欄 位 , 當 按 下 ( 選 上 )「 View」 按 鈕 時 , 其 設 定 視 窗 如 圖 4.3 所 示 , 左 邊 藍 色 區 域 為 所 有 可 顯 示 的 項 目 , 右 邊 紅 色 區 域 則 是 已 選 定 的 項 目 , 並 且 可 調 整 顯 示 的 順 序 。 以 圖 4.3 為 例 , 其 結 果 如 圖 4.2。 圖 4.2 資 源 監 控 系 統 工 具 區 圖
圖 4.3 資 源 監 控 系 統 View 設 定 圖 ( 2) adminfo 功 能
應 end-user 的 要 求 , 我 們 提 供 adminfo 功 能 。 如 圖 4.2 之 綠 色 區 塊 所 示 之「 adminfo」按 鈕,當 end-user 按 下「 adminfo」 按 鈕 時 , 此 功 能 可 顯 示 現 在 執 行 中 的 計 劃 有 哪 些 , 其 開 始 和 結 束 的 日 期 等 , 如 圖 4.4 所 示 圖 4.4 資 源 監 控 系 統 adminfo 功 能 圖 ( 3) refer 功 能 如 圖 4.2 紅 色 區 塊 所 示 之 「 refer」 按 鈕 , 當 按 下 「 refer」 按 鈕 之 後 , 會 出 現 四 個 選 項 , 第 一 項 為 linux 作 業 系 統 版 本 及 EDA 軟 體 間 , 搭 配 的 測 試 結 果 , 如 圖 4.5, 第 二 項 為 linux 作 業 系 統 版 本 及 公 司 開 發 的 應 用 程 式 , 其 搭 配 的 測 試 結 果 , 如 圖 4.6,第 三 項 為 本 系 統 功 能 及 操 作 說 明,如 圖 4.7,第 四 項 為 mark 的 簡 寫 符 號 說 明 , 如 圖 4.8。 其 中 第 一 、 二 項 對 end-user 來 說 最 為 重 要 , 因 作 業 環 境 中 有 許 多 種 的 O.S,而 執 行 的 EDA 工 具 不 但 種 類 繁 多,而 且 時 常 更
新 , 故 有 許 多 種 版 本 , 所 以 O.S 和 EDA 的 搭 配 很 重 要 , 若 版 本 不 符 合 , 可 能 執 行 失 敗 , 徒 然 浪 費 開 發 時 間 。
圖 4.5 OS 及 EDA 測 試 結 果 圖
圖 4.6 OS 及 Utility 測 試 結 果 圖
圖 4.8 資 源 監 控 系 統 mark 說 明 圖 ( 4) 即 時 和 定 時 更 新 如 圖 4.2 藍 色 區 域 所 示,資 源 監 控 系 統 提 供 即 時 和 定 時 的 資 訊 更 新 , 左 邊 的 「 reload」 鈕 為 即 時 更 新 , 點 選 時 , 資 源 監 控 系 統 會 立 即 和 RMS-Server 要 最 新 的 主 機 資 源 使 用 資 訊,並 顯 示 於 螢 幕 上 , 而 右 邊 的 秒 數 倒 數 顯 示 , 則 為 定 時 更 新 , 資 源 監 控 系 統 會 定 時 每 60 秒 更 新 一 次 。 3. 主 機 狀 態 區 ( 1) 排 序 功 能 如 圖 4.9 藍 色 區 域 所 示 , 當 end-user 點 選 此 區 域 任 一 欄 頭 時,則 會 依 所 選 擇 的 欄 位 為 key 值,進 行 排 序;若 重 覆 點 選 時 , 則 反 覆 進 行 升 /降 冪 排 序 。 圖 4.9 資 源 監 控 系 統 主 機 狀 態 區 圖
( 2) CPU 顆 數 顯 示 設 定 如 圖 4.9 紅 色 區 域 所 示 , 當 end-user 在 CPU 欄 頭 按 滑 鼠 右 鍵 時 , 其 設 定 視 窗 如 圖 4.10, 此 功 能 可 依 個 人 喜 好 設 定 每 列 要 顯 示 的 CPU 顆 數 , 以 避 免 畫 面 顯 示 過 寬 或 過 長 。 圖 4.10 資 源 監 控 系 統 CPU 顆 數 設 定 圖 ( 3) 自 動 登 入 並 開 啟 視 窗 如 圖 4.9 綠 色 區 域 所 示,當 end-user 在 選 定 的「 主 機 名 稱 」 點 選 時 ,可 連 至 該 主 機 並 開 啟 xtem 視 窗 來 進 行 作 業,此 功 能 為 簡 化 使 用 者 操 作 程 序 。
4.3 資 源 監 控 系 統 的 品 質
1. Usability 一 般 而 言 usability 是 根 據 end-user 的 使 用 經 驗 來 決 定 好 壞 。 這 裡 我 們 根 據 1) Easy learning 2) Memorability 3) level of automations 來 說 明 本 系 統 較 高 的 usability。 ( 1) Easy learning 本 資 源 監 控 系 統 非 常 直 覺 且 友 善 的,所 以 不 需 要 特 別 經 過 訓 練 , 也 不 需 要 非 常 有 經 驗 的 使 用 者 才 可 執 行 , 即 使 是 新 手 , 從 未 使 用 過 類 似 的 軟 體 , 也 能 立 即 上 手 。 另 外 , 資 源 監 控 系 統 還 提 供 help 使 用 說 明 , 若 要 詳 細 了 解 所 有 功 能 則 可 點 選 此 鈕 , 從 開 始 到 完 全 了 解 本 系 統 , 只 需 五 分 鐘 即 可 。 ( 2) Memorability 因 使 用 者 需 掌 握 所 有 主 機 狀 態,以 方 便 作 業,在 執 行 此 資 源 監 控 系 統 時 , 只 需 一 個 指 令 , 操 作 簡 單 , 容 易 記 , 重 複 使 用 率 非 常 高 , 不 需 重 新 學 習 ; 使 用 此 資 源 監 控 系 統 的 end-user, 習慣 固 定 開 啟 它 , 並 放 置 桌 面 , 不 再 關 閉 。 (3)level of automations 在 system administrator 方 面 , 此 資 源 監 控 系 統 只 需 執 行 一 個 指 令 即 可 啟 動 , 之 後 便 可 提 供 服 務 , 完 全 自 動 化 收 集 並 更 新 資 訊 。 而 在 新 增 主 機 時 , 也 只 需 提 供 基 本 名 稱 及 群 組 設 定 , 即 可 自 動 抓 取 其 它 資 訊 , 管 理 上 非 常 方 便 。 在 end-user 方 面 , 只 需 一 個 指 令 即 可 開 啟 , 主 機 資 訊 將 會 自 動 更 新 , 完 全 自 動 化 , 除 了 在 設 定 個 人 喜 好 外 , 其 餘 均 不 需 動 手 , 操 作 上 非 常 簡 單 , 不 需 進 行 教 育 訓 練 。 2. 容 錯 此 項 功 能 在 系 統 遇 到 非 預 期 中 執 行 失 敗 的 時 候 , 能 儘 快 的 或 不 中 斷 的 回 復 並 提 供 服 務 , 以 下 將 對 錯 誤 回 復 能 力 加 以 說 明 ( 1) RMS-Server 為 避 免 此 程 式 被 誤 砍 而 沒 有 提 供 服 務 , 故 在 RMS-Server 的 主 機 上 , 會 設 定 一 個 cron job, 此 job 每 五 分 鐘 會 執 行 一 次 RMS-Server 的 程 式,而 執 行 此 程 式 時,會 先 檢 查 是 否 重 複 執 行, 若 未 執 行 , 則 會 啟 動 它 , 反 之 , 則 跳 過 。
( 2) RMS-Client
在 RMS-Client 檢 查 方 面 , 則 由 Client_Invoke Process 來 負 責 檢 查 RMS-Client Process 是 否 已 執 行 ; 而 Client_Invoke Process 在 RMS-Server Process 啟 動 時 , 便 立 即 被 喚 起 , 以 專 門 檢 查 所 有 RMS-Client 的 process 是 否 已 執 行,它 每 五 分 鐘 執 行 一 次 檢 查 , 因 此 , 若 RMS-Client 的 process 被 誤 砍 , 它 會 invoke RMS-Client 的 process。
( 3) RMS-User RMS-User 有 一 支 獨 立 的 應 用 程 式 ( RIP), 功 能 主 要 為 監 控 所 有 主 機 的 資 源 使 用 狀 態 , 若 程 式 呈 僵 屍 狀 態 , 並 不 影 響 他 人 或 整 個 資 源 監 控 系 統 的 運 作 , 只 需 重 新 下 個 指 令 再 開 啟 即 可 , 而 新 開 啟 的 程 式 一 開 始 便 會 檢 查 舊 有 程 式 是 否 存 在 , 若 有 , 則 會 一 併 刪 除 , 避 免 多 重 開 啟 程 式 。 ( 4) dead lock
在 資 源 監 控 系 統 所 用 到 的 資 源 方 面,共 用 的 資 源 只 有 儲 存 設 備 ; 因 原 先 在 設 計 時 , 就 刻 意 避 免 開 關 檔 的 動 作 , 只 有 主 機 資 訊 檔 需 要 儲 存 , 而 此 部 分 也 只 有 RMS-Server會 用 到 , 所 以 並 無 資 源 搶 占 情 形 , 也 不 會 有 dead lock現 象 。 ( 5) 當 機 資 源 監 控 系 統 在 運 作 時 , 會 執 行 一 些 程 式 ( 例 RMS-Server Process、 RMS-Client Process、 Client_Invoke Process、 Registry_Update Process… 等 ), 而 這 些 process都 有 各 自 的 檢 查 機 制,若 程 式 被 誤 砍,會 自 動 重 啟,所 以 不 會 影 響 程 式 運 作 。 此 外,這 些 程 式 執 行 時 所 需 的 memory很 小,不 會 隨 時 間 而 增 加 memory使 用 量 , 可 長 時 間 服 務 。 因 係 獨 立 系 統 , 所 以 不 會 妨 礙 機 器 正 常 運 作 。 而 在 停 機 維 護 過 後 , 重 新 啟 動 資 源 監 控 系 統 時 , 也 非 常 簡 單 , 只 需 執 行 一 個 指 令 即 可 恢 復 。 3. Efficiency 一 個 系 統 的 efficiency 評 估 應 該 含 有 時 間 和 空 間,亦 即 包 含 系 統 執 行 速 度 和 使 用 的 空 間 , 以 下 依 序 說 明 ( 1) processing time 執 行 時 間 主 要 dependent on 主 機 速 度 , 經 過 測 試 , 在 第 一 次 開 啟 資 源 監 控 系 統 時,在 約 200 台 linux 主 機 上,CPU 速 度 在 2~3GHz 的 測 試 結 果 , 約 花 1.8 秒 的 時 間 。 而 在 以 後 的 定 時 資 訊 更 新 時 間 裡 , 處 理 的 時 間 更 少 , 約 花 0.5 秒 即 可 , 主 要 在 資 訊 傳 遞 及 圖 形 重 繪 , 其 CPU loading 非 常 輕 , 故 整 體 執 行 效 能 非 常 好 。 ( 2) Space 對 於 本 資 源 監 控 系 統 的 空 間 需 求 說 明 如 下 ① 資 源 監 控 系 統 程 式 本 資 源 監 控 系 統 的 所 有 程 式 及 相 關 設 定 檔 其 佔 用 的 空 間 在 1MB 內 , 只 要 設 定 auto-mount, 讓 所 有 主 機 皆 能 讀 取 執 行 此 程 式 即 可 。 ② log 儲 存 因 採 用 socket 的 方 式 , 讓 資 源 監 控 系 統 不 存 放 任 何 log, 所 有 資 訊 均 儲 存 於 記 憶 體 , 所 以 不 需 硬 體 儲 存 空 間 ,
而 執 行 時 所 需 的 memory, 也 只 有 幾 mb 而 已 。 4. Reusability 對 於 資 源 監 控 系 統 的 resuability 包 含 以 下 說 明 ( 1) Portability 資 源 監 控 系 統 非 常 容 易 移 植,只 需 將 系 統 相 關 程 式 複 製 到 新 Unix/Linux 系 統 上 , 並 設 定 主 機 資 訊 檔 及 主 機 間 的 執 行 權 限 , 即 可 開 始 運 作 , 因 資 源 監 控 系 統 與 其 它 程 式 間 並 無 相 依 性 問 題 , 可 避 免 程 式 相 互 干 擾 , 所 以 方 便 管 理 及 維 護 。 ( 2) Compatibility 資 源 監 控 系 統 可 安 裝 在 任 何 SUN、 HP、 Linux 主 機 上 , 相 容 性 高,但 並 不 適 用 於 windows、MacOs 等 其 它 作 業 系 統。使 用 上 , 建 議 SUN 使 用 solaris 5.8 以 上,HP 則 為 11.x 以 上,而 Linux 則 使 用 kernel 2.6 以 上 較 佳 。 ( 3) Extensibility 因 本 資 源 監 控 系 統 之 程 式 主 體 架 構 明 確 , 程 式 內 容 均 模 組 化,並 且 精 簡。若 欲 新 增 功 能,或 者 修 改 使 用 介 面 都 非 常 容 易 , 具 彈 性 , 本 資 源 監 控 系 統 維 護 上 不 複 雜 , 即 使 交 由 其 它 管 理 者 維 護 也 不 困 難 。
第 五 章 、 結 論 及 未 來 方 向
5.1 結 論
在 本 文 中 , 我 們 已 詳 細 說 明 並 且 圖 示 此 資 源 監 控 系 統 的 設 計 架 構 及 運 作 方 法 , 透 過 角 色 的 定 義 , 讓 各 個 process 負 責 各 自 的 功 能 ,來 掌 控 所 有 運 算 系 統 的 資 源 ,再 把 資 訊 提 供 給 使 用 者 。 依 照 規 格 定 義 ,我 們 實 作 出 一 功 能 良 好 , 且 效 能 佳 的 資 源 監 控 系 統 , RMS-Client 可 定 時 的 回 報 主 機 資 源 使 用 狀 態 給 RMS-Server, 而 良 好 的 使 用 者 介 面 , 可 定 時 /即 時 地 從 RMS-Server 取 得 所 有 主 機 資 源 使 用 狀 態 , 讓 即 使 是 職 場 新 手 也 能 快 速 上 手 , 一 覽 無 遺 的 掌 控 所 有 資 源 , 也 可 根 據 工 作 所 需 , 快 速 的 找 到 可 利 用 的 主 機 來 作 業 , 善 用 主 機 資 源 , 使 用 上 沒 有 限 制 。 在 本 次 實 作 中 , 為 了 讓 所 有 end-user 都 能 使 用 本 系 統 , 我 們 也 和 各 方 面 的 使 用 者 進 行 討 論 , 包 含 designer、 layout 人 員 和 其 它 使 用 人 員 ( 如 mis、 客 戶 ), 功 能 上 盡 可 能 達 到 各 方 所 需 , 故 群 組 的 規 劃 和 資 訊 結 果 的 呈 現 等 , 都 是 討 論 後 所 得 的 結 果 , 所 以 , 在 系 統 完 成 上 線 後 , 確 實 解 決 使 用 者 尋 找 主 機 的 問 題,提 昇 主 機 使 用 率,最 終 得 到 大 家 的 認 同 及 贊 賞 。此 系 統 為 獨 立 運 作,若 再 搭 配 原 有 之 LSF 或 SUN Grid Engine 系 統 , 不 但 不 會 浪 費 之 前 的 建 置 費 用,還 可 讓 主 機 使 用 率 提 昇,達 到 互 補 的 作 用 。
5.2 未 來 方 向
目 前 提 供 的 資 源 監 控 系 統 可 清 楚 顯 示 所 有 主 機 的 資 源 使 用 狀 態 , 有 效 地 提 昇 主 機 的 使 用 率,但 隨 著 時 間 的 過 去,作 業 環 境 及 使 用 習 慣 的 改 變 , 有 以 下 五 點 可 進 行 改 善 , 使 用 介 面 更 為 友 善 1. 使 用 multicast 方 法 當 初 在 設 計 建 置 初 期,考 慮 當 時 的 使 用 者 習 慣,因 SUN 工 作 站 性 能 較 穩 定 , 大 部 分 使 用 者 只 在 SUN 主 機 登 入 , 故 會 在 此 主 機 上 執 行 此 資 源 監 控 系 統 , 而 其 它 主 機 執 行 的 可 能 性 及 次 數 較 少 , 因 此 資 源 監 控 系 統 採 用 socket 方 式 來 做 資 訊 的 交 換;但 時 過 境 遷,隨 著 Linux 系 統 的 速 度 及 穩 定 性 大 幅 增 加 , 及 資 源 監 控 系 統 的 大 量 使 用 , 現 在主 機 loading 已 大 為 分 散 了 , 使 用 者 也 不 在 侷 限 在 某 些 特 定 系 統 上 登 入 , 所 以 期 望 在 下 一 版 的 管 理 系 統 可 改 用 multicast 的 方 式 來 改 進 , 可 提 高 效 能 。
2. 使 用 流 量 分 析 工 具
可 考 量 系 統 可 搭 配 流 量 分 析 工 具 , 如 : MRTG, 來 觀 看 所 有 主 機 之 CPU、 Memory 的 歷 史 使 用 狀 態 , 由 此 可 分 析 主 機 使 用 的 loading, 進 而 評 估 因 業 務 成 長 , 主 機 資 源 何 時 進 入 高 峰 期 , 以 便 事 前 添 購 運 算 主 機 或 memory 較 大 的 主 機。然 而,要 注 意 的 是,因 需 記 錄 log 資 訊 , 會 產 生 開 關 檔 的 動 作 , 更 可 能 大 幅 度 的 拖 慢 執 行 速 度 , 若 再 加 上 設 計 方 法 不 良 , 甚 至 可 能 會 來 不 及 在 60 秒 內 更 新 的 情 況 發 生 , 且 log 資 訊 會 愈 來 愈 多 , 則 會 影 響 現 有 執 行 效 率 及 使 用 空 間 , 故 需 加 以 評 估 。 3. 新 增 filter 功 能 目 前 此 資 源 監 控 系 統 已 有 排 序 功 能 , 但 可 再 新 增 filter 功 能 , 讓 使 用 者 可 針 對 想 要 的 條 件 來 尋 找 主 機 , 例 如 查 詢 CPU 速 度 在 多 少 Hz 以 上 ? Memory 在 多 少 GB 以 上 ? kernel 的 版 本 多 少 ? 要 執 行 某 個 EDA tool 時 , 建 議 的 主 機 有 哪 些 ? 等 諸 如 此 類 條 件 的 設 定 , 以 快 速 尋 找 符 合 條 件 之 主 機 。 4. Failover 功 能 雖 然 此 資 源 監 控 系 統 在 migration 時,設 定 相 當 容 易,但 仍 不 俱 有 failover 功 能 , 未 來 可 新 增 failover 功 能 , 讓 資 源 監 控 系 統 在 server 有 問 題 時 , 可 自 動 的 尋 找 適 當 的 主 機 來 接 手 , 以 正 常 提 供 服 務 , 讓 自 動 化 更 為 完 善 。 5. 其 它 程 式 語 言 設 計
目 前 資 源 監 控 系 統 採 用 perl 來 撰 寫 , 未 來 可 考 慮 以 Java、 web 或 flash 方 式 來 設 計 , 讓 使 用 者 介 面 更 方 便 使 用 , 唯 要 評 估 其 執 行 效 能 是 否 符 合 預 期 。
參 考 文 獻
1. NetApplications inc., 〝 Top Operating System Share Trend, 〝 NetApplications, Market Share Report, August 2009.
2. M.J. Litzkow, M. Livny and M. W. Mutka, “Codor – A Hunter of Idle
Machines,〝 in proceedings of 8th International Conference on Distributed
Computing Systems, pp. 104-111, 1988.
3. Dave Field, Deron Johnson, Don Mize, Robert Stober, “Scheduling to
Overcome the Multi-Core Memory Bandwidth Bottleneck,〝 HP & Platform
Whitepaper, November 2007.
4. Yongwei Wu, Yulai Yuan, Guangwen Yang, Weimin Zheng, “Load predic tion using hybrid model for computational grid,〝 Proceedings of the 8th
IEEE/ACM International Conference on Grid Computing, September 2007.
5. Kinshuk Govil, Dan Teodosiu, Yongqiang Huang, Mendel Rosenblum, “Cellular disco: resource management using virtual clusters on
shared-memory multiprocessors,〝 Transactions on Computer Systems
(TOCS) , Volume 18 Issue 3, August 2000.
6. Matthieu Lemerre, Vincent David, Guy Vidal-Naquet, “A communication mechanism for resource isolation,〝 Proceedings of the Second Workshop on
Isolation and Integration in Embedded Systems, March 2009.
7. Umit Rencuzogullari, Sandhya Dwardadas, “Dynamic adaptation to available resources for parallel computing in an autonomous network of workstations,〝 Proceedings of the eighth ACM SIGPLAN symposium on
Principles and practices of parallel programming, July 2001.
8. Eitan Frachtenberg, Fabrizio Petrini, Juan Fernandez, Scott Pakin, Salvador Coll, “STORM: lightning-fast resource management,〝 Proceedings of the
2002 ACM/IEEE conference on Supercomputing, November 2002.
9. Aravind Menon, Jose Renato Santos, Yoshio Turner, G. (John) Janakiraman, Willy Zwaenepoel, “Diagnosing performance overheads in the xen virtual machine environment,〝 Proceedings of the 1st ACM/USENIX international
conference on Virtual execution environments, June 2005.
10. Timothy Wood, Ludmila Cherkasova, Kivanc Ozonat, Prashant Shenoy, “Profiling and modeling resource usage of virtualized applications,
〝 Proceedings of the 9th ACM/IFIP/USENIX International Conference on
Middleware, December 2008.
11. Hideki Eiraku, Yasushi Shinjo, Calton Pu, Younggyun Koh, Kazuhi ko Kat o, “Fast networking with socket-outsourcing in hosted virtual machine
environments,〝 Proceedings of the 2009 ACM symposium on Applied
12. Fernando Rodríguez, Felix Freitag, Leandro Navarro, “On the use of intelligent local resource management for improved virtualized resource provision: challenges, required features, and an approach,〝 Proceedings of
the 2nd workshop on System-level virtualization for high performance computing, March 2008.
13. Alexandru V Staicu, Jacek R. Radzikowski, and Nguyen Nguyen , Suboh A. Suboh, “CONCEPTUAL COMPARATIVE STUDY OF JOB
MANAGEMENT SYSTEMS,〝 A Report for the NSA LUCITE Task Order
Productive Use of Distributed Reconfigurable Computing, February 21,
2001.
14. Kevin J. Barker, Nikos P. Chrisochoides, “An Evaluation of a Framework for the Dynamic Load Balancing of Highly Adaptive and Irregular Parallel Applications,〝 Proceedings of the 2003 ACM/IEEE conference on
Supercomputing, November 2003.
15. Erik Putrycz, “Design and implementation of a portable and adaptable load balancing framework,〝 Proceedings of the 2003 conference of the Centre
for Advanced Studies on Collaborative research, October 2003.
16. Weiguang Shi, M. H. MacGregor, Pawel Gburzynski, “Load balancing for parallel forwarding,〝 Transactions on Networking (TON) , Volume 13
Issue 4, August 2005.
17. David R. Karger, Matt hias Ruhl, “Simple efficient load balancing
algorithms for peer-to-peer systems,〝 Proceedings of the sixteenth annual
ACM symposium on Parallelism in algorithms and architectures, June
2004.
18. Junwei Cao, “Self-Organizing Agents for Grid Load Balancing,
〝 Proceedings of the 5th IEEE/ACM International Workshop on Grid
Computing, November 2004.
19. M.H. Jansen-Vullers, M. Netjes and H.A. Reijers,“Innovation, management & strategy: Business process redesign for effective e-commerce,
〝 Proceedings of the 6th international conference on Electronic commerce, 2004.
20. ANDRZEJ CICHOCKI and MAREK RUSINKIEWICZ, “Providing
Transactional Properties for Migrating Workflows,〝 Mobile Networks and Applications, Volume 9 Issue 5, 2004.
21. Bastin Tony Roy Savarimuthu, Maryam Purvis, Martin Fleurke,
“Monitoring and controlling of a multi – agent based workflow system, 〝 Proceedings of the second workshop on Australasian information security, Data Mining and Web Intelligence, and Software
22. UNIX International Waterview Corporte Center, “Performance
management acti vities within UNIX international,〝 SIGMETRICS Performance Evaluation Review , Volume 21 Issue 2, December 1993 23. Donna Spencer, “usability & information architecture〝 , Step Two
DESIGNS, 2004/11.
24. Marc Clifton, “What Is A Framework〝 THE CODE PROJECT, Design and
Architecture, 3 Nov 2003.
25. Sun microsystems, “Grid Engine Portal,〝 Sun microsystems, Whitepaper
Grid Engine Portal, 21 Jul 2007.
26. Sun Microsystems. Sun Grid Engine. http://www.sun.com/software/sge/. 27. Platform Computing. Platform Load Sharing Facility( LSF) .