• 沒有找到結果。

設計與實現一個Web-Based之OpenMP應用程式開發環境

N/A
N/A
Protected

Academic year: 2021

Share "設計與實現一個Web-Based之OpenMP應用程式開發環境"

Copied!
8
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會專題研究計畫 成果報告

設計與實現一個 Web-based 之 OpenMP 應用程式開發環境

計畫類別: 個別型計畫

計畫編號: NSC94-2218-E-151-003-

執行期間: 94 年 08 月 01 日至 95 年 07 月 31 日

執行單位: 國立高雄應用科技大學電機工程系

計畫主持人: 梁廷宇

共同主持人: 謝謝謝

計畫參與人員: 范珮欣 黃竟閩 陳聖元

報告類型: 精簡報告

處理方式: 本計畫可公開查詢

中 華 民 國 95 年 9 月 11 日

(2)

行政院國家科學委員會補助專題研究

█ 成 果 報 告

□期中進度報告

設計與實現一個 Web-based 之 OpenMP 應用程式開發環境

計畫類別:

5

個別型計畫 □ 整合型計畫

計畫編號:NSC 94-2218-E-151-003

執行期間: 94 年 08 月 01 日至 95 年 07 月 31 日

計畫主持人:梁廷宇

國立高雄應用科技大學電機工程學系

共同主持人:謝錫堃 國立成功大學電機工程學系

計畫參與人員: 范佩欣、陳聖元、黃竟閩

成果報告類型(依經費核定清單規定繳交):█精簡報告 □完整報告

本成果報告包括以下應繳交之附件:

□赴國外出差或研習心得報告一份

□赴大陸地區出差或研習心得報告一份

□出席國際學術會議心得報告及發表之論文各一份

□國際合作研究計畫國外研究報告書一份

處理方式:除產學合作研究計畫、提升產業技術及人才培育研究計

畫、列管計畫及下列情形者外,得立即公開查詢

□涉及專利或其他智慧財產權,□一年□二年後可公開查詢

執行單位:國立高雄應用科技大學電機系

中 華 民 國 95 年 8 月 31 日

(3)

摘要

    本計畫的目的是要在網際網路(WWW)上 設計與開發一個稱為 WOMP 的 OpenMP 程式整 合開發環境。希望透過 WOMP 所提供的服務,讓 使用者可以很方便地利用網際網路上的可用資 源,來進行大量的資料平行運算。為了達到此一 目的,WOMP 提供了 OpenMP 的程式介面與編譯 服務,讓使用者可以很容易地在網際網路上將自 己的工作平行化。另一方面,WOMP 還提供了資 源配置與動態調整的服務,讓使用者可以不用去 擔心資源在那裡的問題,並根據資源負載的變化 情形,動態地重新調整資源配置,以同時保障使 用者與資源擁有者的工作執行效能。在本報告 中,將會描述 WOMP 的系統架構與初步的效能測 試結果。

1. 簡介

