国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向應用的虛擬桌面網(wǎng)格架構

2014-06-02 06:34闞文梟伍文靜AndreiTsaregorodtsev
計算機工程 2014年3期
關鍵詞:隊列桌面站點

武 杰,闞文梟,杜 然,李 莎,伍文靜,Andrei Tsaregorodtsev,陳 剛

面向應用的虛擬桌面網(wǎng)格架構

武 杰1,2,闞文梟1,杜 然1,李 莎1,伍文靜1,Andrei Tsaregorodtsev2,陳 剛1

(1. 中國科學院高能物理研究所計算中心,北京 100049;2. 法國科學院馬賽粒子物理研究中心,法國 馬賽 13009)

針對桌面網(wǎng)格中出現(xiàn)的應用部署難、作業(yè)結果差異大、系統(tǒng)可擴展性差等問題,基于虛擬化技術提出一種桌面網(wǎng)格架構。利用虛化技術的隔離性和封裝性,通過面向應用的作業(yè)調度策略以及有限生命周期的虛擬機控制方式,實現(xiàn)一個易于擴展且易于部署的桌面網(wǎng)格架構。分析及測試結果表明,該架構適用于大規(guī)模應用場景,架構中所采用的面向應用的調度策略以及虛擬機控制方式是有效可行的。

海量數(shù)據(jù);桌面網(wǎng)格;架構;虛擬化技術;面向應用;虛擬機控制

1 概述

隨著社會的進步,在科研領域里有很多學科,如高能物理、分子生物學計算中都面臨著一個相同的問題:海量數(shù)據(jù)的處理。例如,LHC實驗一年的原始數(shù)據(jù)可達15 PB,即使相對較小的BESIII實驗,一年的數(shù)據(jù)量也可達200 TB。還有當前的生物信息領域,一個最小的微生物基因組測序后需要處理的數(shù)據(jù)量基本上都是GB級別的,更不要說更高級生命形態(tài)的真核生物了。為了能處理這些數(shù)據(jù),科學家們也正在求助于各種各樣的計算資源,包括超級計算機、計算集群、網(wǎng)格甚至云計算,而使用低端桌面計算機空閑資源的桌面網(wǎng)格以其可以提供大量計算資源的特點越來越受到科學家們的重視。

桌面網(wǎng)格指的是由分屬于不同組織或者地點的計算資源組成的系統(tǒng),其主要目的是使分屬于不同組織的用戶能共享計算資源。在這里計算資源是指由處于同一組織或者地點(常被稱為站點)桌面計算機中的空閑計算資源。不同于文獻[1],這里沒有把桌面網(wǎng)格等同地認為是志愿計算(公共計算),而是認為它是在志愿計算以及傳統(tǒng)網(wǎng)格技術[2]的基礎上發(fā)展而來的。相比較于志愿計算,桌面網(wǎng)格中的站點形成一個很清晰的網(wǎng)絡。一般來說,站點內部由局域網(wǎng)聯(lián)通,站點之間則使用Internet聯(lián)通,這類似于傳統(tǒng)的網(wǎng)格。桌面網(wǎng)格與傳統(tǒng)網(wǎng)格最大的區(qū)別則是它們使用的資源。就資源的穩(wěn)定度、可信度以及可管理度來說,桌面網(wǎng)格使用的資源要低于傳統(tǒng)網(wǎng)格,而其資源異構程度則遠超過傳統(tǒng)網(wǎng)格。在傳統(tǒng)網(wǎng)格中,一個站點中的資源一般來說都是同構的,而在桌面網(wǎng)格中同一站點的資源往往都是異構的??偠灾?,桌面網(wǎng)格對參與資源的要求非常低,可以把傳統(tǒng)網(wǎng)格中不可用的計算資源整合起來,從而獲取到大量的計算資源。

