文/周立旸
云讓HPC平臺(tái)動(dòng)起來
文/周立旸
伴隨著高性能計(jì)算性能的不斷提升和系統(tǒng)的日益龐大,單一計(jì)算平臺(tái)與不同應(yīng)用多樣化需求的矛盾也日益突出,同時(shí)后期部署、管理、能耗、散熱等成本也不斷提高,導(dǎo)致實(shí)際的計(jì)算成本居高不下,單純的CPU利用率已不能用來作為衡量高性能計(jì)算中心服務(wù)水平和效益的惟一指標(biāo)。
云計(jì)算,作為一種新型的計(jì)算模式,可以將應(yīng)用、數(shù)據(jù)和IT資源以服務(wù)的方式通過網(wǎng)絡(luò)提供給用戶使用,在提供高性能計(jì)算用戶所需的自主性和安全支持以外,實(shí)現(xiàn)更大的資源靈活性和更豐富的使用計(jì)量方式,成為許多用戶優(yōu)先考慮的解決方案。采用云計(jì)算的基礎(chǔ)架構(gòu),高性能計(jì)算中心可以自動(dòng)地管理和動(dòng)態(tài)地分配、部署、配置、重新配置以及回收資源,也可以自動(dòng)部署多種應(yīng)用平臺(tái),從而根據(jù)不同需求實(shí)現(xiàn)快速高效、動(dòng)態(tài)優(yōu)化的資源分配。利用云計(jì)算的特性,高性能計(jì)算中心既可以為傳統(tǒng)的計(jì)算服務(wù)提供更加靈活擴(kuò)展的計(jì)算資源,也可以為各種不同項(xiàng)目提供動(dòng)態(tài)使用的“專屬系統(tǒng)”。
但是,如何有效利用云的方式取決于應(yīng)用,對(duì)于計(jì)算密集型和I/O密集型的高性能計(jì)算應(yīng)用,傳統(tǒng)的云計(jì)算解決方案往往束手無措,其主要的障礙包括:
I/O瓶頸
當(dāng)前許多云計(jì)算架構(gòu)建立在服務(wù)器虛擬化技術(shù)之上。由于虛擬機(jī)的I/O實(shí)現(xiàn)機(jī)制不同,在許多系統(tǒng)平臺(tái)上會(huì)嚴(yán)重影響應(yīng)用的網(wǎng)絡(luò)延遲和訪問帶寬,造成額外的資源需求,降低了整體運(yùn)算性能。對(duì)于一些基于MPI的并行程序,其性能甚至可以相差數(shù)倍。
數(shù)據(jù)瓶頸
高性能計(jì)算通常需要對(duì)大量的非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行訪問,由于云計(jì)算環(huán)境中所提供的計(jì)算平臺(tái)具有多樣性和靈活性的特點(diǎn),需要考慮為不同平臺(tái)提供統(tǒng)一的高速數(shù)據(jù)訪問性能、全局命名空間和多種應(yīng)用訪問協(xié)議支持,同時(shí)支持和計(jì)算資源快速分配相匹配的數(shù)據(jù)管理功能。根據(jù)應(yīng)用需求,存儲(chǔ)容量應(yīng)當(dāng)能夠動(dòng)態(tài)增加或移出,確保信息始終可用。
管理瓶頸
傳統(tǒng)的高性能計(jì)算,其資源一般相對(duì)固定,通常通過資源和負(fù)載管理軟件來提高資源的利用率,在云計(jì)算環(huán)境中,資源上限遠(yuǎn)大于一般應(yīng)用的需求相比,如何有效地結(jié)合負(fù)載管理和資源配送,提高總體系統(tǒng)利用率和用戶服務(wù)質(zhì)量,同時(shí)滿足特定應(yīng)用高峰時(shí)間的需求,是構(gòu)建高性能計(jì)算云所必需考慮的問題。
因此,對(duì)于高性能計(jì)算中心來說,需要結(jié)合其自身的應(yīng)用特點(diǎn)和云計(jì)算平臺(tái)的優(yōu)勢(shì),通過虛擬化技術(shù)和自動(dòng)化技術(shù),同時(shí)支持物理機(jī)和虛擬機(jī)環(huán)境,實(shí)現(xiàn)硬件資源和軟件資源的統(tǒng)一管理、統(tǒng)一分配、統(tǒng)一部署、統(tǒng)一監(jiān)控和統(tǒng)一備份,打破單個(gè)運(yùn)算對(duì)資源的獨(dú)占,提供動(dòng)態(tài)的高性能計(jì)算服務(wù)平臺(tái)。
表 與傳統(tǒng)的高性能計(jì)算相比“高性能計(jì)算云”的特點(diǎn)資源管理虛擬化用戶管理平臺(tái)支持?jǐn)?shù)據(jù)存儲(chǔ)用戶使用安全控制能耗管理作業(yè)管理系統(tǒng)為作業(yè)找資源只管理處理器、應(yīng)用軟件不支持獨(dú)立的用戶管理系統(tǒng)用戶無法獨(dú)享資源無法修改已安裝平臺(tái)、無法動(dòng)態(tài)修改沒有備份機(jī)制不支持異構(gòu)存儲(chǔ)無資源審批流程無法自定義資源配置用戶認(rèn)證管理無資源管理系統(tǒng)+作業(yè)管理系統(tǒng)為(用戶、應(yīng)用、作業(yè))動(dòng)態(tài)進(jìn)行資源創(chuàng)建、回收處理器、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)、應(yīng)用軟件服務(wù)器虛擬化、存儲(chǔ)虛擬化、網(wǎng)絡(luò)虛擬化統(tǒng)一的用戶管理用戶可以獨(dú)享資源可以同時(shí)支持多種平臺(tái)、可以動(dòng)態(tài)修改完善的備份、恢復(fù)機(jī)制異構(gòu)存儲(chǔ)平臺(tái)支持審批、拒絕、預(yù)留機(jī)制可以自定義資源平臺(tái)、軟件等用戶、網(wǎng)絡(luò)、訪問控制高效節(jié)能的資源利用技術(shù)
高性能計(jì)算云包含以下關(guān)鍵組成技術(shù):
統(tǒng)一的用戶和服務(wù)管理平臺(tái)
需要提供統(tǒng)一的云計(jì)算服務(wù)管理門戶,進(jìn)行整體資源管理和服務(wù)流程管理,使平臺(tái)管理員和用戶可以進(jìn)行自助式的各項(xiàng)服務(wù)管理操作,包括資源池的管理,資源管理和監(jiān)控,用戶服務(wù)的開通、停止、變更,用戶管理,資源使用情況統(tǒng)計(jì),服務(wù)申請(qǐng)及狀態(tài)查詢,能耗與節(jié)能策略管理、操作系統(tǒng)鏡像和軟件包管理等等。
根據(jù)高性能計(jì)算應(yīng)用的特點(diǎn),系統(tǒng)應(yīng)提供不同的應(yīng)用模板來支持不同分布式應(yīng)用(如Hadoop, MPI集群)的快速部署,以及服務(wù)器之間的關(guān)聯(lián)關(guān)系,如IP地址的指向,端口的匹配等等。
統(tǒng)一資源池管理
在傳統(tǒng)的計(jì)算資源管理模式中,管理員需要考慮每一個(gè)計(jì)算資源、每一個(gè)應(yīng)用系統(tǒng)的配置情況,需要考慮每一個(gè)應(yīng)用系統(tǒng)所需要的各種計(jì)算資源,包括服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)、應(yīng)用系統(tǒng)等等,這種管理模式的管理成本高,也讓管理員的工作變得非常復(fù)雜,需要人為考慮和干預(yù)的過程非常多,容易造成管理上的失誤。同時(shí),管理員很難對(duì)數(shù)據(jù)中心內(nèi)的計(jì)算資源和應(yīng)用系統(tǒng)進(jìn)行全盤考慮,不利于數(shù)據(jù)中心的整體優(yōu)化。
云在對(duì)計(jì)算資源的管理模式上采用池化的辦法,通過服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)等虛擬化技術(shù)將計(jì)算資源按照不同的標(biāo)準(zhǔn)組織成不同的資源池。在一個(gè)資源池內(nèi),可以包括服務(wù)器、存儲(chǔ)空間、網(wǎng)絡(luò)端口等。這樣,在一個(gè)資源池中我們就可以為某一個(gè)應(yīng)用系統(tǒng)提供所需要的所有資源。通過云計(jì)算的自動(dòng)化功能,云計(jì)算的管理員可以方便、快速地在資源池中定制化地選擇應(yīng)用系統(tǒng)需要的計(jì)算資源配置,并在使用結(jié)束后進(jìn)行快速回收。
支持物理機(jī)和虛擬機(jī)環(huán)境的動(dòng)態(tài)部署引擎
為了提供計(jì)算所必需的高性能,需要同時(shí)提供包括虛擬機(jī)和物理機(jī)環(huán)境的快速、動(dòng)態(tài)部署功能,并支持專用的高性能、低時(shí)延計(jì)算網(wǎng)絡(luò),如Infiniband、萬兆以太網(wǎng)等。
在整體方案中,通??梢詣澐忠徊糠仲Y源進(jìn)行虛擬化,從而提供一個(gè)共享的開發(fā)測(cè)試環(huán)境給用戶,便于用戶在正式提交作業(yè)之前進(jìn)行程序的調(diào)試和試運(yùn)行。在一些具體的應(yīng)用場景上,針對(duì)一些對(duì)性能要求很高的計(jì)算任務(wù),虛擬化帶來的性能開銷不可忽略,因此可以考慮在不虛擬化的情況下進(jìn)行資源的分配和管理。
靈活的服務(wù)接口
最終用戶可以通過云計(jì)算管理平臺(tái)獲取自己項(xiàng)目獨(dú)占的計(jì)算資源,包括硬件、應(yīng)用軟件和操作系統(tǒng)等,用戶可以在計(jì)算資源上按照自己的需求進(jìn)行個(gè)性化調(diào)整。另外,用戶也可以通過云計(jì)算管理平臺(tái)部署的計(jì)算資源上的作業(yè)管理系統(tǒng),以排隊(duì)的方式和其他用戶共享計(jì)算資源,來進(jìn)行作業(yè)的運(yùn)算。
根據(jù)多年的探索和實(shí)踐,IBM正在積極地與行業(yè)領(lǐng)先的獨(dú)立軟件開發(fā)商、企業(yè)以及高校合作,將私有云計(jì)算平臺(tái)擴(kuò)展到高性能計(jì)算領(lǐng)域。通過高性能計(jì)算云管理套件,可以將獨(dú)立的高性能計(jì)算資源連接成一個(gè)私有云,從而幫助用戶更高效地利用他們的高性能計(jì)算資源。其參考架構(gòu)如圖1所示。
為實(shí)現(xiàn)更智慧的計(jì)算平臺(tái),需要采用新的方法來設(shè)計(jì)和建設(shè)高性能計(jì)算中心,以便做到專為數(shù)據(jù)設(shè)計(jì),針對(duì)任務(wù)進(jìn)行調(diào)優(yōu),并且在云中管理。