近來由於高速網路與處理器的快速發展,使 得網際網路已成為提供高效能平行運算能力的另 一種平台。然而要在網路上開發平行應用程式並 不是一件容易的事。雖然過去的研究已開發出 MPI[1]、RPC[2]、RMI[3]和 DSM[4]程式開發介 面供使用者利用,可是這些介面對使用者來說依 然有相當的困難度。相較之下,OpenMP 提供了 一個更簡單容易的程式開發介面。 OpenMP[5]為一種共用記憶體程式模型的標 準。其介面包含了一系列的平行程式指令。例 如:平行/工作分享指令用來控制程式的平行化; 資料環境指令用來控制平行程式中的變數共享; 同步指令則是用來控制各個執行緒之間的同步。 使用者只要在程式中須要作平行處理的地方加入 這些指令,經由 OpenMP 編譯器的轉譯即可輕鬆 地將原來的循序程式轉成多執行緒的平行程式。 比起前面所述的開發工具,OpenMP 提供了一個 更容易、方便使用的介面。如果可以在分散式的 系統上提供 OpenMP 介面,將可大幅地降低使用 者開發平行程式的時間。為此本實驗室特地在九 十三年國科會自由軟體計畫,將 OpenMP 編譯器 與函式庫移植至一個稱為 Teamster 的分散式共用 記 憶 體 系 統 , 讓 使 用 者 可 以 在 Linux-based 之 SMP 計算叢集上利用 OpenMP 來開發平行程式。 此研究成果已發表於中央研究院的 JISE 的期刊中 [6]。 然而,過去使用者在執行 OpenMP 程式時, 必須自己去處理資源配置的問題,亦即尋找可用 的資源並指定計算資源的所在之處,再經過系統 的認證與授權後,才可將程式送至遠端的資源上 執行,這對於使用者在利用網路資源時,產生很 大的不方便性。另一方面,由於網際網路上的可 用資源大都是分時共享的系統,因此使用者的工 作會與資源擁有者的工作,競爭相同的計算資 源。為了保證使用者程式的執行效能與資源擁有 者的權力,必須針對資源擁有者的工作負載情 形,進行適當地調整資源的配置。很顯然地,這 並不是一件容易處理的事情。 為了幫助使用者更容易地在網際網路上開發 並執行程式,本計畫設計與實現一個 Web-based 的 OpenMP 應用程式開發環境,簡稱 WOMP。讓 使用者可以在任何時間、地點藉由 WOMP 伺服器 所提供的網頁介面來撰寫與編譯 OpenMP 的應用 程式,並透過 WOMP 所提供的資源配置服務,自 動地將程式分派至遠端的機器上執行。另一方 面,為了因應網路資源的動態變化,WOMP 亦提 供動態調整資源配置的服務,以保障使用者與資 源擁有者的工作執行效能,進而提升系統的工作 輸出。

2. 研究背景

在計畫中,我們採用 Teamster-G 與 Globus 兩個 toolkits,並結合去年本實驗室在 Teamster 上 實 作 的 OpenMP 編 譯 器 與 函 式 庫 , 作 為 開 發 WOMP 程式開發環境的基礎。

2.1、 Teamster-G

Teamster-G 為一個支援網格運算的分散式共 用記憶體(Distributed Shared Memory, DSM)系統 [7]。透過它的支援,使用者便可以在計算網格上 使用共用變數的方式來撰寫平行程式。當不同節 點上的執行緒存取相同的共用變數時,Teamster-G 會自動維護資料的一致性。因此使用者會覺得 自己的程式是在一台 SMP 的機器上被執行,然而 此一虛擬的機器其實是由分散在網路各處的實際 機器所組成。由於計算網格是建立在廣域網路 (Wide Area Network, WAN)上,而 WAN 上進 的訊息傳遞代價遠比在區域網路中要大的多。因 此 Teamster-G 採用了階層式的資料更新協定[8]來 降低維持資料一致性的代價,進而達到提升執行 效能的目的。

2.2、 Globus toolkit

Globus toolkit[9]為一建構網格運算系統的開 發 工 具 。 此 工 具 包 含 GSI (Grid Security Infrastructure), GRAM (Grid Resource Allocation and Management), MDS (Meta-computing Directory Services), 和 GASS (Global Access to Secondary Storage)。其中 GSI 提供安全的通訊與身份認證的 服務。只要一經網格系統的簽署,使用者程式就 可在網路的任何可用的資源上被執行。再者, GRAM 主要是扮演資源對外的閘道與資源管理的 角色,用來解決資源配置的問題。MDS 則是用來 提供可用資源的資訊,方便資源代理器(resource broker)找到符合使用者需求的計算資源。最後, GASS 則是用來將程式執行檔與輸入資料傳送至 遠端機器上執行,並將執行結果轉回近端顯示。 有了這些服務工具的支援,將更容易在網際網路 上建構網格系統。 2

(4)

2.3、 OpenMP 編譯器與函式庫

