在20世紀90年代,一個新的概念計算方法被網(wǎng)格計算的領(lǐng)軍人物Ian Foster引入,他認為網(wǎng)格計算已經(jīng)作為一個重要的新領(lǐng)域而出現(xiàn),與傳統(tǒng)的分布式計算不同,網(wǎng)格計算致力于大規(guī)模的資源共享、創(chuàng)新型應(yīng)用以及一些的高性能應(yīng)用。在過去的幾年里,地理空間行業(yè)的研究人員一直在努力研究網(wǎng)格計算對于空間數(shù)據(jù)基礎(chǔ)設(shè)施(SDI)的潛能。利用網(wǎng)格的強大計算能力,能否有可能在處理空間領(lǐng)域的任務(wù)時有所突破呢?
空間數(shù)據(jù)基礎(chǔ)設(shè)施的數(shù)據(jù)檢索和處理的標準及規(guī)范,是否同并行的網(wǎng)格計算以及存儲基礎(chǔ)設(shè)施相兼容?盡管將空間數(shù)據(jù)基礎(chǔ)設(shè)施服務(wù)和網(wǎng)格基礎(chǔ)設(shè)施相結(jié)合是一種必然的趨勢,仍然有一些概念上的分歧需要在這個過程中得以解決。這篇文章對其中的一些分歧進行了討論,同時介紹了由德國研究教育部資助的研究項目GDI-Grid的概況。在訪問地球觀測數(shù)據(jù)清單或者國內(nèi)外數(shù)據(jù)中心的數(shù)據(jù)庫時,傳統(tǒng)的空間數(shù)據(jù)基礎(chǔ)設(shè)施的資源就顯得非常有限 。在處理大型數(shù)據(jù)集時,這種情況尤甚。
例如,計算一個陸生植被指數(shù)需要數(shù)以萬億字節(jié)地圖代數(shù)數(shù)據(jù),而本地工作站一般是無法完成這樣的任務(wù)的。還有一些其他處理任務(wù)也會耗盡傳統(tǒng)空間基礎(chǔ)設(shè)施的資源,因為它們的算法復雜,數(shù)據(jù)量又大,例如氣候模型的生成或精確模擬城市中的噪聲傳播。
網(wǎng)格基礎(chǔ)設(shè)施給我們展示了數(shù)以千計的CPU的處理能力和存儲大量數(shù)據(jù)的能力,這些性能使其成為在可接受的時間范圍內(nèi)、具有強可靠性的處理任務(wù)的理想平臺。潛在的優(yōu)勢還包括:具有在所謂的虛擬組織成員中共享存儲和計算資源的手段,因此降低硬件獲取手段的初始成本;對存儲和計算資源的增長需求可以進行安全、可靠的事務(wù)處理。
空間數(shù)據(jù)基礎(chǔ)設(shè)施和網(wǎng)格基礎(chǔ)設(shè)施的區(qū)別
由于傳統(tǒng)的SDI和網(wǎng)格基礎(chǔ)設(shè)施的概念相去甚遠,需要一個基于網(wǎng)格的SDI實際安裝(將傳統(tǒng)的OGC標準SDI服務(wù)連接到一個網(wǎng)格基礎(chǔ)設(shè)施的后端)來解決多種不兼容。尤其是服務(wù)描述、服務(wù)接口、服務(wù)狀態(tài)和安全機制,都采用了不同的方法。
服務(wù)描述
網(wǎng)格服務(wù)總是使用WSDL(網(wǎng)絡(luò)服務(wù)描述語言)來描述服務(wù)方式和輸入?yún)?shù)。另一方面,對于不同的操作(例如描述要素類型、描述Coverage等),OGC網(wǎng)絡(luò)服務(wù)使用同特定服務(wù)元數(shù)據(jù)一樣的功能文件來描述。WSDL文件和功能文件差異很大并且不能夠相互轉(zhuǎn)換。為了在網(wǎng)格基礎(chǔ)設(shè)施內(nèi)部署OGC網(wǎng)絡(luò)服務(wù),必須要手動創(chuàng)建一個WSDL描述,因為目前還沒有一種能夠自動創(chuàng)建這種描述的方法。
服務(wù)接口
對OGC網(wǎng)絡(luò)服務(wù)支持的一系列操作在OGC服務(wù)規(guī)范文件中定義,可以通過不同的方式來調(diào)用這些操作,但是首選的方式是通過HTTP-GET獲取鍵值對,以及請求在XML文件中編碼并通過HTTP-POST傳送。此外,大多數(shù)最近的服務(wù)規(guī)范包括指示,使用SOAP來調(diào)用操作。網(wǎng)格服務(wù)通常是通過一個網(wǎng)格中間件來解決的。舉例來說,Globus Toolkit 4 使用SOAP來傳遞服務(wù)呼叫。那些不支持SOAP或者沒有WSDL描述的服務(wù)可能無法集成在一個網(wǎng)格工作流中。
服務(wù)狀態(tài)
除了使用SOAP進行通訊和使用WSDL來描述外,一些網(wǎng)格服務(wù)還實現(xiàn)了由結(jié)構(gòu)化信息標準促進組織(OASIS)開發(fā)的網(wǎng)絡(luò)服務(wù)資源框架(WSRF)。傳統(tǒng)的網(wǎng)絡(luò)服務(wù)(即非網(wǎng)格服務(wù))以及OGC網(wǎng)絡(luò)服務(wù)都是無狀態(tài)的,WSRF服務(wù)之間在調(diào)用的時候能管理各自的狀態(tài)信息。這些信息當作資源存儲在服務(wù)后端。每一個服務(wù)端點有都有自己的統(tǒng)一資源標識符(URI),這些標識符可以用來訪問存儲信息。對于之后的計算來說,存儲計算中間結(jié)果是必須的,這在狀態(tài)化服務(wù)中是很常見的。
OGC規(guī)范(除了網(wǎng)絡(luò)處理服務(wù)WPS)還沒有任何關(guān)于服務(wù)狀態(tài)的說明。WPS規(guī)范的一個可選部分引入了用于在外部資源上存儲運行結(jié)果的請求參數(shù),但是由于該部分規(guī)范是可選的,因此當前還沒有得到廣泛的支持。
安全機制
OGC規(guī)范對于涉及安全的問題仍然沒有任何表述說明,通常使用安全的HTTP(HTTPS)來確保傳輸協(xié)議的安全性。此外,對于一種服務(wù)中如何鑒定不同的用戶還沒有規(guī)定。因此,傳統(tǒng)空間數(shù)據(jù)基礎(chǔ)設(shè)施的安全機制是根據(jù)特定的項目而建立的,不同的供應(yīng)商通過不同的方式應(yīng)對安全問題。對于網(wǎng)格基礎(chǔ)設(shè)施,這樣低層次的安全防范是不夠的。
安全機制是至關(guān)重要的,有了安全機制,每個資源就能允許特定的用戶訪問,否則網(wǎng)格基礎(chǔ)設(shè)施的大規(guī)模計算和存儲能力很可能被濫用。所以,安全是網(wǎng)格基礎(chǔ)設(shè)施的一個非常重要的因素,如果在網(wǎng)格基礎(chǔ)設(shè)施中使用OGC網(wǎng)絡(luò)服務(wù),這些服務(wù)必須要提供用戶認證手段和網(wǎng)格資源通信加密功能。
案例研究:GDI-Grid項目
GDI-Grid項目(GDI是德國空間數(shù)據(jù)基礎(chǔ)設(shè)施的縮寫)是由德國研究教育部資助的一項國家研究項目,該項的目的是將標準化的空間基礎(chǔ)設(shè)施組件與網(wǎng)格基礎(chǔ)設(shè)施結(jié)合,同時解決上述的兼容性問題。結(jié)合這些技術(shù)的目的有兩個:
首先,最重要的一點是它能夠幫助用戶使用標準的方式訪問高級存儲器和網(wǎng)格基礎(chǔ)設(shè)施的計算資源。此外,它使得網(wǎng)格技術(shù)的用戶能夠?qū)⒌乩砜臻g服務(wù)技術(shù)融入到網(wǎng)格工作流中,并包含一系列的網(wǎng)格服務(wù)調(diào)用。
[page]
GDI-Grid的目標
該項目的一個目標是:適應(yīng)空間數(shù)據(jù)基礎(chǔ)設(shè)施和網(wǎng)格基礎(chǔ)設(shè)施的構(gòu)建基礎(chǔ),并實現(xiàn)兩者之間的通訊。通過將地理空間社區(qū)的成員同網(wǎng)格社區(qū)的成員聯(lián)合起來,將這兩部分進行匹配需要從兩個角度來考慮:考察如何擴展網(wǎng)格組件來解決OGC Web服務(wù)和辨認方式,以及如何通過修改的OGC Web服務(wù)使他們能與網(wǎng)格資源通訊。
進一步需要處理的問題包括創(chuàng)建和確認自動化的網(wǎng)格工作流,以及使用網(wǎng)格計算資源形成數(shù)據(jù)處理的方法。對不同來源的數(shù)據(jù)進行融合,概括并豐富數(shù)據(jù)是通過OGC標準服務(wù)接口實施訪問格網(wǎng)資源的一些處理步驟。
下面有三個案例來展示該研究成果的可能用途。這些案例中的任務(wù)也能使用傳統(tǒng)的空間基礎(chǔ)設(shè)施來完成,這里我們只是為了充分利用基于空間基礎(chǔ)設(shè)施的網(wǎng)格計算的優(yōu)勢。
場景1:噪聲傳播
計算噪音傳播是城市規(guī)劃中一個很重要的手段,歐盟指令2002/49/EC中指出,歐洲國家建設(shè)高速公路或者鐵路時,噪聲傳播計算是必要要進行的。該方案旨在將現(xiàn)有的生成噪音傳播仿真的工作流轉(zhuǎn)移到網(wǎng)格中。對于某些城市來說,由于受多種因素的影響,噪聲傳播是非常復雜的。
由于數(shù)據(jù)量大,并且涉及到的很多算法,詳細的聲學模擬計算速度需要提升。在GDI-Grid項目中提供了加速該任務(wù)的方法,將研究區(qū)域切成一個瓦片集。這些瓦片是單獨處理的,從而將計算也隔離開來,這樣就能同時利用多個計算資源。因此,工作流需要改進,包括必要的預(yù)處理和后期處理步驟,例如分割和合并數(shù)據(jù)集等。除了驅(qū)動網(wǎng)格的服務(wù),還需要創(chuàng)建一個對應(yīng)的用戶接口。
場景2:洪水仿真
漢堡應(yīng)用技術(shù)大學在網(wǎng)格環(huán)境中采用了一個現(xiàn)有的洪水預(yù)測生產(chǎn)模型。洪水預(yù)報模型可以用來測定洪水發(fā)生時的水浸范圍,地方政府可以使用該模型對可能的損失做出預(yù)測,并且給危險地區(qū)的居民提供預(yù)警措施。在城市地區(qū)預(yù)測洪水時,不僅要考慮到基本地形,還應(yīng)包括詳細的3D城市模型。因此為了更精確的進行模擬,需要非常高分辨率的空間數(shù)據(jù)集,這樣就極大的增加了需要處理的數(shù)據(jù)量。在該項目中,開發(fā)了一個精密的并行計算裝置,可以提高洪水預(yù)測模型生成的速度。
場景3:緊急路徑選擇
基于高質(zhì)量的基礎(chǔ)數(shù)據(jù)的路徑算法是十分復雜的。在一個典型的災(zāi)害管理案例中,在發(fā)生狀況時,危險區(qū)域是難以確定的,這就大大增加了逃生路徑的復雜程度。有毒氣體或火勢的蔓延也許會導致交通要道癱瘓,因此疏散計劃不能耗時太長。在這種情形下,要確保疏散計劃及時有效,那么加快路徑算法的計算速度是十分必要的。要結(jié)合實時傳感器的測量和類似前文所述的洪水預(yù)報模型的仿真,此外,還有不斷增加的路徑算法的復雜度和相關(guān)數(shù)據(jù)的數(shù)量。這樣的案例中,網(wǎng)格計算也許是一種可以滿足額外計算資源的方案。
但我們必須認識到,速度的提升伴隨著這樣的問題:由于大多數(shù)用戶在分享相同的網(wǎng)格資源,所以實際上實時應(yīng)用程序仍沒有使用網(wǎng)格技術(shù)。對于一個實時可靠的應(yīng)用程序,還將開發(fā)新的算法來確保服務(wù)的質(zhì)量。
經(jīng)驗和教訓
通過將網(wǎng)格基礎(chǔ)設(shè)施的存儲器和計算后端(擁有一個遵循OGC服務(wù)規(guī)范前端的網(wǎng)格基礎(chǔ)設(shè)施)進行綁定,SDI用戶能夠獲得由網(wǎng)格所提供的強大的存儲和處理功能。由于GDI-Grid提供了保持傳統(tǒng)服務(wù)接口的功能,用戶操作的復雜度保持在相對較低的水平。像WFS和WCS這樣的OGC標準數(shù)據(jù)訪問服務(wù),因為網(wǎng)格基礎(chǔ)設(shè)施提供的存儲資源而受益,數(shù)據(jù)處理服務(wù)WPS也通過網(wǎng)格提供的強大計算資源受益。對于大的數(shù)據(jù)集來說,網(wǎng)格技術(shù)的優(yōu)勢非常明顯,但是網(wǎng)格技術(shù)的使用需要很高的成本。身份驗證和網(wǎng)格安全基礎(chǔ)設(shè)施(GSI)的整合,延緩了請求響應(yīng)的周期。
在處理相當小的數(shù)據(jù)集時,這個效果十分明顯,尤其是在沒有并行算法的情況下。由于有很多問題需要解決,處理的并行化很復雜。過程本身是否能夠被并行化?如果不能,那么是否可以推斷,在處理之后才進行空間數(shù)據(jù)分析和結(jié)果處理的并行化呢?
在當前網(wǎng)格環(huán)境中無法實現(xiàn)性能估計,因為所有的處理工作已經(jīng)根據(jù)當前工作量被部署在了網(wǎng)格中間件當中。在某些情況下,處理工作在開始前會在堆棧中駐留幾個小時。這也阻礙了與傳感器的實時數(shù)據(jù)整合。無論如何,在當前大規(guī)模數(shù)據(jù)和高復雜處理程序占主流的形勢下,網(wǎng)格基礎(chǔ)設(shè)施還是比標準的計算平臺有更大的優(yōu)勢。
速度成本盈虧函數(shù)的臨界點,需要在案例研究的基礎(chǔ)上確定。此外,計算臨界點的方法還不是很確定,根據(jù)處理器的數(shù)目、并行計算平臺以及作為函數(shù)輸入數(shù)據(jù)的參數(shù)的大小不同而不同,一般來說是線性的,就如指數(shù)函數(shù)和對數(shù)函數(shù)一樣。
上面所述的這些缺點,尤其是處理邏輯復雜并行化的需求,還沒有說明一個事實:大部分計算資源的分布式計算都能顯著地減少計算時間。但是,這不是網(wǎng)格帶來的計算速度的提高。通過使用由本地的服務(wù)器集群提供的分布式計算也可以達到同樣的效果。
當然,網(wǎng)格計算具有本地服務(wù)器集群所不具備的一些特征,其最大的區(qū)別在于,網(wǎng)格能夠在需求增加時提供非常多的計算資源。
如果給定程序能夠被分解為可以獨立執(zhí)行的多個子程序,網(wǎng)格基礎(chǔ)設(shè)施有可能實現(xiàn)同時執(zhí)行多個子程序,從而大大的加快了整個進程。而服務(wù)器集群在同時執(zhí)行多個子程序時是有個數(shù)上限的。網(wǎng)格基礎(chǔ)設(shè)施的尺度優(yōu)勢也應(yīng)用到了存儲資源方面。而且網(wǎng)格基礎(chǔ)設(shè)施提供了更高的安全級別,如果沒有安全防范,網(wǎng)格計算根本不可能實現(xiàn),因此網(wǎng)格基礎(chǔ)設(shè)施從本質(zhì)上支持復雜的安全機制。在本地端的服務(wù)器集群上建立相對較高級別的安全機制需要花費大量的時間和精力。(編譯/徐瑞娜 洪敏)
{{item.content}}