11.07.2015 Views

MapReduce 架構下的平行化局部診斷設計與模擬 - 第二十九屆組合 ...

MapReduce 架構下的平行化局部診斷設計與模擬 - 第二十九屆組合 ...

MapReduce 架構下的平行化局部診斷設計與模擬 - 第二十九屆組合 ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The 29th Workshop on Combinatorial Mathematics and Computation Theory<strong>MapReduce</strong> 架 構 下 的 平 行 化 局 部 診 斷 設 計 與 模 擬林 泰 毅 賴 寶 蓮 許 弘 駿國 立 東 華 大 學 資 訊 工 程 系 國 立 東 華 大 學 資 訊 工 程 系 慈 濟 大 學 醫 學 資 訊 系talesfan0502@gmail.com baolein@mail.ndhu.edu.tw hchsu@mail.tcu.edu.tw摘 要分 散 式 系 統 中 , 如 何 即 時 、 正 確 、 有 效 率的 診 斷 (diagnosis) 出 壞 掉 的 處 理 器 , 是 一 項 重 要議 題 。 局 部 診 斷 演 算 法 , 可 診 斷 任 意 一 點 或 一小 部 分 的 點 ( 處 理 器 ), 但 若 要 對 一 個 大 型 網 路 結構 做 全 面 性 診 斷 , 須 診 斷 的 點 數 和 輸 入 資 料 都會 非 常 龐 大 。<strong>MapReduce</strong> 是 利 於 處 理 大 規 模 資 料 的 分 散 式程 式 框 架 , 適 合 與 局 部 診 斷 演 算 法 結 合 , 而 在所 有 可 運 行 <strong>MapReduce</strong> 的 平 台 中 以 開 放 原 始 碼的 Hadoop 最 被 廣 為 研 究 , 因 此 本 論 文 基 於 局 部診 斷 演 算 法 , 設 計 2 種 在 Hadoop 平 台 上 的 症 狀平 行 模 擬 程 式 , 分 別 以 常 見 的 規 則 圖 , 如 超 立方 體 (hypercube)、 交 錯 立 方 體 (crossed Cube) 以 及雙 扭 立 方 體 (twisted Cube) 結 構 網 路 等 , 與 隨 機 簡單 圖 為 診 斷 對 象 , 我 們 提 供 在 Hadoop 平 台 上 模擬 診 斷 的 實 驗 數 據 以 呈 現 局 部 診 斷 演 算 法 的 平行 運 算 效 率 。關 鍵 字 : 分 散 式 系 統 、 局 部 診 斷 (local diagnosis)、<strong>MapReduce</strong>、 超 立 方 體 (hypercube)、 交 錯 立 方 體(crossed cube)、 雙 扭 立 方 體 (twisted cube)、 隨 機簡 單 圖一 . 簡 介由 於 高 階 伺 服 器 及 超 級 電 腦 的 造 價 昂 貴 ,許 多 大 型 運 算 紛 紛 採 用 分 散 式 系 統 進 行 運 算 ,因 為 藉 由 網 路 連 結 大 量 平 價 電 腦 的 分 散 式 系 統或 許 能 夠 以 更 少 的 成 本 達 到 相 同 的 效 益 ; 而 由多 電 腦 所 構 築 的 系 統 裡 , 無 法 保 證 所 有 電 腦 都能 正 常 運 行 , 隨 時 可 能 有 電 腦 故 障 , 因 此 如 何即 時 、 正 確 、 有 效 率 的 診 斷 出 壞 掉 的 電 腦 , 是一 項 重 要 議 題 。影 響 分 散 式 系 統 效 能 的 因 素 , 除 了 硬 體 之外 , 網 路 結 構 亦 相 對 重 要 ; 在 分 散 式 系 統 中 一台 電 腦 可 看 作 一 個 節 點 , 節 點 之 間 藉 由 網 路 進行 傳 輸 與 溝 通 , 而 以 具 有 良 好 特 性 的 圖 形 結 構作 為 分 散 式 系 統 的 基 底 , 可 使 資 料 傳 輸 (datatransmission) 、 廣 播 (broadcasting) 、 路 由 選 擇(routing) 的 成 本 降 低 , 在 進 行 壞 點 (faulty node)診 斷 時 , 可 以 簡 單 的 規 則 及 較 好 的 效 率 找 出 壞點 , 而 超 立 方 體 和 以 其 為 基 礎 所 改 良 的 一 些 圖形 , 為 較 常 被 選 用 的 分 散 式 系 統 網 路 架 構 。一 個 圖 形 若 為 t- 可 診 斷 (t-diagnosable)[9],則 在 壞 點 數 量 小 於 或 等 於 t(≤ t) 的 情 況 下 都 能 正確 診 斷 出 所 有 壞 點 , 因 此 若 要 針 對 某 個 圖 形 結構 設 計 診 斷 演 算 法 , 需 先 得 知 該 圖 形 的 整 體 可診 斷 度 (diagnosability) t 是 多 少 之 後 , 才 能 設 計演 算 法 並 判 斷 在 各 種 情 境 下 可 否 正 確 診 斷 , 目前 大 部 分 的 演 算 法 會 一 次 測 試 全 圖 以 確 認 所 有點 的 好 壞 , 但 無 法 單 就 圖 中 某 個 區 塊 或 某 個 點進 行 診 斷 ; 另 外 , 假 設 某 一 圖 形 G 可 診 斷 度 是t, 則 當 壞 點 數 量 是 t + 1 時 無 法 正 確 找 出 所 有 壞點 , 但 不 代 表 G 中 所 有 點 都 無 法 確 認 好 壞 , 假設 將 G 切 割 成 A、B 兩 個 區 塊 後 ,A 區 塊 的 可診 斷 度 是 t + 1、B 區 塊 是 t,A 區 塊 其 實 能 容 忍更 高 的 壞 點 數 , 然 而 以 圖 G 的 整 體 可 診 斷 度 來看 則 會 忽 視 A 區 塊 較 佳 的 可 診 斷 度 , 因 此 當 A和 B 兩 區 塊 的 可 診 斷 度 差 距 很 大 時 , 為 求 圖 形的 整 體 可 診 斷 度 而 忽 略 A 區 各 點 的 可 診 斷 度 ,將 造 成 A 區 可 診 斷 力 的 浪 費 。t- 局 部 可 診 斷 (local t-diagnosable) 的 概 念 [4]指 的 是 圖 中 單 一 節 點 的 可 診 斷 度 , 以 此 概 念 所設 計 的 局 部 診 斷 演 算 法 縮 小 了 診 斷 範 圍 , 能 夠針 對 單 一 點 或 者 特 定 區 域 的 點 做 診 斷 , 可 將 每個 點 的 可 診 斷 力 各 自 發 揮 到 極 限 , 診 斷 力 高 的點 不 再 受 診 斷 力 差 的 點 拘 束 。執 行 診 斷 演 算 法 的 平 台 可 以 是 單 一 電 腦 或者 分 散 式 系 統 , 亦 能 運 用 雲 端 運 算 平 台 來 處 理 ;以 效 率 來 看 , 單 一 電 腦 需 獨 力 診 斷 系 統 中 全 部節 點 , 運 算 與 資 料 皆 無 法 分 攤 , 而 分 散 式 系 統可 將 診 斷 工 作 平 均 分 配 給 各 節 點 , 再 把 所 有 節點 的 診 斷 結 果 回 收 到 一 台 電 腦 之 中 , 其 缺 點 是會 有 節 點 之 間 交 換 資 料 的 時 間 浪 費 , 且 傳 輸 資料 受 網 路 速 度 限 制 , 單 一 電 腦 沒 有 這 個 問 題 ,儘 管 如 此 , 當 診 斷 規 模 龐 大 時 , 單 一 電 腦 跟 分散 式 的 處 理 速 度 將 清 晰 可 辨 。Hadoop 是 雲 端 運算 平 台 之 一 , 基 於 分 散 式 系 統 之 上 且 是 單 主 多僕 (master - slaves) 的 架 構 , 它 擁 有 專 屬 的 分 散 式檔 案 系 統 (HDFS), 可 快 速 存 取 大 量 的 資 料 , 以及 專 屬 的 分 散 式 資 料 庫 (HBase), 它 記 錄 一 組 組的 鍵 值 組 對 (key-value pair), 去 除 了 傳 統 關 聯 式287