本實驗室在九十三年的國科會自由軟體計畫 中成功地將 OpenMP 的編譯器與函式庫移植至 Teamster 上[10],讓使用者可以在 SMP 的計算叢 集上使用 OpenMP 的程式介面。此計畫中,我們 一共開發了四個軟體套件:(1) OpenMP 轉譯器 ( OpenMP Translator);(2)分散式可攜性的執行緒 函 式 庫 ( Distributed Portable Thread Library, DPTHLIB ) ; (3) OpenMP 執 行 時 期 函 式 庫 ( OpenMP Runtime Library, OMPLIB);(4)負載平 衡機制( Load Balance Mechanism, LBM )。此四個 套件軟體的作用如下所述:

圖一、 OpenMP 程式的編譯過程 (1) OpenMP 轉譯器( OpenMP Translator) : 其 功 能 有 二 , 第 一 功 能 為 前 置 處 理 OpenMP source code,它會修改 OpenMP source code 裡的 變數宣告,因為在 Teamster 系統上撰寫應用程式 時,所有的變數宣告都需遵循固定的方式:共享 的變數必須宣告為廣域變數並初使化,且將其全 放置在 Teamster 的共用記憶體裡。

第二為編譯 OpenMP source code。此部分會 轉譯 OpenMP directive,轉譯完成後所產生的程式 碼 將 會 包 含 OMPLIB 的 function , OpenMP directive 的程式行為便是由 OMPLIB 所提供的 function 來實現,接著便可以直接用作業系統提供 的編譯器(例如:gcc 編譯器)來編譯。

(2) OpenMP 執 行 時 期 函 式 庫 ( OpenMP Runtime Library, OMPLIB) : 即 是 實 現 OpenMP directive 的程式行為,整個函式庫實作了 parallel region 、 work-sharing 、 同 步 機 制 和 變 數 共 享 等 OpenMP directive,以及一些 OpenMP 相關的函 式。在編譯 OpenMP source code 時,OMPLIB 中 function 即會實現 OpenMP directive 所描述的程式 行為。

(3) 分 散 式 可 攜 性 的 執 行 緒 函 式 庫 ( Distributed Portable Thread Library, DPTHLIB ): 原來的 OpenMP 函式庫都是建立在 kernel-level 的 Pthread 之上。為了降低平行的代價與支援執行緒 遷 移 , 我 們 實 現 了 一 個 分 散 式 的 user-level Pthread,並將 OpenMP 的函式庫實現在此執行緒 函式庫之上。此執行緒函式庫主要包含:(1)執行 緒 管 理 (Thread Management) , (2) 執 行 緒 同 步 (Thread Synchronization)。

(4) 負載平衡機制( Load Balance Mechanism, LBM ): 此機制會在程式執行的過程,主動地根 據節點的計算能力與負載來重新工作,藉以達到 計算節點的負載平衡。 如圖一所示,當使用者想要在計算叢集上執 行 其 所 撰 寫 的 OpenMP 程 式 , 只 需 將 原 始 的 OpenMP 程式碼經由 OpenMP 轉譯器轉譯為含有 OMPLIB 函式的程式碼,然後經由 gcc 編譯器編 譯 並 連 結 OMPLIB, DPTHLIB 和 Teamster 的 DSMLIB , 即 會 產 生 可 在 計 算 叢 集 上 執 行 的 POSIX 多執行緒程式。此一過程已經編寫成一個 MAKE FILE,使用者只需下一個指令,即可自動 產生最後的執行檔。原來在 SMP 上撰寫的程式, 完全不須修改只須重新編譯即可在 Linux-based SMP 計算叢集上執行,所以可以達到完全的原始 程式相容性。

3. WOMP

  圖二、WOMP 系統架構 WOMP 的系統架構如圖二所示[11]。主要有 WOMP-Client、WOMP-Server 與 WOMP-Agent 三 個部分。WOMP-Client 是由 JAVA Applet 物件與 HMTL 所構成的網頁界面。使用者可以在此介面 中編輯程式,然後下達程式編譯與執行的命令, 並觀看程式的執行結果。WOMP-Sever 則是提供