對桌面網(wǎng)格架構的研究,可以分為基于中心服務器和基于P2P這2個方向。對于前者,常用的中間件有BOINC (Berkeley Open Infrastructure for Network Computing)[3]、Condor[4]、XtremWeb[5],其中,BOINC使用得最為廣泛;另外一個十分流行的中間件平臺OurGrid[6]以及在文獻[7-8]中的相關研究則屬于后者。這些系統(tǒng)往往都面臨著應用部署難、平臺差異所導致的作業(yè)結果差異大和可擴展性差等問題。

文獻[9]基于BOINC提出了一個中心層次化的桌面網(wǎng)格架構。此架構具有很靈活的站點擴展性,同時還開發(fā)出3D-bridge為用戶提供很好的作業(yè)訪問接口,但對于另外 2個問題則沒有很好地解決。而虛擬化技術提供的隔離性、應用封裝性正好可以解決這2個問題。

與本文類似,文獻[10]提出了一個基于虛擬化技術的桌面網(wǎng)格架構,很好地解決應用跨平臺部署以及作業(yè)結果差異大這2個問題。但它的實現(xiàn)基于2個前提:(1)節(jié)點之間不會相互攻擊;(2)站點之間以高速互聯(lián)網(wǎng)連接,與實際環(huán)境的差異性、相對復雜的安裝配置和作業(yè)提交方式都很大地限制了它的實際推廣與應用。另外,系統(tǒng)的可擴展性由于第2個前提也被很大地限制了??傮w來說,它的可用度并不高,面向的只是單個的小站點。

本文綜合現(xiàn)有桌面網(wǎng)格系統(tǒng)中的優(yōu)缺點,基于虛擬化技術提出了一種易部署、易擴展、易管理、易實現(xiàn)與其他資源整合的桌面網(wǎng)格架構。在實現(xiàn)該架構時,系統(tǒng)采用了較優(yōu)的面向應用的作業(yè)調度算法以及有限生命周期管理的虛擬機控制方式。

2 桌面網(wǎng)格架構

桌面網(wǎng)格架構如圖1所示,總體可以分為4層,每一層都封裝一定的核心功能,為上層(或用戶)提供合適的服務。

圖1 基于虛擬化技術的4層桌面網(wǎng)格架構

各層具體的功能如下:

(1)用戶管理與用戶功能管理。該層主要面向網(wǎng)格用戶,提供用戶注冊、授權管理以及用戶作業(yè)管理的接口。

(2)作業(yè)管理與調度。負責用戶作業(yè)管理與調度的各個部分。特別要說明的是,模型沒有采用像PBS等一些調度系統(tǒng)的Push調度模式,而是采用Pull模式。使用Pull模式的主要原因就是作業(yè)調度相對簡單,擴展底層資源相對 容易。

(3)虛擬機管理。實現(xiàn)硬件資源的虛擬化,為相應的作業(yè)提供合適的虛擬運行環(huán)境。

(4)物理機管理與授權。整合站點內可以利用的空閑資源,并為了保證整個網(wǎng)格的安全,對站點內的所有機器進行認證與授權。

3 架構的實現(xiàn)

基于現(xiàn)有的系統(tǒng)DIRAC(Distributed Infrastructure with Remote Agent Control)[11]、BOINC和Jarifa[12]實現(xiàn)第2節(jié)提出的桌面網(wǎng)格架構。DIRAC是一個可以通過一種非常完整并且非常簡單的方式為網(wǎng)格中用戶提供服務的中間件。用戶通過它可以完全透明地使用后端具體的計算資源。這里之所以使用DIRAC,主要是因為它可以很好地實現(xiàn)用戶交互、作業(yè)調度等,并且可以很容易地實現(xiàn)桌面網(wǎng)格資源與其他資源的整合。需要強調的是,DIRAC創(chuàng)新性地使用了代理控制(Pilot代理)的方式來實現(xiàn)作業(yè)調度,即Pilot先被運行在具體資源節(jié)點上,檢查節(jié)點資源情況,使用Pull方式向DIRAC作業(yè)調度服務請求真正的用戶作業(yè)并最終運行在該節(jié)點上。這樣做可以有效地屏蔽底層資源的脆弱性,提升底層資源的利用率。BOINC在這里主要負責整合所有零散的桌面計算機,Jarifa則負責網(wǎng)格中桌面計算機的認證與授權。