The 29th Workshop on Combinatorial Mathematics and Computation Theory資 料 庫 繁 雜 的 資 料 型 態 與 關 聯 性 , 還 有 提 供<strong>MapReduce</strong> API, 它 擁 有 許 多 切 割 資 料 與 分 割 運算 的 方 法 , 開 發 者 不 需 要 再 耗 費 太 多 時 間 於 工作 分 割 的 程 式 設 計 , 目 前 已 有 許 多 問 題 被 以<strong>MapReduce</strong> 方 式 來 實 作 [7][11][13];Hadoop 因開 放 原 始 碼 的 緣 故 , 至 今 已 被 廣 泛 研 究 與 討 論 ,所 以 已 擁 有 很 多 相 關 研 究 資 源 可 供 使 用 , 因 此相 較 於 其 他 雲 端 平 台 ,Hadoop 在 研 究 與 開 發 上會 較 容 易 。本 論 文 致 力 於 局 部 診 斷 演 算 法 於 Hadoop平 台 上 的 模 擬 , 首 先 以 超 立 方 體 、 交 錯 立 方 體 、以 及 雙 扭 立 方 體 為 診 斷 對 象 , 接 著 以 隨 機 簡 單圖 為 對 象 , 記 錄 診 斷 時 間 與 結 果 , 並 為 兩 種 模擬 程 式 作 分 析 。圖 1. Q 3 的 圖 形 結 構二 . 局 部 診 斷超 立 方 體 是 已 被 廣 泛 研 究 的 一 種 圖 形 , 它擁 有 良 好 的 結 構 與 特 性 , 例 如 對 稱 性 (symmetry)、較 低 的 直 徑 (diameter)、 遞 迴 建 構 性 , 並 且 已 有廣 播 和 路 由 選 擇 的 演 算 法 可 以 使 用 , 因 此 常 被作 為 分 散 式 系 統 的 網 路 架 構 , 而 以 超 立 方 體 為基 礎 所 改 良 的 圖 形 也 很 多 , 其 中 較 有 名 的 是 交錯 立 方 體 [2] 和 雙 扭 立 方 體 [3], 它 們 一 樣 擁 有 良好 的 特 性 , 並 常 被 作 為 基 底 的 網 路 架 構 , 這 些立 方 體 已 有 許 多 診 斷 的 相 關 研 究 [1][8][12]; 我們 把 n 維 的 超 立 方 體 記 為 Q n , 它 擁 有 2 n 個 頂 點 、n2 n−1 條 邊 、 連 通 度 (connectivity) 和 直 徑 皆 為 n,每 個 節 點 都 擁 有 n 個 位 元 所 組 成 的 獨 一 無 二 的編 號 , 且 分 支 度 皆 為 n; 連 線 規 則 也 相 當 單 純 ,相 鄰 的 兩 點 恰 好 一 個 位 元 相 異 , 圖 1 為 Q 3 的 圖形 結 構 。當 進 行 壞 點 診 斷 時 , 須 先 確 立 測 試 者 (tester)和 受 測 者 (testee), 它 們 各 代 表 一 個 節 點 , 且 兩點 必 須 要 直 接 連 線 ; 進 行 測 試 時 , 測 試 者 傳 送信 息 給 受 測 者 , 受 測 者 接 收 信 息 後 , 回 傳 信 息給 測 試 者 , 測 試 者 再 根 據 傳 回 的 信 息 , 判 斷 受測 者 的 狀 態 , 決 定 測 試 結 果 ; 實 際 測 試 方 式 與使 用 的 診 斷 模 型 有 關 , 目 前 已 有 許 多 網 路 診 斷模 型 , 較 常 被 應 用 的 是 PMC 模 型 (PMC Model)[9]。PMC 模 型 的 規 則 是 , 當 測 試 者 和 受 測 者 都是 好 點 , 則 測 試 後 結 果 記 為 0, 若 測 試 者 是 好 點受 測 者 是 壞 點 , 則 結 果 記 為 1, 如 果 測 試 者 是 壞點 , 那 麼 無 論 受 測 者 的 好 壞 , 結 果 均 可 能 為 0或 1, 測 試 規 則 如 表 1; 當 圖 形 上 所 有 節 點 互 相測 試 完 成 後 , 收 集 所 有 到 的 測 試 結 果 , 我 們 稱為 症 狀 (syndrome), 症 狀 將 是 系 統 診 斷 的 依 據 。測 試 者 受 測 者 測 試 結 果好 好 0好 壞 1壞 好 0 或 1壞 壞 0 或 1表 1.PMC 模 型 的 測 試 規 則局 部 診 斷 演 算 法 在 診 斷 圖 中 任 意 一 點 時 ,會 先 計 算 該 點 的 局 部 可 診 斷 度 ,Hsu 等 人 [4] 提出 一 個 結 構 稱 為 Type I, 簡 稱 T 1 , 在 使 用 PMC模 型 的 情 況 下 它 讓 局 部 診 斷 演 算 法 能 確 立 圖 形中 任 意 一 點 的 局 部 可 診 斷 度 ,T 1 的 結 構 定 義 以及 定 理 如 下 所 示 。定 義 1[4]. G(V, E) 是 一 個 圖 形 , 設 v 是 G 中 任 意一 點 ,k 是 一 個 正 整 數 , 且 , 以 v 為 根 點 ,k 條 分 支 的 Type I 結 構 T 1 (v; ) 定 義 如 下 :T 1 (v; ) = |V(v; ), E(v; )|T 1 (v; ) 擁 有 2 + 個 點 和 2k 條 邊 , 如 圖 2, 其點 與 邊 的 定 義 如 下 :• V(v; ) = {v} ∪ {x i , y i | ≤ i ≤ }• E(v; ) = {(v, x i ), (x i , y i )| ≤ i ≤ }圖 2. T 1 (v; ) 的 結 構288