(5)

Agent 則 負 責 計 算 叢 集 裡 的 資 源 管 理 與 工 作 排 程,主要工作在與 WOMP-Server 配合處理使用者 的資源配置、工作分派的服務要求。另一方面, WOMP-Agent 還會監測資源的負載狀態並定時回 報至 WOMP-Server,藉此更新計算資源的狀態。 下面將就程式編譯、資源配置、程式執行與資源 重組四個服務進行說明。

3.1 程式編譯

當 使 用 者 撰 寫 程 式 完 畢 之 後 , 即 可 按 下 WOMP-Client 的編譯命令鍵。WOMP-client 即會 將 OpenMP 的程式碼傳至 WOMP-Server 進行編 譯。其所使用之 OpenMP 編譯器、函式庫與編譯 步驟和前面 2.3 節所述的類似。其不同的地方, 在於原先的 Teamster 函式庫需用 Teamster-G 來取 代。如果程式編譯過程有錯誤,其錯誤訊息會傳 回 WOMP-Client 的 Watch 視窗中顯示。使用者可 根據錯誤訊息來修改程式並重新編譯直至沒有錯 誤為至。

3.2 資源配置

當使用者編譯程式成功後,必須先進行資源 的 配 置 才 可 執 行 程 式 。 首 先 , 使 用 者 必 須 在 WOMP-Client 設 定 資 源 需 求 的 數 量 , 然 後 WOMP- Server 會根據使用者的需求,來進行資源 的篩選並從中挑選一個條件最佳的計算叢集。當 對象選定後,WOMP-Server 即會向管理此計算叢 集的 WOMP-Agent 提出資源配置的要求。如果 WOMP-Agent 同意請求,則會在計算叢集內保留 使用者所需的計算資源,等待 WOMP-Sever 將使 用者的程式送過來執行。如果 WOMP-Agent 不同 意請求,則 WOMP-Server 會另外尋找其他滿足使 用 者 需 求 的 計 算 叢 集 , 並 向 該 叢 集 的 WOMP-Agent 提出資源配置的請求。此過程會重複執行 至資源配置成功或沒有其他可供選擇的資源為 止。在資源配置的過程中,WOMP-Sever 會利用 到 MDS 的資源查詢服務,並透過 GRAM 進行身 份的認證與授權。

3.3 程式執行

當 資 源 配 置 成 功 後 , WOMP-Sever 會 透 過 GASS 的服務將使用者程式的執行檔與輸入資料 傳送至 WOMP-Agent,再由 WOMP-Agent 利用 rsh 的方式將程式 fork 至配置的機器上執行。在程 式執行過程中,所有的輸出訊息都將導入至一個 訊息檔。當程式執行完畢後,WOMP-Sever 再利 用 GASS 的服務將此訊息檔傳送回至 WOMP-Client 顯示。

3.4 資源重組

誠如前面所說,在網際網路上資源是共享 的。當使用者和資源擁有者一起在競爭相同的資 源時,兩者的工作都會受到影響。為了避免影響 資源擁有者的工作進行,並儘可能讓使用者工作 充分地利用計算資源,有效的動態資源重組是必 須的。目前,WOMP 提供了兩種個不同方式的資 源重組。他們分別是 virtual processor 以及 node。 顧名思義,virtual processor 的資源重組,即是在 一 個 節 點 內 部 增 減 執 行 使 用 者 程 式 的 virtual processor 個數。Node 的資源重組即是把使用者程 式的工作從一個節點轉移至另一個節點上執行。 原則上,如果資源擁有者的工作負載是處於中、 低負載的話,就減少執行使用者程式的 virtual processor 個數,藉以減少對 CPU 的競爭,避免干 擾到資源擁有者的工作。反之,則增加 virtual processor 的個數,以提升對 CPU 的使用比例。再 者,如果節點的工作負載很重,使用者程式在此 節點的工作將會被移至另一個節點上執行。