在實現(xiàn)的桌面網(wǎng)格架構中,作業(yè)運行流程如圖2所示。

圖2 作業(yè)運行流程

具體作業(yè)運行流程如下:

(1)用戶提交作業(yè)到DIRAC維護的作業(yè)隊列。

(2)SiteDirector掃描前述作業(yè)隊列,與BOINC服務器中SOAPer守護進程通信,把Pilot作業(yè)腳本打包為相應的Pilot工作單元(在BOINC中作業(yè)常被稱為工作單元)并提交到BOINC服務器上。

(3)BOINC客戶端向BOINC服務器發(fā)送請求,請求運行一個作業(yè)單元。

(4)獲取到合適的工作單元后,虛擬機運行控制程序開始運行,啟動虛擬機。虛擬機啟動后在其內部運行Pilot作業(yè)腳本。

(5)Pilot啟動后檢查其運行環(huán)境,并向DIRAC服務器中的Mather服務請求用戶作業(yè)。獲取用戶作業(yè)后運行它,同時啟動一個監(jiān)控進程監(jiān)控用戶作業(yè)直至完成。

(6)返回用戶結果給DIRAC相關服務。

目前在使用簡單的磁盤鏡像文件發(fā)布方式以及簡單的授權管理方式的前提下,在法國科學院馬賽粒子物理研究中心成功部署了該類型桌面網(wǎng)格測試環(huán)境,大約整合了100臺桌面計算機。另外,在這個系統(tǒng)上成功測試運行了LHCb以及BESIII 2個物理應用。

3.1 DIRAC服務器與BOINC服務器之間的交互通信

本文使用HTTPS與SOAP協(xié)議并基于C/S的通信模式來實現(xiàn)DIRAC服務器和BOINC服務器之間的通信。基于C/S的通信模式是為了易于實現(xiàn)底層站點資源的擴展,使用HTTPS則是為了實現(xiàn)兩者之間的相互認證??蛻舳诉\行在DIRAC服務器上,可稱之為SiteDirector;服務器端則運行在BOINC服務器,可稱之為SOAPer。

為了能更清楚地說明它們通信所實現(xiàn)的虛擬機調度策略,先給出應用虛擬機尺寸和應用虛擬機類型這2個概念。在一臺有足夠資源(包括磁盤空間、CPU個數(shù)、內存)的物理機上運行一臺虛擬機,當某一作業(yè)運行在虛擬機上時,其使用的各種資源的最小臨界值被稱為該作業(yè)的虛擬機尺寸。最小臨界值是指當虛擬機給定的資源小于它時,相應作業(yè)運行完成所耗費的時間就會急劇上升,而大于這個值也不會縮短作業(yè)運行時間。某一應用所有可能作業(yè)的虛擬機尺寸的最大值稱為該應用的虛擬機尺寸??梢赃\行應用作業(yè)的虛擬機的操作系統(tǒng)類型被稱為該應用的虛擬機類型。

在作業(yè)隊列一定、資源一定的前提下,一般都希望運行作業(yè)所分配虛擬機的資源越小越好,因為這樣可能獲取到較大的并行度,進而可以縮短總的運行時間;然而也不是越小越好,當分配的資源小于最小臨界值時,單個作業(yè)運行時間可能會急劇上升,較大的并行度也未必能補償這種損失,最終導致總的運行時間增加。

本文在系統(tǒng)實現(xiàn)時使用了面向應用的虛擬機調度策略,即不同應用的作業(yè)運行在不同配置的虛擬機中,配置參數(shù)使用的就是應用虛擬機尺寸和應用虛擬機類型。通過面向應用的多隊列模型來具體實現(xiàn)該調度策略,如圖3所示。用戶指定作業(yè)所屬應用,并把作業(yè)提交到由DIRAC的JobQueue服務維護的主隊列。然后SiteDirector則會掃描主隊列,提交一個面向應用的Pilot到相應應用的隊列中。最終SiteDirector會掃描所有的應用隊列,通過與SOAPer通信把Pilot啟動腳本以及所屬應用等信息發(fā)送給SOAPer,由SOAPer做最終處理。