The 29th Workshop on Combinatorial Mathematics and Computation Theory定 理 1[4]. G(V, E) 是 一 個 圖 形 , 設 v 是 G 中 任 意一 點 , 若 G 中 找 得 到 以 v 為 根 點 、t 條 分 支 的 子圖 T 1 (v; t), 則 v 是 t- 局 部 可 診 斷 。由 上 述 內 容 , 我 們 得 知 局 部 診 斷 演 算 法 如何 決 定 一 點 的 局 部 可 診 斷 度 , 從 圖 2 可 看 出 為點 v 建 立 T 1 的 重 點 只 是 替 點 v 的 所 有 鄰 點 找 到 匹配 (matching), 我 們 將 在 下 一 章 介 紹 兩 種 匹 配 方法 。在 2010 年 Kung 等 人 [6] 提 出 隨 機 壞 點 診 斷演 算 法 (Algorithm Diagnose- Random-Fault), 它說 明 如 何 在 PMC 模 型 之 下 根 據 診 斷 得 到 的 症 狀以 及 T 1 來 判 斷 點 的 好 壞 , 此 演 算 法 的 流 程 相 當簡 單 , 我 們 以 ( a,b)代 表 節 點 a 測 試 節 點 b 得到 的 症 狀 , 假 設 圖 形 G 有 一 點 v,v 的 分 支 度 是k 並 已 在 G 上 找 到 一 個 T 1 (v; ) 的 結 構 , 且T 1 (v; ) 上 的 壞 點 數 不 超 過 k, 設 ≤ i ≤ , 我們 要 依 序 檢 驗 v 的 k 條 分 支 ; 若( ( y , x ), ( x , v)) (0,0) 代 表 該 分 支 保 證 v 是iii好 點 , ( ( y , x ), ( x , v)) (0,1)代 表 該 分 支iii保 證 v 是 壞 點 , 檢 驗 完 所 有 分 支 並 作 統 計 之 後 ,若 症 狀 為 (0,0) 的 分 支 數 量 大 於 等 於 (0, ) 的 分 支數 量 , 代 表 v 是 好 點 , 症 狀 是 (0,0) 的 分 支 數 量小 於 (0, ) 的 分 支 數 量 , 則 v 是 壞 點 。定 理 2[6].G(V, E) 是 一 個 圖 形 , 設 v 是 G 中 任 意一 點 ,t = deg G (v), 假 設 G 上 存 在 T 1 (v; t), 則在 T 1 (v; t) 之 中 壞 點 數 量 不 超 過 t 的 情 況 下 , 隨機 壞 點 診 斷 演 算 法 能 正 確 判 斷 v 是 好 或 壞 。三 . 匹 配 方 法從 上 述 內 容 , 我 們 運 用 局 部 診 斷 演 算 法 得知 一 點 好 壞 , 須 先 替 要 診 斷 的 點 建 構 T 1 , 建 構 T 1即 是 找 匹 配 的 問 題 , 匹 配 的 方 式 與 圖 形 結 構 相關 , 因 此 需 針 對 圖 形 設 計 適 合 的 方 法 , 才 能 以規 律 且 較 有 效 率 的 方 式 找 到 匹 配 , 當 T 1 建 構 完成 之 後 , 即 以 定 理 2 的 隨 機 壞 點 診 斷 演 算 法 判斷 點 的 好 壞 , 若 要 診 斷 整 個 圖 形 , 則 對 每 個 點執 行 局 部 診 斷 演 算 法 , 即 可 完 成 全 圖 診 斷 。我 們 提 供 的 第 一 種 匹 配 方 法 , 是 超 立 方 體 、交 錯 立 方 體 以 及 雙 扭 立 方 體 皆 可 使 用 的 方 法 。假 設 n 是 維 度 且 n 3,i 是 圖 形 中 一 點 的 編 號且 0 ≤ i ≤ 2 n − , 本 匹 配 方 法 可 為 任 意 一 點 i建 構 T 1 (i; n), 時 間 複 雜 度 為 O(n), 下 述 是 方 法流 程 , 而 圖 3 是 使 用 本 方 法 建 構 T 1 的 例 子 。匹 配 演 算 法 1.輸 入 : 圖 中 任 意 一 點 i輸 出 :i 的 所 有 鄰 點 的 匹 配1. for j = 0 to n – 2 doAdjacentNode = i 的 第 j 維 鄰 點 ;match[j] = AdjacentNode 的 第 j + 1 維 鄰點 ( 是 AdjacentNode 的 匹 配 點 );2. end for3. AdjacentNode = i 的 第 n - 1 維 鄰 點 ;4. match[n-1] = AdjacentNode 的 第 0 維 鄰 點( 是 AdjacentNode 的 匹 配 點 );5. return match;圖 3. 以 匹 配 演 算 法 1, 替 Q 3 上 的 點 000 建 構 的 T 1第 二 種 匹 配 方 法 則 是 任 意 一 種 簡 單 圖 都 可使 用 , 隨 機 簡 單 圖 中 大 部 分 為 毫 無 規 律 性 的 圖形 , 不 具 備 像 超 立 方 體 那 般 良 好 的 性 質 , 各 點的 局 部 可 診 斷 度 也 不 盡 相 同 , 假 設 0, 我 們無 法 得 知 隨 機 簡 單 圖 上 任 意 一 點 i 的 T 1 (i, ) 的 k其 最 大 值 為 何 , 考 量 到 這 一 點 , 必 須 以 能 找 到最 大 匹 配 為 前 提 來 設 計 匹 配 方 法 ; 首 先 我 們 將尋 找 最 大 匹 配 的 問 題 , 簡 化 為 尋 找 最 大 二 分 匹配 (Maximum Bipartite Matching) 的 問 題 , 最 大 二分 匹 配 只 會 存 在 X 和 Y 兩 個 互 斥 點 集 合 ,X 集合 內 的 點 彼 此 都 不 相 連 且 Y 集 合 也 是 如 此 ,X和 Y 之 間 則 有 邊 相 連 , 我 們 把 隨 機 簡 單 圖 中 任意 一 點 i 的 所 有 鄰 點 當 作 X 集 合 ( 忽 略 X 集 合 中相 連 的 邊 ), 而 X 集 合 中 各 點 的 所 有 鄰 點 ( 扣 除 X集 合 中 的 點 及 點 i) 則 形 成 Y 集 合 ( 忽 略 Y 集 合 中相 連 的 邊 ), 如 此 即 可 化 簡 為 最 大 二 分 匹 配 問 題 ;接 下 來 我 們 以 知 名 的 匈 牙 利 演 算 法 (HungarianAlgorithm) 來 解 決 最 大 二 分 匹 配 問 題 , 匈 牙 利 演算 法 是 Kuhn[5] 基 於 幾 位 匈 牙 利 數 學 家 的 理 論所 發 展 , 於 1955 年 提 出 的 可 解 決 最 大 二 分 匹 配問 題 的 演 算 法 , 設 X 集 合 有 n 個 點 、Y 集 合 有m 個 點 ,m ≥ n, 此 方 法 所 費 時 間 為 O(n 2 m)[10]。四 . 局 部 診 斷 演 算 法 的 <strong>MapReduce</strong> 設 計在 執 行 局 部 診 斷 演 算 法 時 , 必 須 知 道 圖 形的 結 構 與 測 試 後 得 到 的 症 狀 , 這 裡 將 圖 形 結 構和 症 狀 各 自 存 放 到 兩 個 檔 案 ( 分 別 稱 為 檔 案 1 和檔 案 2); 除 了 這 兩 個 檔 案 之 外 還 有 第 三 個 檔 案289