4. 效能評估

本計畫中,我們曾對 WOMP 進行幾項系統效 能的評估。這些評估包含資源配置的代價、各項 程式平行執行的代價以及資源重組的效果。我們 的實驗平台為一個由四台 SMP 機器所組成的計算 叢集。每一台機器內含四顆 Intel Pentium III Xeon 500 MHz 的 CPU 和 512MB RAM,連接網路為 100Mps Fast Ethernet。

表格一、 平行與資源配置的代價 Thread creation 41.12 us Thread joining 0.011 ms Thread context switch 0. 012 ms Start a parallel region 0.191ms Enter critical directive 0.024ms Leave critical directive 0.031ms Enter barrier directive 0.036ms Lock acquire 0.024ms Lock release 0.031ms Barrier arrive 0.037ms Resource discover 0.036ms 表一、為系統平行使用者程式的代價。由此 表可看出在一個計算叢集內的程式平行代價很 小,其對程式效能的影響可以忽略。另一方面, 雖然實驗顯示當資源配置的時間很短,然而這是 在 WOMP-Server 與 WOMP-Agent 同在一個 site 時所獲得結果。如果當兩者不在同一個 site 或者 資源配置請求被拒絕時,則資源配置的時間將會 隨者兩者之間的訊息傳輸時間與資源請求次數而 增加。如果資源配置的時間過長,則會影響到程

(6)

式的響應速度。針對這個問題,可以採用預先資 源配置的方式來減少資源配置時間對程式響應速 度的影響。

4.1 資源重組的代價

表二、資源重組的代價 Virtual Processor Deletion Intra-cluster Thread Migration Node Deletion 0.046ms 0.104 ms 110.83 ms Virtual Processor Addition Inter-cluster Thread Migration Node Addition 0.218ms 1.237 sec 165.05ms 表 二 為 資 源 重 組 的 代 價 。 可 以 觀 察 出 Virtual processor 的重組代價是很低的,因為它只是單純 地增減 virtual processor 的個數,並沒有進行節點 之間的執行緒移轉。相對地,node 的重組代價就 比較高,因為它會進行執行緒的移轉。然而,節 點重組只發生在叢集內,所以其付出的代價仍然 是可以接受的。如果必須進行叢集之間的執行緒 轉移,其代價遠比叢集內的高出很多。因此如何 有效降低叢集之間的工作移轉代價,是未來值得 研究的問題。

4.2 資源重組的效果

  在資源重組的實驗中,我們共用了三個測試 程式,分別為 MM、N-body 和 SOR。表三為測試 程式的參數數值。測試的方法,則是先在四台機 器上跑一個 GUEST 程式,然後在其中一台機器 上跑一個相同的 HOST 程式。在程式的執行過程 中,應用不同的資源重組方法:包括 ND、WTM 和 MRF,並量取執行此兩個程式的總時間,進而 求得系統的工作輸出。其中 ND 是指當資源擁有 者開始執行工作時,就立刻撤離該節點。相對 地,WTM 則是搬移一半的工作執行緒至其他節 點。MRF 則是 WOMP 所採用的多層漸進的重組 方式。 Problem Size Memory Demand Sharing Type MM 2048x2048 32MB No sharing N-body 8196 Particles 200 loops 8M Full sharing SOR 7168x7168 200 loops 392MB Boundary sharing 表三、測試程式參數 圖四至圖七為測試的結果。為了方便進行比較, 我們將各種重組方式所得的結果對 MRF 的結果作 正規化。由測試結果顯示 ND 在負載很重時對資 源擁有者工作的執行效能最好。然而,資源擁有 者的工作並不一定會完全利用其計算資源,因此 使用者工作還是可以利用剩餘的 CPU cycles。所 以 ND 對於資源利用率的提升,是比較不好的方 法,特別是在負載較輕的時候。相對地,WTM 雖然可以減少 Guest AP 對 CPU 的使用,然而剩 餘的執行緒依然會和資源擁有者工作競爭資源, 特別是當負載很重時,兩者的工作效能都會因此 而降低,進而影響系統工作輸出。相對於 ND 與 WTM,MRF 則是提供了多種重組方式而且漸進 地將工作搬移至其他節點上。不僅可以減少資源 競爭的程度,還可有效地利用 CPU cycles。因此 HOST AP 和 Guest AP 的程式執行效能都可以獲 得改善,系統的工作輸出亦可藉此獲得提升。

