网格计算

**網格計算**（英語：Grid computing）透過利用大量異構計算機（通常為桌上型電腦）的未用資源（CPU 周期和磁碟儲存），將其作為嵌入在分散式電信基礎設施中的一個虛擬的電腦叢集，為解決大規模的計算問題提供一個模型。網格計算的焦點放在支援跨管理域計算的能力，這使它與傳統的電腦叢集或傳統的分散式計算相區別。

網格計算的設計目標是：解決對於任何單一的超級電腦來說，仍然大得難以解決的問題，並同時保持解決多個較小的問題的靈活性。這樣，網格計算就提供了一個多使用者環境。它的第二個目標就是：更好的利用可用計算力，迎合大型的計算練習的斷斷續續的需求。

這隱含著使用安全的授權技術，以允許遠端使用者控制計算資源。

網格計算包括共享異構資源（基於不同的平台，硬體 / 軟體體系結構，以及電腦語言），這些資源位於不同的地理位置，屬於一個使用公開標準的網路上的不同的管理域。簡而言之，它包括虛擬化計算資源。

網格計算經常和叢集計算相混淆。二者主要的不同就是：叢集是同構的，而網格是異構的；網格擴充包括使用者桌面機，而叢集一般局限於資料中心。

從功能上來說，可以將網格分類為：

* 計算網格（包括 CPU scavenging 網格）
* 資料網格

## 網格計算的 3 個定義

對於網格計算（Grid computing）這一術語有三重理解可供參考，如下：

1. 為全球資訊網誕生起到關鍵性作用的歐洲核子研究組織（CERN，European Organization for Nuclear Research），其對網格計算是這樣定義的：「網格計算就是透過網際網路來共享強大的計算能力和資料儲存能力」。
2. **外部網格**（External grids）。事實上，網格計算對分布在世界各地的、非營利性質的研究機構頗有吸引力，進而造就了美國國家超級電腦應用中心計算生物學網格，如生物學和醫學資訊學研究網路。
3. **內部網路格（Internal grids**）。同樣，網格計算對那些需要解決複雜計算問題的商業公司有著非同一般的吸引力，其目標是將企業內部的計算能力最大化。

## 全球網格論壇

全球網格論壇（OGF）的目標是為網格計算定義相關的規範。Globus 聯盟透過 Globus 工具包實現了這些標準，這個工具箱已經成為網格中介軟體事實上的標準。作為一個中介軟體組件，它為構建於它之上的服務提供了一個標準的平台，但是網格計算也需要其他的組件，以及很多其他的工具的運轉以支援一個成功的網格環境。這種情形類似於 TCP/IP 的開發：網際網路的有用性來自於 TCP/IP 的成功以及新聞群組和網頁等應用程式的建立。

Globus 實現了下述一些由 GGF 定義的協定：

1. 資源管理：網格資源分配管理協定（GRAM）
2. 資訊服務：監視及發現服務（MDS）
3. 安全服務：網格安全基礎結構（GSI）
4. 資料遷移和管理：Global Access to Secondary Storage（GASS）and GridFTP

Globus 同時還提供了一些工具，使網格計算平台更加健壯，更適用於高效能計算的需要。他們有：

* 網格入口軟體（Grid Portal Software），如 GridPort 和 OGCE
* 網格封裝工具集（Grid Packaging Toolkit，GPT)
* MPICH-G2（Grid Enabled MPI）
* 網路氣象服務（Network Weather Service，NWS)（QoS 監視和統計）
* Condor（CPU Cycle Scavenging）and Condor-G（Job Submission）

北美及歐洲的研究機構和學術社群里執行的大多數網格都採用 Globus 工具集作為核心中介軟體。

基於 XML 的 web 服務提供了在分散式環境中存取各種不同的服務和應用的方法。2003 年網格計算界開始共同將網格作為 web 服務提供出來（稱為網格服務）。開放網格服務結構定義了這種環境，提供了一些遵守網格服務語意的功能。