圖3 面向應用調度的多隊列實現(xiàn)

總體來說,SiteDirector和SAOPer守護進程通信實現(xiàn)的功能有:(1)獲取BOINC服務器上的工作單元情況并判斷是否可以提交新的工作單元。如果可以提交新的工作單元,SiteDirector掃描所有的應用隊列,通過與SOAPer通信把Pilot啟動腳本以及所屬應用等信息發(fā)送給SOAPer,由SOAPer把Pilot啟動腳本、應用虛擬機尺寸和應用虛擬機類型打包為一個相應的Pilot工作單元。(2)獲取已提交工作單元的狀態(tài)。若工作單元的狀態(tài)為完成,則獲取相應的 輸出。

本文采用2個應用來測試上述調度策略的效果,一個是LHCb應用,另一個則只是簡單地運行l(wèi)s命令,可稱之為ls應用。由于在后面復雜隊列測試中,仍舊使用這2個作業(yè),因此可以簡單地將作業(yè)的虛擬機尺寸等同于應用的虛擬機尺寸。另外,為了簡單,這里只針對內存進行了測試,其他資源的值都取了相對大的值。圖4給出了2個應用作業(yè)在不同內存中虛擬機運行所需的時間值(這里主要包括虛擬機啟動時間、作業(yè)運行時間、虛擬機關機時間)?;谇懊娴募僭O,可以近似地給出這樣的結論:LHCb虛擬機尺寸的需求內存為512 MB,而ls應用的則為256 MB。

圖4 LHCb應用和ls應用作業(yè)虛擬機尺寸的內存測試

圖5給出針對不同的隊列情況使用面向調度策略和固定尺寸調度策略的測試結果。其中,在使用固定虛擬機尺寸調度(所有的作業(yè)都使用相同的虛擬機尺寸)時,分別測試了3種情況:9 GB磁盤,1個CPU,1 GB內存;9 GB磁盤,1個CPU,512 MB內存;9 GB磁盤,1個CPU,256 GB。在使用面向應用調度的情況下,分別預設2個應用隊列: 9 GB磁盤,1個CPU,256 MB內存,面向ls應用;9 GB磁盤,1個CPU,512 MB內存,面向LHCb。作業(yè)隊列為不同數(shù)目的ls作業(yè)和LHCb作業(yè)混合而成。為了測試簡單,這里規(guī)定1個Pilot只獲取并運行一個用戶作業(yè),而且只使用一臺桌面計算機貢獻資源,其貢獻的資源為1 GB內存,100 GB磁盤,4個CPU。這樣成為計算的瓶頸就不會是磁盤空間和CPU,而只能是內存。另外,所有測試使用的應用虛擬機類型都是32位Scientific Linux 5.5。從圖5可以看到,面向應用的調度策略是一種可行的調度策略,它總是可以取到最短的總運行時間。

圖5 不同策略的測試結果

3.2 虛擬機控制的設計與實現(xiàn)

虛擬機控制主要涉及2個部分,一個是運行在BOINC的服務器端,SOAPer守護進程依據(jù)Pilot的需求,指定需求的虛擬機的尺寸,生成相應的BOINC的工作單元;另一個是運行在桌面計算上的虛擬機運行控制程序。

這里介紹第2部分的實現(xiàn)。圖6給出了虛擬機運行控制程序的流程。

圖6 相應各階段的虛擬機運行控制程序流程

這個程序是直接運行在桌面計算機上,不同的操作系統(tǒng)有不同的版本,當前可支持Windows、Linux和Mac OS系列。這里使用的虛擬機監(jiān)控器是VirtualBox。分4個階段來描述虛擬機運行控制程序:

(1)配置準備階段。依據(jù)給定的配置文件配置指定需求的虛擬機。