(Heavy Workload) Host AP Slowdown

0 1 2 3 4 MM N-Body SOR Do Nothing ND WTM MRF 圖四、在重度負載下資源重組後的 HOST AP 效能 (Heavy Workload) System Throughput

0 0.2 0.4 0.6 0.8 1 1.2 MM N-Body SOR Do Nothing ND WTM MRF 圖五、在重度負載下資源重組後的系統工作輸出 (Median Workload) Host AP Slowdown

0.99 0.995 1 1.005 1.01 1.015 1.02 MM N-Body SOR Do Nothing ND WTM MRF 圖六、在中度負載下資源重組後的 HOST AP 效能 5

(7)

(Median Workload) System Throughput 0 0.2 0.4 0.6 0.8 1 1.2 MM N-Body SOR Do Nothing ND WTM MRF 圖七、在中度負載下資源重組後的系統工作輸出

5. 相關研究

過去的研究曾為網格計算提出像 MPI、RPC 和 RMI 等介面的程式開發工具。例如:MPICH-G2[12]、GridRPC[13]和 CoG[14]。然而,這些開 發工具所提供的介面都不及 OpenMP 來得容易使 用,而且這些程式開發都沒有處理資源配置與資 源重組的問題,因此使用者在利用網路資源時非 常不方便而且沒有效率,程式的執行效能也會因 為資源可用度的變化而無法預測。相對地,本計 畫 的 WOMP 為 第 一 個 建 立 在 WWW 上 的 OpenMP 開發整合程式開發環境(IDE),成功地 將支援 Grid Computing 的 IDE 整合至 Web Service 中,並解決了上述的問題,讓使用者可以很容易 而且有效地利用網際網路的資源來進行大量的資 料處理。  另一方面,過去的研究亦有針對資源重組的 問題提出方法。其中一種方法為立即撤離[15]。 亦當一個計算節點的擁有者開始在執行其工作 時,立即將使用者程式從此節點搬離至另一個節 點上執行。雖然此方法對資源擁有者的工作最 好,然而資源擁有者的工作不見得會使用全部的 資源。所以貿然地馬上撤離,對資源的利用率與 使用者的程式來說,並不是一個很好的方法。相 反的,另一種稱為 linger longer 的方法[16],則不 會馬上撤離,而是觀察一段時間。如果評估撤離 會比繼續停留好,才會撤離原來執行程式的節 點。雖然此方法已有不錯的重組效果,然而其重 組的方式只有節點重組一種方式。與之相較,本 計畫的 WOMP 系統提供了多種方重組式,因此可 以更有彈性地進行資源重組,進而獲得較佳的程 式執行效能,而資源擁有者的使用權力亦可獲得 保障。

6. 成果與未來工作