The 29th Workshop on Combinatorial Mathematics and Computation Theory( 檔 案 3) 存 放 各 map 節 點 處 理 範 圍 須 知 , 檔 案 3的 每 一 行 各 自 記 錄 一 個 map 須 處 理 的 點 範 圍 及圖 形 的 最 大 分 支 度 和 圖 形 總 點 數 。 在 執 行<strong>MapReduce</strong> 程 式 之 前 , 需 先 將 這 3 個 檔 案 存 放至 HDFS, 然 後 在 執 行 <strong>MapReduce</strong> 程 式 時 , 我們 先 讓 Hadoop 以 內 建 的 TextInputFormat 函 式來 讀 取 檔 案 3 的 內 容 , 每 讀 一 行 即 形 成 一 組 鍵值 組 對 (key-value pair) 並 做 為 一 個 map 的 輸 入 ,map 的 工 作 如 下 。演 算 法 map (key, value)輸 入 : 鍵 值 組 對 ,key 是 讀 取 位 置 ,value 是 檔 案 3 的 一 行 資 料 , 該 行 資 料 包 含 此 map必 須 處 理 的 點 範 圍 、 圖 形 總 點 數 、 圖 形 最 大 分支 度 等 等 資 訊輸 出 : 鍵 值 組 對 ,key 是 0,value 是壞 點 編 號1. 分 析 value, 取 得 起 點 編 號 start、 終 點 編 號end、 總 點 數 number、 最 大 分 支 度 MaxDegree;2. 從 HDFS 讀 取 檔 案 1, 將 全 部 圖 形 結 構 內 容存 入 link[number][MaxDegree];3. 從 HDFS 讀 取 檔 案 2, 將 全 部 症 狀 內 容 存 入syndrome[number][MaxDegree];4. for i = start to end do匹 配 演 算 法 (i);counter1 = 症 狀 為 (0,0) 的 分 支 數 量 ;counter2 = 症 狀 為 (0, ) 的 分 支 數 量 ;5. if counter1 < counter2,thenFaultyNodes += i + ”,” ; //i 為 壞 點6. End if7. End for8. 設 key 為 0,value 為 FaultyNodes;9. 輸 出 鍵 值 組 對 ;10. 結 束步 驟 1~3 為 前 置 作 業 , 取 得 圖 形 的 相 關 資訊 , 步 驟 4~7 是 為 每 一 點 建 構 T 1 並 判 斷 點 的 好壞 , 最 後 設 定 所 有 map 輸 出 的 key 一 律 為 0, 因此 所 有 map 輸 出 的 鍵 值 組 對 會 因 key 相 同 而 被Hadoop 的 combiner 合 併 成 一 個 一 鍵 多 值 的 鍵 值組 對 , 由 於 只 有 一 組 鍵 值 組 對 , 因此 只 會 建 立 一 個 reduce 並 挑 一 個 節 點 執 行 它 ,reduce 的 工 作 如 下 。演 算 法 reduce (key, values)輸 入 : 鍵 值 組 對 ,key 是 0,values 是每 個 map 輸 出 的 壞 點 編 號 所 形 成 的 群 組輸 出 : 鍵 值 組 對 ,key 是 空 值 ,value是 全 部 的 壞 點 編 號1. for Text val : values doAllFaultyNodes += val.toString();2. end for3. 設 key 為 空 值 ,value 為 AllFaultyNodes;4. 輸 出 鍵 值 組 對 ;5. 結 束Reduce 的 工 作 相 當 單 純 , 它 將 所 有 壞 點 編號 合 併 成 一 條 字 串 , 做 為 輸 出 的 鍵 值 組 對 的value,key 則 設 為 空 值 , 最 後 Hadoop 會 將 此 鍵值 組 對 存 入 HDFS 之 中 , 圖 4 為 本 設 計 的 流 程架 構 圖 。圖 4. 局 部 診 斷 演 算 法 的 <strong>MapReduce</strong> 運 作 流 程290