網格提供了解決 Grand Challenge problem 的辦法，如蛋白質摺疊、金融建模、地震類比、氣象模型等等。網格還為組織內部如何最佳化使用大量的資訊科技資源提供了解決途徑。網格也作為公用事業機構為商業和非商業客戶提供資訊科技提供了一種方法，這些客戶可以只為他們所需要的服務付費，就象電和自來水一樣。

## 網格運算商業化

約在 2000 年左右，開始有商業機構提供網格解決方案，有的是以 Globus Toolkit 為基礎來實現，有的則採用自有的專屬架構。要提醒與注意的，有些業者會將按需運算（computing on demand）、叢集運算（cluster computing）包裝成_網格運算_來推行。

目前能提供網格運算方案的主要商家：

* Parabon Computation （頁面存檔備份，存於網際網路檔案館）
* DataSynapse
* IBM Grid Computing website （頁面存檔備份，存於網際網路檔案館）IBM
* Sun Microsystems Grid Computing website （頁面存檔備份，存於網際網路檔案館）SUN
* Oracle Corp. _"Oracle Grid"_ （頁面存檔備份，存於網際網路檔案館）甲骨文
* HP Grid Computing 惠普科技
* United Devices （頁面存檔備份，存於網際網路檔案館）

## 概念框架

網格計算的概念反映的是一種理念框架，而不是指一個物理上存在的資源。所謂的網格所採用的方法是指，利用位於分散管理域內的資源完成計算任務。網格技術的焦點在於對超出本地管理域的計算資源的需求的靈活提供。

### 歷史回顧

如同 Internet 一樣，網格的概念也是從「大科學」的巨大計算需求演化來的。Internet 是為了滿足各大型的聯邦資助的計算中心之間的普通通訊需求而開發的。這些通訊連接實現了這些中心之間的資源和資訊共享，並最終為額外使用者提供了存取。這些組之間的特殊資源共享「程式」催生了協定的『標準化』，以滿足任意管理域間的通訊需求。當前的網格技術也可以被看作是 Internet 這個框架的一個擴充或是應用，目的是為了建立一個更為通用的資源共享環境。SETI@home 是第一個非營利性的科學專案，其目的是為了對空閒的 CPU 周期加以回收利用。該專案所設計的程式通常是在電腦沒有被使用者使用或是使用極少得的情況下在背景執行或作為螢幕保護裝置。其後的許多的其他的同類專案進步的地方在於增加了投入控制（prohibitive investment）和返回結果延遲（delay in results）。

### 虛擬組織

網格環境的建立是為了滿足資源共享的需求，而各種資源（例如，CPU 周期，磁碟儲存空間，資料，軟體程式，外圍裝置等）取決於該資源在本地管理域之外是否可用。這種「外部提供」的方法的不足使我們迫切需要建立一個新的管理域：虛擬組織，或 VO。每個虛擬組織有各自獨立和分離的管理政策（本地管理政策 + 外部資源管理政策 = VO 管理政策）。「任務執行」所需要的環境是根據該任務在本地管理域之外執行時的需求所區分的。網格技術（也稱作中介軟體，middleware）是用來規格化的，以保證你的應用程式執行時所關聯的網格環境的具有統一的規範並且遵守之。

### 網格化（Grid enabled）

除了定義管理的需求和確定「外部」資源（external resource）需求以外，目標程式必須是網格化的。網格化這項工作的本質和外延是由 VO（虛擬組織）所處的環境和應用程式本身共同作用的結果。舉個例子來說，如果我們需要用到的「外部資源」是被位於隔壁的大樓內的另一個部門所有，那麼對於資源發現，資源中介，時序安排，記帳，安全和通訊的要求都可以達到最小。

## 參考文獻

## 參見

* 電腦叢集
* 分散式計算
* 平行計算