在本計畫中,我們在網際網路上設計與開發 了一個 Web-based 的 OpenMP 整合程式開發環境 稱為 WOMP。透過 WOMP 的服務,使用者可以 隨時隨地在網際網路上開發與執行平行應用程 式,並觀察程式的執行結果,而且完全不用費心 去處理資源配置。另外,為了避免干擾資源擁有 者的工作進行與提高資源的使用率,WOMP 還提 供了多種方式的資源重組服務給使用者使用。經 由實驗證明,這些服務可以有效地避免資源競爭 與提高資源使用率和系統工作輸出。相信藉由 WOMP 所提供的服務,將可以讓更多的使用者願 意利用網際網路上的資源來解決自己的問題。本 計畫所實現的 WOMP 系統,將可提供國內、外學 術研究單位一個從事大量資料運算的理想平台。 除了系統開發外,我們還在計畫執行期間發表了 兩篇會議論文[11][17]與兩篇期刊論文[6][18]。 雖然 WOMP 系統,已經提供使用者程式編 譯、資源配置與重組、執行與觀察的功能。然 而,在程式開發過程還有一些輔助工具是使用者 必需的。例如:偵錯器(Debugger)與效能分析軟體 (Performance analyzer) 等 。 本 實 驗 室 未 來 將 為 WOMP 開發一個圖形介面的偵錯器與效能分析軟 體。

7. 誌謝

最後,我們要感謝國科會對本計畫的經費贊 助,以及評議委員的意見與指導。另外,我們還 要感謝國立成功大學電機系謝錫堃教授提供的儀 器設備與技術指導,讓本計畫的目標得以順利的 完成。

參考文獻

[1] Gropp, W., Lusk, E., Doss, N., Skjellum, A., "A High-Performance, Portable Implementation of the MPI Message Passing Interface Standard", Parallel

Computing, North-Holland, vol. 22, pp.

789-828,1996.http://citeseer.ist.psu.edu/gropp96highperfo rmance.html

[2] Bruce Jay Nelson, F. Panzieri , SK Shrivastava, Rajdoot: A Remote Procedure Call Mechanism Supporting Orphan Detection and Killing, IEEE Transactions on Software Engineering, v.14 n.1, pp.30-37, January 1988.

[3]Sun Microsystems. Java Remote Method Invocation (RMI). Specification, Sun Microsystems, 1999. http://java.sun.com/products/jdk/rmi/.

[4]K. Li. “IVY: A shared virtual memory system for parallel computing”. In Proceedings of the 1988