The 29th Workshop on Combinatorial Mathematics and Computation Theory五 . 實 驗 結 果用 來 運 算 本 章 節 所 有 實 驗 的 資 料 節 點 硬 體皆 為 記 憶 體 2GB、X3440 2.53GHz 處 理 器 2 顆 、磁 碟 269.5GB、 作 業 系 統 為 Ubuntu 11.10, 而 所有 實 驗 皆 使 用 4 個 資 料 節 點 來 進 行 運 算 。 在 此環 境 上 , 我 們 首 先 以 局 部 診 斷 演 算 法 來 診 斷 各種 維 度 的 超 立 方 體 、 交 錯 立 方 體 以 及 雙 扭 立 方體 , 並 分 析 它 們 的 運 算 時 間 , 目 前 因 為 受 限 於系 統 記 憶 體 大 小 的 緣 故 , 因 此 本 實 驗 的 診 斷 上限 是 到 21 維 ; 第 二 個 實 驗 是 診 斷 點 數 與 各 維 度的 超 立 方 體 相 同 但 分 支 度 略 有 差 異 的 隨 機 簡 單圖 , 採 隨 機 取 樣 的 方 式 取 多 個 樣 本 進 行 測 試 ,並 計 算 平 均 診 斷 時 間 , 這 樣 的 測 試 將 進 行 3 回合 , 每 回 合 皆 設 定 不 同 的 壞 點 數 量 , 最 後 對 結果 進 行 分 析 。5.1 超 立 方 體 、 交 錯 立 方 體 、 雙 扭 立 方體 診 斷 時 間表 2. 以 局 部 診 斷 演 算 法 , 診 斷 各 種 維 度 的 超 立 方 體 所 耗 費 的 時 間表 3. 以 局 部 診 斷 演 算 法 , 診 斷 各 種 維 度 的 交 錯 立 方 體 所 耗 費 的 時 間表 4. 以 局 部 診 斷 演 算 法 , 診 斷 各 種 維 度 的 雙 扭 立 方 體 所 耗 費 的 時 間291