(2)啟動階段。判定當前的虛擬機是否是斷點重啟。若是,則重啟動即可;否則,準備首次啟動需要的共享目錄,拷貝Pilot作業(yè)運行所要求的數(shù)據(jù)到該目錄,然后啟動虛擬機。當啟動完成后,啟動Pilot作業(yè)。

(3)運行階段。主要處理3個情況:是否做斷點記錄(這里使用VirtualBox支持的快照功能實現(xiàn)它),Pilot作業(yè)運行是否完成以及虛擬機是否已處于關閉狀態(tài)。

(4)停運階段。發(fā)送Pilot的輸出結果到BOINC服務器。

4 未來的工作

現(xiàn)有系統(tǒng)從作業(yè)提交、作業(yè)調度、虛擬機運行、作業(yè)運行到作業(yè)結果回傳都實現(xiàn)了基本運行,但還存在諸多問題。其中一個問題是虛擬機磁盤鏡像的分發(fā)與訪問。在當前系統(tǒng)中采用的還是服務器與客戶端之間點對點傳輸文件的方式,這對于穩(wěn)定性差、傳輸速度相對較低的Internet來說,絕對是一個不可接受的方式。文獻[13]中的CVMFS系統(tǒng)則采用了軟件和基本鏡像分離的方式來解決該問題。該方法雖然在一定程度上可以解決該問題,但并未對磁盤鏡像文件實現(xiàn)有效的管理,在大規(guī)模的桌面網(wǎng)格中的應用并不理想。當前基于志愿存儲以及文件分塊的思想設計了一個VDIFS(Virtual Disk Image File System)共享文件系統(tǒng)來解決該問題。該系統(tǒng)現(xiàn)正在進行詳細設計與開發(fā)中。另外一個問題就是對底層桌面計算機的授權,現(xiàn)有的授權模式采用的是一種弱認證模式:基于Jarifa系統(tǒng)的郵箱認證。這種認證方式的缺陷是可能會有一些不在站點內的機器也加入網(wǎng)格內,進而影響甚至可能危及整個網(wǎng)格系統(tǒng)的運行。下一步將考慮加入基于各站點IP管理服務器的授權方式來解決這個問題。

5 結束語

本文提出了一種基于虛擬化技術的桌面網(wǎng)格架構,并基于現(xiàn)有中間件DIRAC、BOINC、Jarifa實現(xiàn)了該架構,致力于解決在桌面網(wǎng)格中常面臨的應用部署難、作業(yè)結果差異大以及可擴展性差等問題。本文架構使用DIRAC和BOINC嵌套的2層模式實現(xiàn)了可擴展性,而使用虛擬機技術解決了另外2個問題。從部署運行測試結果來看,所提出的架構解決了桌面網(wǎng)格架構常會遇到的3個問題,該架構可用于大規(guī)模部署。另外,所使用的面向應用的調度策略也是高效可行的,其總是可以獲取到最優(yōu)的作業(yè)運行總時間。系統(tǒng)當前還有虛擬機磁盤鏡像發(fā)布困難和簡單認證方式有漏洞等問題,這些都是將來要重點研究和解決的問題。

[1] Lalloo M. Desktop Grids: Connecting Everyone to Scien- ce[EB/OL]. (2012-12-15). http://www.e-sciencetalk.org/brief ings/EST-Briefing-19-DesktopGrid-w.pdf.

[2] Foster I, Kesselman C, Tuecke S. The Anatomy of the Grid: Enabling Scalable Virtual Organizations[J]. The International Journal of High Performance Computing Applications, 2001, 15(3): 200-222.

[3] Anderson D P. BOINC: A System for Public-resource Comput- ing and Storage[C]//Proc. of the 5th IEEE/ACM International Workshop on Grid Computing. Pittsburgh, USA: [s. n.], 2004.

[4] Tannenbaum T, Wright D, Miller K, et al. Condor——A Distributed Job Scheduler[M]. [S. l.]: MIT Press, 2002.

