第二章 研究背景與相關研究
2.1 節 格網計算
格網(Grid)的概念來自於電力格網(Power Grid),是利用電力網路結合電力格 點上的各式電力資源的觀念來表達,主要的精神是透過虛擬組織來將分散的資源 做統合並有效利用。簡單地說,全球資訊網(WWW)是經由網際網路(Internet)來 分享資訊,而格網則是經由網際網路來分享與整合資源(如計算與儲存資源)。格 網不僅可以整合分散的各式電腦資源,更透過網際網路將電腦資源結合成一巨大 的虛擬電腦系統。如同全球資訊網的發展,格網目前的發展是以輔助科學研究為 目的。對科學家而言,理想中的計算環境為:趨於無限的計算能力與儲存空間,
永遠不必擔心資料的儲存之處,隨時可與各地的合作夥伴,安全而快速地分享彼 此的資源及成果,並且可用便捷且低廉的成本完成這些工作。格網理想中的情境 之一即為:使用者可隨時隨地連線執行程式,取用分散於全球各地的資料,系統 會自動找尋到最適當的資料及資源,且在最適當的地方進行分析。沒有中央集中 式的控制、利用標準的溝通協定、具備自動的負載平衡機制。
網路有三個基本資源:資訊、頻寬及連接網路的主機的計算能力。網路的發 達造就革新網路技術的廣泛使用,格網技術的發展與點對點技術有著密不可分的 關係,從早期 Napster[24]、Gnutella[13]和 Freenet[9] 的應用,讓用戶彼此能夠分 享互相的資源。而到了 SETI@home [28]的分散式計算應用,已經與目前的格網 概念相當的接近,當有計算分析的工作需求,授權數百萬個用戶作出貢獻他們的 計算資源。
2.1.1 節 開放式格網服務架構
Global Grid Forum(GGF) 在 2002 年 6 月制定開放式格網服務架構(OGSA),
以分散式計算與資源管理為主,將大量的異質性資源組成格網。資源以開放性標 準(Open Standard)及共通操作模型(Common Operation Model)進行交互應用,來 支援跨分散式異質平台,其服務與應用有:管理資源、強化服務品質(QoS)、最 佳化、開放的協定與界面。在產業的應用上有:標準化整合技術、工作執行、資 料服務、安全性、低成本、穩定度以及容易使用與擴展。IBM 和其他業內領先 廠商,以及許多格網研究人員和代表,都加入到 GGF 的工作,目的是為了定義 格網標準。GGF 目前有 10 多個工作組在各個領域中定義格網標準,這些領域包 括:應用程序和程序設計模型、架構、數據管理、安全性、性能、資源調配和資 源管理。
基於 OSGA 提供的架構,透過 SOAP、XML 和 WS-Security 來建立各種格 網服務。其架構分做四層 (圖 2-1):
基底層:軟體包含操作系統、資料庫,硬體包含計算資源、儲存系統、資料 索引等等。
連接層:定義格網中特定的網路處理所需的核心溝通協定和安全認證協定。
服務層:建構於連接層之上,依照目前的資源提供調配與組織等等的服務。
應用層:透過服務層提供的資源,依照需求建立應用的環境。
圖 2-1 格網架構[3]
APPLICATIONS
、、、、
APPLICATION TOOLS
、、、 APPLICATIONS
BASIC GRID FABRIC COMMUNICATION GRID SERVCIES
High Energy Virtual Observatory
Portals
Climate Modeling
Colaboratories Remote Instrumentation Remote Visualization
USER-LEVEL SERVICES
、、、
CORE SERVICES
、、、
Resource Brokering Virtual Organization Tools
Job Submission Data Transfer Libraries
File Transfer Proctocols (FTP,GridFTP,etc)
Security Layer (GSI or Kerberos)
Internet Protocol
Overlay Structures
SOFTWARE
HARDWARE /PHYSICAL
、、
Operating Systems Batch Job System Database
Clusters Instruments Networks Disks Tape Archives SAN
2.1.2 節 Globus Toolkit
在格網的核心技術上,相關機構與企業已達成一致:由美國 Argonne 國家實 驗室與南加州大資訊科學學院(ISI)合作開發的 Globus Toolkit[9]已成為格網計算 的標準,包括 Entropia、IBM、Microsoft、Compaq、Cray、SGI、Sun、Veridian、
Fujitsu、Hitachi、NEC 在內的 12 家電腦和軟體廠商已宣佈將採用 Globus Toolkit。
作為開放式架構和開放標準基礎建設,Globus Toolkit 遵循了開放式格網服務架 構的標準,由 Globus Project 開發,提供了建構格網應用所需的很多基本服務。
這個工具由一組支援格網和格網應用的服務和軟體組成,其中包含了如安全性、
資源發現、資源管理、資料搜尋等。
格網計算是為了解決大型的應用需求,按照 Globus 的觀點,大型應用需求 應該要由許多組織來合作完成,彼此形成一個虛擬組織,各組織擁有的計算資源 在虛擬組織中共享,彼此合作完成計算需求。在 Globus 的定義裡,所有共享的 單位都是資源,處理器、硬碟、資料、軟體等都是資源。對於共享而言,有價值 的不是設備本身而是串聯起這些資源的介面。
下表為 Globus Toolkit 提供的工具與基本功能(摘自 Grid Café[12]),Globus 是一個開放原始碼(open source),有著物件導向的概念,使用者可以免費使用,
依照應用來選擇軟體工具,並可依其應用的需求修改。
軟體工具 功能 Globus 資源分配管理者
(GRAM , Globus Resource Relocation Manager)
會自行轉換使用者需求及所需資源,
成為區域電腦中可以了解的指令 格網安全基礎平台 (GSI,
Globus Secutiy Infrastructure)
提供使用者認證,以及個人存取權限
監測及發現服務(MDS,
Monitoring and Discovery Service)
蒐集計算資源的訊息,包括處理能 力、頻寬、承載量,以及儲存形式等 格網資源資訊服務(GRIS,Grid
Resource Information Service)
查詢計算資源現有的設定、能力及狀 態
格網索引資訊服務 ( GIIS , Grid Index Information Service)
用來協調 GRIS 的服務
Management System)
整合複本目錄及格網 FTP ,允許應用 程式建立及管理資料組的複製工作 表 2-1 Globus Toolkits[12]
2.1.3 節 Condor
Condor[6]是一個專門的工作量管理系統,用來處理計算密集的工作。Condor 提供了工作佇列的機制、排程策略、優先權模式、資源監測和資源管理等功能。
使用者將連續或平行的工作提交給 Condor 時,Condor 會將工作放入佇列裡,依 照策略選擇要將工作何時並交到何處去執行,小心的監測工作的執行的進展,最 後在工作完成後告知使用者。
在調配資源上面,Condor 依照 ClassAd 來得到資訊,ClassAd 就像是公告一 般,在格網環境中的機器,將自身的資訊以公告來發布,包含 CPU、Memory 和 系統負載等的資訊,在工作提交時,也會有一份需求的公告,Condor 會依據需求 在機器發布的公告中尋找合適的資源,同時需求中,會包含對某些資源的優先層
級,Condor 也會依照對資源的優先需求來做調配。當使用者提交工作後,Condor 尋找可滿足該工作的資源,執行工作,並且有檢查點的功能,使得 Condor 能將 正在執行的工作移轉給別的電腦執行,可以避免當電腦出現狀況而使得必須要重 新執行工作的情形發生。
2.1.4 節 Java 虛擬機器(JVM)
Java 語言的一個非常重要的特點就是跨平台的能力。而使用 JVM 是實現這 一特點的關鍵。一般的高階語言如果要在不同的平台上營運,至少需要編譯成不 同的目標程式碼,而 JVM 位於硬體平台與作業系統之的上層,所有的 Java 程式 都必須在 JVM 上才能執行。這與一般程式最大的不同點在於,一般程式都是直 接將原始碼編譯成機器碼,直接執行於作業系統或處理器架構上,但 Java 程式 則是編譯成所謂的 Java bytecodes(位元碼),間接在 JVM 上執行。換句話說,Java 可攜性大就在於只要有 JVM,Java 程式即可執行,無須管底層架構如何。而引 入 JVM 後,Java 在不同平台上營運時不需要重新編譯。
JVM 簡單說就是可執行 Java 程式碼的假想電腦。只要根據 JVM 規格描述將 解釋器移植到特定的電腦上,就能保證經過編譯的任何 Java 程式碼能夠在該系 統上執行。基於 Java 語言以及 JVM 的特性,我們選用同樣以 Java 開發的 JXTA 為我們開發系統的主要工具。