The 29th Workshop on Combinatorial Mathematics and Computation Theory先 觀 察 表 2, 可 發 現 當 維 度 ≤ 8 時 , 都 在 相當 快 速 且 接 近 的 時 間 完 成 , 表 示 該 情 況 下 map運 算 時 間 非 常 微 小 , 大 部 分 時 間 為 Hadoop 其 他固 定 流 程 所 耗 費 , 而 維 度 是 18 時 點 數 為 262144,換 算 下 來 每 個 資 料 節 點 須 運 算 65536 個 點 , 可得 知 當 資 料 節 點 負 責 運 算 的 點 數 小 於 65536 時 ,都 可 以 相 當 快 速 且 接 近 的 速 度 完 成 , 至 於 診 斷時 間 全 落 於 22 秒 ~25 秒 之 間 , 彼 此 之 間 出 現 1~3秒 的 些 微 落 差 , 這 是 因 為 在 分 配 map 和 reduce的 工 作 以 及 結 果 輸 出 時 , 受 到 網 路 速 度 所 影 響 。接 下 來 直 到 維 度 是 19 時 mapper 的 運 算 時 間 開始 緩 緩 上 升 , 維 度 是 20 時 , 仍 以 不 到 一 分 鐘 的速 度 完 成 診 斷 一 百 萬 個 點 , 最 後 當 維 度 達 到 21時 , 才 使 診 斷 速 度 有 了 較 明 顯 的 變 慢 , 可 發 現此 時 維 度 21 的 點 數 是 維 度 20 的 一 倍 , 運 算 時間 也 與 之 成 正 比 , 大 約 上 升 了 一 倍 ; 再 來 觀 察表 3 和 表 4, 可 發 現 交 錯 立 方 體 與 雙 扭 立 方 體 的診 斷 時 間 都 與 超 立 方 體 相 似 , 雖 然 彼 此 的 結 構不 相 同 , 但 因 使 用 同 一 種 匹 配 方 法 , 使 得 它 們的 診 斷 時 間 一 定 會 非 常 接 近 。 整 體 而 言 , 由 於這 三 種 圖 形 都 具 有 規 則 的 連 線 的 特 性 , 因 此 為各 點 建 構 T 1 的 匹 配 方 法 能 夠 設 計 得 非 常 簡 單 且快 速 。5.2 隨 機 簡 單 圖 診 斷 時 間 與 可 診 斷 性這 個 實 驗 我 們 以 局 部 診 斷 演 算 法 來 診 斷 隨機 簡 單 圖 , 所 有 樣 本 皆 根 據 維 度 在 10 維 ~21 維之 間 的 超 立 方 體 的 點 數 和 分 支 度 來 產 生 , 但 分支 度 偏 移 值 為 1, 我 們 進 行 三 回 合 的 測 試 , 第 一回 合 將 壞 點 數 設 定 為 圖 形 總 點 數 的 10%, 第 二回 合 為 20%, 第 三 回 合 則 是 30%, 藉 此 實 驗 來觀 察 超 立 方 體 與 無 規 則 的 圖 形 以 局 部 診 斷 演 算法 來 診 斷 的 時 間 差 異 性 , 並 藉 以 體 會 隨 機 圖 形的 可 診 斷 性 , 診 斷 時 間 如 下 表 。數 據 顯 示 , 在 點 數 ≤ 131072 的 時 候 , 只 需二 十 幾 秒 即 可 完 成 診 斷 ,map 運 算 時 間 很 小 ,直 到 點 數 為 262144 時 , 時 間 才 有 較 明 顯 的 升 高 ,與 此 點 數 相 對 的 是 18 維 的 超 立 方 體 , 但 在 上 個實 驗 18 維 的 超 立 方 體 依 然 能 快 速 診 斷 , 彼 此 時間 上 升 的 轉 捩 點 相 差 1 個 維 度 , 並 且 發 現 在 19維 之 後 的 診 斷 時 間 約 為 超 立 方 體 的 1 倍 。 會 造成 如 此 差 距 是 因 為 隨 機 簡 單 圖 的 匹 配 方 法 較 為複 雜 , 因 為 匹 配 方 法 不 同 而 造 成 的 時 間 差 距 完全 體 現 於 數 據 之 中 , 由 此 實 驗 可 發 現 局 部 診 斷演 算 法 對 於 結 構 良 好 的 圖 形 能 有 更 快 的 診 斷 速度 ; 而 在 這 三 個 回 合 的 測 試 中 , 當 點 數 ≤262144時 , 它 們 的 平 均 時 間 完 全 一 樣 , 這 是 因 為 診 斷時 間 都 非 常 快 速 , 時 間 的 飄 移 範 圍 很 小 所 致 ,直 到 點 數 達 到 一 百 萬 點 以 上 時 , 才 讓 彼 此 出 現數 秒 的 差 距 , 具 有 相 當 程 度 的 穩 定 性 。 另 外 ,當 壞 點 數 量 是 圖 形 總 點 數 的 10% 時 , 所 有 樣 本均 被 成 功 診 斷 出 所 有 壞 點 , 假 設 v 的 分 支 度 是 d,經 過 觀 察 各 樣 本 的 連 線 後 發 現 , 任 意 一 點 v 的各 個 鄰 點 的 所 有 鄰 點 相 同 率 不 高 , 因 此 v 的 各個 鄰 點 能 輕 易 的 找 到 配 對 , 可 為 v 建 構 出 k 值 接近 d 的 T 1 (v; ), 且 因 壞 點 分 佈 平 均 , 使 T 1 上 的壞 點 數 量 不 容 易 超 過 k; 接 下 來 壞 點 數 達 到 20%時 , 出 現 極 少 數 無 法 被 完 全 診 斷 的 樣 本 , 觀 察這 些 樣 本 後 , 發 現 它 們 其 實 只 有 少 數 幾 點 無 法診 斷 , 最 後 在 第 三 回 合 將 壞 點 數 量 提 升 到 30%時 , 開 始 出 現 大 量 無 法 被 完 全 診 斷 的 樣 本 , 每個 樣 本 都 已 出 現 許 多 點 無 法 被 正 確 診 斷 的 情形 。表 5. 以 局 部 診 斷 演 算 法 , 診 斷 複 數 取 樣 的 隨 機 簡 單 圖 的 平 均 時 間 , 及 無 法 完 全 診 斷 的 樣 本 數 量292