[5] Cappello F, Djilali S, Fedak G, et al. Computing on Large- scale Distributed Systems: XtremWeb Architecture, Program- ming Models, Security, Tests and Convergence with Grid[J]. Future Generation Computer Systems, 2005, 21(3): 417-437.

[6] Walfredo C, Francisco B, Nazareno A, et al. Labs of the World, Unite!!![J]. Journal of Grid Computing, 2006, 4(3): 225-246.

[7] Kacsuk P, Jozsef K, Zoltan F, et al. SZTAKI Desktop Grid (SZDG): A Flexible and Scalable Desktop Grid System[J]. Journal of Grid Computing, 2009, 7(4): 439-461.

[8] 韋父代. 基于非結構化對等網(wǎng)絡的分散式桌面網(wǎng)格平臺[J]. 計算機工程與設計, 2011, 32(1): 92-95.

[9] 張學鋒, 徐勝超. 基于混合式非結構化對等網(wǎng)絡的桌面網(wǎng)格平臺[J]. 計算機應用與軟件, 2011, 28(7): 41-45.

[10] Wang Dongping, Gong Bin. SUCSI: A Light-weight Desktop Grid System Using Virtualization for Application Sandbox- ing[C]//Proc. of International Conference on Network Computing and Information Security. Guilin, China: [s. n.], 2011.

[11] Tsaregorodtsev A, Bargiotti M, Brook N, et al. Dirac: A Community Grid Solution[EB/OL]. (2012-12-15). http://iop science.iop.org/1742-6596/119/6/062048/pdf/jpconf8_119_062048.pdf.

[12] González D L. The Project Jarifa[EB/OL]. (2012-12-15). https://github.com/teleyinex/jarifa/wiki.

[13] Buncic P, Sanchez C A, Blomer J, et al. CernVM——A Virtual Software Appliance for LHC Applications[EB/OL]. (2012- 12-15). http://iopscience.iop.org/1742-6596/219/4/042003/pdf/ 1742-6596_219_4_042003.pdf.

編輯 任吉慧

Application-oriented Virtualization Desktop Grid Architecture

WU Jie1,2, KAN Wen-xiao1, DU Ran1, LI Sha1, WU Wen-jing1, Andrei Tsaregorodtsev2, CHEN Gang1

(1. Computer Center, Institute of High Energy Physics, Chinese Academy of Sciences, Beijing 100049, China; 2. Center for Particle Physics of Marseilles, French National Centre for Scientific Research, Marseilles 13009, France)

In this paper, a desktop grid architecture is proposed with virtualization technologies to solve the problems of porting cross platform applications, discrepant results from heterogeneous platforms and system scalability. Based on the isolation and encapsulation of virtualization technology, with application-oriented job scheduling policy, a finite virtual machine controlling method, scalable and easily- deploying desktop grid architecture is achieved. The test results demonstrate that this new architecture well applies to large-scale scenarios, and the application-oriented scheduling policy and virtual machine control method are effective and feasible as well.

massive data; desktop grid; architecture; virtualization technology; application-oriented; virtual machine controlling

1000-3428(2014)03-0088-05

A

TP301.6

國家自然科學基金資助面上項目(11179020);2011年國家留學基金資助項目。

武 杰(1984-),男,博士研究生,主研方向:分布式計算;闞文梟、杜 然、李 莎,博士研究生;伍文靜,副研究員;Andrei Tsaregorodtsev,高級工程師;陳 剛,研究員、博士生導師。

2012-12-21

2013-01-28 E-mail:wujie@ihep.ac.cn

10.3969/j.issn.1000-3428.2014.03.018

猜你喜歡
隊列桌面站點
隊列里的小秘密
基于APP在線控制雙擠出頭FDM桌面3D打印機的研制
基于多隊列切換的SDN擁塞控制*
桌面云技術在鐵路行業(yè)中的應用
基于Web站點的SQL注入分析與防范
2017~2018年冬季西北地區(qū)某站點流感流行特征分析
在隊列里
桌面裝忙
豐田加速駛入自動駕駛隊列
首屆歐洲自行車共享站點協(xié)商會召開