International Conference on Parallel Processing (ICPP'88), pp. 94-101, 1988.

[5]Y. Charlie Hu, Honghui Lu, Alan L. Cox and Willy Zwaenepoel, “OpenMP for Networks of SMPs”, Proceedings of the 13th International

Parallel Processing Symposium, pp. 302-310, 1999.

[6] Tyng-Yeu Liang, Shig-Hsien Wang, Ce-Kuen Shieh, Ching-Ming Huang and Liang-I Chang, ”Design and Implementation of the OpenMP Programming Interface on Linux-based SMP Clusters”, Journal of Information Science and

Engineering, vol. 22, pp. 785-798, July, 2006.

[7] Tyng-Yeu Liang, Chun-Yi Wu, Jyh-Biau Chang, Ce-Kuen Shieh, “Teamster-G : A Grid-enabled Software DSM System”, In of the Proceeding of The

2005 International Workshop on Distributed Shared Memory on Clusters at the IEEE International

(8)

Symposium on Cluster Computing and the Grid (CCGrid 2005), pp. 905-912, Cardiff, UK, May 9-12,

2005.

[8] Tyng-Yeu Liang, Chun-Yi Wu, Jyh-Biau Chang, Ce-Kuen Shieh, “Enabling Software DSM System for Grid Computing”, In the Proceeding of International

Symposium on Parallel Architectures, Algorithms, and Networks (I-SPAN2005), pp. 428-435, Las Vegas,

USA, Dec. 7-9, 2005.( 國科會計劃補助 NSC93-2218-E-151-004-)

[9] I. Foster., Globus Toolkit Version 4: Software for Service-Oriented Systems. IFIP International Conference on Network and Parallel Computing,

Springer-Verlag LNCS 3779, pp 2-13, 2005.

[10] J. B. Chang, Tyng-Yeu Liang, Ce-Kuen Shieh, A Transparent Distributed Shared memory for Clustered Symmetric Multiprocessors, accepted for publication in the special issue of The Journal of

Supercomputing, September 6, 2003.

[11] Tyng-Yeu Liang, Po-Cheng Chen, Pei-Hsin Fan, Jyh-Biau Chang, Ce-Kuen Shieh, “A Web-based OpenMP Application Development Environment”, Proceedings of The 12th Workshop on Compiler Technique for High-Performance Computing, pp. 49-56, March 16-17, 2006.

[12] Nicholas T. Karonis, Brian R. Toonen, Ian T. Foster, “MPICH-G2: A Grid-enabled implementation of the Message Passing Interface”. Journal of.

Parallel Distributed. Computing, 63(5): p.551-563,

2003.

[13] K. Seymour, H. Nakada, S. Matsuoka, D. Dongarra, C. Lee, and H. Casanova, “GridRPC: A remote procedure call api for grid computing”. ICL

Technical Report ICL-UT-02-06, Innovative

Computing Laboratory, Department of Computer Science, University of Tennessee, June 2002.

[14] Von Laszewski, G., Foster, I., Gawor, J., Smith, W., and Tuecke, S., “CoG Kits: A Bridge between high Performance Grids Computing and High Performance Grids”, ACM 2000 Grade Conference, 2000. http://www/globus.org

[15] R. H. Arpaci, A. C. Dusseau, A. M. Vahdat, L. T. Liu, T. E. Anderson, and D. A. Patterson, "The Interaction of Parallel and Sequential Workloads on a Network of Workstations," SIGMETRICS. May 1995, Ottawa, pp. 267-278.

[16] Kyung D. Ryu, Jeffrey K. Hollingsworth and Peter J. Keleher , "Mechanisms and Policies for Supporting Fine-Grained Cycle Stealing", In the 13th ACM International Conference on Supercomputing(ICS'99), (Rhodes, Greece - June 1999)

[17] Tyng-Yeu Liang, Shih-Hsien Wang, Jyh-Biau Chang, Ce-Kuen Shieh, “Supporting the OpenMP Programming Interface on Teamster-G”, First International Conference of Grid and Pervasive Computing, Lecture Note of Computer Science, vol. 3947, pp. 547-556, May 3-5, 2006.(國科會計劃補助 NSC 94-2218-E-151-003-)

[18] Ce-Kuen Shieh, Tyng-Yeu Liang, Chun-Yi Wu, Jyh-Biau Chang, “A Grid-enabled Software Distributed Shared Memory System on Wide Area Network”, accepted by Future Generation Computer Systems, September, 2006.

參考文獻

相關文件

H2-7:不同 Facebook 得知管道的 Facebook 遊戲使用者在 Facebook 遊戲動機有顯著 差異。. H2-8:不同 Facebook 平均每次使用時間的 Facebook

類神經網路 ( Artificial Neural Network ),根據 DARPA Neural Network

接下來我們將討論切換的機制,因為在我們假設的網路環境下,所以 sink 是保持在接收資料的狀態。網路中所有的感測點都將資料往 sink 端傳送,但是

「Web Service 是一種介面,能夠使應用軟體相互溝通的一個平台,它以和程式語言無 關的方式描述一組可經由標準 XML 訊息存取的網路操作;Web Service

在無線區域網路部份,高傳輸速度的要求,讓 IEEE 802.11a 成為矚目 的標準。本篇論文主要是以 FPGA 晶片來實現一適合於無限區域網路 IEEE 802.11a

統包是美國近年來發展最快速的採購方式[5] ,且實行績效 良好 (單位成本下降 6.1%、建造時程快 12%、發包時程快 33.5%) [6] 。 美國統包工程協會(Design-Build Institute of

高容 MLCC 主要是應用於筆記型電腦、手機、個人數位助理 器、無線網路等產品中,在這些終端產品市場的高速成長帶動 下,高容

近來高速公路拓寬工程常造成交通堵塞,使得因堵塞造成之社會成 本相對提高許多。如何有效率的促使廠商儘早完工並努力研發新的工法