The 29th Workshop on Combinatorial Mathematics and Computation Theory六 . 結 論局 部 診 斷 演 算 法 具 有 泛 用 性 , 它 能 診 斷 任 何 一種 簡 單 圖 , 並 存 在 最 大 匹 配 方 法 以 對 圖 上 的 每 一 點建 構 T 1 , 因 此 使 我 們 能 決 定 任 意 一 種 隨 機 簡 單 圖 的局 部 可 診 斷 度 , 在 診 斷 速 度 方 面 , 光 使 用 4 個 資 料節 點 就 足 以 在 極 短 的 時 間 內 診 斷 規 模 龐 大 的 超 立方 體 、 交 錯 立 方 體 以 及 雙 扭 立 方 體 等 結 構 , 且 當 隨機 簡 單 圖 的 點 數 達 到 200 萬 點 時 , 也 只 需 花 費 數 分鐘 的 時 間 即 可 完 成 診 斷 , 具 有 即 時 性 , 若 我 們 能 以大 型 的 Hadoop 平 台 使 用 大 量 資 料 節 點 進 行 運 算 ,將 會 得 到 更 快 速 的 效 益 , 此 診 斷 演 算 法 也 會 隨 著 圖形 結 構 的 好 壞 而 產 生 效 率 上 的 差 異 ; 在 診 斷 能 力 方面 , 當 壞 點 數 量 非 常 高 時 , 也 存 在 著 能 被 正 確 診 斷出 所 有 壞 點 的 樣 本 。參 考 文 獻[1] T. Araki, “Optimal adaptive fault diagnosis ofcubic Hamiltonian graphs,” Proceedings of the7 th International Symposium on ParallelArchitectures 2004, Proc. of I-SPAN 2004,Hong-Kong, May. 2004, pp. 162-167.[2] K. Efe, ” The crossed cube architecture forparallel computing, ” IEEE Trans. Parallel andDistributed Systems, vol. 3, no. 5, pp. 513-524,Sept. 1992.[3] P. A. J. Hilbers and M. R. J. Koopman and J. L.A. van de Snepscheut,”The twisted cube,”Lecture Notes in Computer Science, vol. 258,pp.152-159, Jun. 1987.[4] G.-H. Hus and J. J. M. Tan, “A localdiagnosability measure for multiprocessorsystems,“ IEEE Trans. Parallel andDistributed Systems, vol. 18, no. 5, pp. 598-607,2007.[5] H. W. Kuhn, “The hungarian method for theassignment problem,” Naval ResearchLogistics Quarterly, vol.2, pp.83–97, Mar.1955.[6] T.-L. Kung, H.-C. Chen, and J. J. M. Tan, “Onthe faulty sensor identification algorithm ofwireless sensor networks under the PMCdiagnosis model,” IEEE Trans. NetworkedComputing and Advanced InformationManagement, NCM, vol.I, Seoul, South Korea,Aug. 2010, pp. 657-661.[7] S. Lattanzi, B. Moseley, S. Suri, and S.Vassilvitskii, “Filtering: a method for solvinggraph problems in mapreduce,” FederatedComputing Research Conference, FCRC, SanJose, California, 4-11 Jun. 2011, pp. 85-94.[8] P.-C. Li, Z.-D. Liu, and P.-L. Lai,“Three-round adaptive diagnosis in crossedcubes,” Proceeding of the 28th Workshop onCombinatorial Mathematics and ComputationTheory, Penghu, Taiwan, May 2011, pp.254-259.[9] F.P. Preparata, G. Metze, and R.T. Chien, “Onthe connection assignment problem ofdiagnosis systems,” IEEE Trans. ElectronicComputers, vol. 16, no. 12, pp. 848-854, Dec.1967.[10] R. Z. Ríos-Mercado,Y. A. Rios-solis,”Just-in-Time Systems,” Springer Verlag, 2011.[11] J. Tan, X. Pan, S. Kavulya, E. Marinelli, R.Gandhi, P. Narasimhan, “Kahuna: problemdiagnosis for <strong>MapReduce</strong>-based cloudcomputing environments, “ NetworkOperations and Management Symposium,NOMS, Osaka, Japan, 19-23 Apr. 2010, pp.112– 119.[12] X. Yang and Y.Y. Tang, “A (4n − 9)/3diagnosis algorithm on n-dimensional cubenetwork,” Information Sciences, vol. 177, no. 8,pp.1771–1781, 2007.[13] W. Zhao, H. Ma, and Q. He,” Parallel k-meansclustering based on <strong>MapReduce</strong>, ” LectureNotes in Computer Science, vol. 5931, Beijing,China, 1-4 Dec. 2009, pp. 674–679.293

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!