linux內(nèi)存管理論文(2)
linux內(nèi)存管理論文
linux內(nèi)存管理論文篇二
Linux環(huán)境下集群系統(tǒng)的資源管理
【摘要】隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展及大規(guī)模科學(xué)計(jì)算如氣象預(yù)報(bào)、自動化處理較高單位等對服務(wù)器的性能要求越來越高,對計(jì)算機(jī)的性能提出了更高的要求:需要硬件有靈活的可擴(kuò)展性,關(guān)鍵性的模塊需要可靠的容錯機(jī)制。計(jì)算機(jī)集群系統(tǒng)具有處理速度快、I/O吞吐量大,容錯性好、可靠性高,而且還具有良好的可擴(kuò)展能力等諸多優(yōu)點(diǎn),因此成為了當(dāng)前的主流。本文敘述了集群系統(tǒng)的資源的管理和分配。
【關(guān)鍵詞】LINUX;集群系統(tǒng);資源管理
1.集群系統(tǒng)概述
集群是一組通過高速網(wǎng)絡(luò)互聯(lián)的相互獨(dú)立的計(jì)算機(jī)的集合,配以專門軟件以單一系統(tǒng)的模式加以管理。在用戶看來,它是運(yùn)行在一系列自治處理單元上的普通系統(tǒng),每個結(jié)點(diǎn)有各自物理內(nèi)存空間并通過高速鏈路或者標(biāo)準(zhǔn)化網(wǎng)絡(luò)連接,實(shí)現(xiàn)對同一任務(wù)的協(xié)同計(jì)算。當(dāng)一個用戶與集群相互作用時(shí),集群就像是一個獨(dú)立的服務(wù)器。和傳統(tǒng)的高性能計(jì)算機(jī)技術(shù)相比,集群技術(shù)可以利用各檔次的計(jì)算機(jī)作為節(jié)點(diǎn),不僅系統(tǒng)造價(jià)低,還可以實(shí)現(xiàn)很高的運(yùn)算速度,完成大運(yùn)算量的計(jì)算,能夠逐步滿足當(dāng)今日益增長的超大數(shù)據(jù)量的石油物探處理需求。系統(tǒng)保持了分布式客戶機(jī)/服務(wù)器模式的開發(fā)性、可擴(kuò)展性的優(yōu)點(diǎn),同時(shí)又具備了終端/主機(jī)模式的資源共享和集中易于管理的優(yōu)點(diǎn)。相對集中的集群系統(tǒng),降低了系統(tǒng)管理的成本,而且還提供了和大型服務(wù)器系統(tǒng)相媲美的處理能力。高可用和高性能是集群服務(wù)器系統(tǒng)的兩個重要特性。
2.集群系統(tǒng)(CLUSTER)的特點(diǎn)
集群系統(tǒng)使由完整的計(jì)算機(jī)互聯(lián)組成一個統(tǒng)一的計(jì)算機(jī)系統(tǒng)具有極高的性能價(jià)格比。它需要專有軟件的支持,比如支持集群技術(shù)的操作系統(tǒng)或數(shù)據(jù)庫等,硬件方面可以根據(jù)不同實(shí)際需求,采用現(xiàn)成的通用硬件設(shè)備或特殊應(yīng)用的硬件設(shè)備。集群系統(tǒng)中可以動態(tài)地加入新的服務(wù)器和刪除需要淘汰的服務(wù)器,具備很強(qiáng)的可擴(kuò)展性,從而能夠最大限度地?cái)U(kuò)展系統(tǒng)以滿足不斷增長的應(yīng)用的需要;另外,要求集群系統(tǒng)具有可用性,即能夠?yàn)橛脩籼峁┎婚g斷的服務(wù),當(dāng)系統(tǒng)中的一個結(jié)點(diǎn)出現(xiàn)故障的時(shí)候,整個系統(tǒng)仍然能夠繼續(xù)為用戶提供服務(wù)。
3.集群系統(tǒng)的分類
集群系統(tǒng)可分為高可用性集群和高性能集群。高可用性集群的主要功能就是提供不間斷的服務(wù)。高性能集群通過將多臺機(jī)器連接起來同時(shí)處理復(fù)雜的計(jì)算問題,如模擬星球附近的磁場、預(yù)測龍卷風(fēng)的出現(xiàn)、定位石油資源的儲藏地等情況都需要對大量的數(shù)據(jù)進(jìn)行處理。傳統(tǒng)的處理方法是使用超級計(jì)算機(jī)來完成計(jì)算工作,但是超級計(jì)算機(jī)的價(jià)格比較昂貴,而且可用性和可擴(kuò)展性不夠強(qiáng),因此集群成為了高性能計(jì)算領(lǐng)域矚目的焦點(diǎn)。
4.集群系統(tǒng)的資源管理
系統(tǒng)資源是作業(yè)運(yùn)行的基礎(chǔ),這些資源包括集群的硬件資源和軟件資源,硬件資源是軟件資源的基礎(chǔ)。本系統(tǒng)是構(gòu)建在操作系統(tǒng)上的,只對本系統(tǒng)所涉及的范圍進(jìn)行分析。計(jì)算節(jié)點(diǎn)資源的利用率是系統(tǒng)性能的重要指標(biāo),資源利用率越高說明系統(tǒng)處理作業(yè)的計(jì)算能力越大,集群中的資源的有效利用程度直接影響系統(tǒng)中的作業(yè)運(yùn)行效率,所以必須對集群中的所有可用資源進(jìn)行有效管理,從而為資源分配和作業(yè)調(diào)度提供決策依據(jù)。服務(wù)器與計(jì)算節(jié)點(diǎn)上都有一個資源對象管理進(jìn)程,它們所管理的資源內(nèi)容與范圍是不同的。服務(wù)器對象管理進(jìn)程對整個集群系統(tǒng)中所有計(jì)算資源進(jìn)行統(tǒng)一管理,包含集群中所有的節(jié)點(diǎn)信息與作業(yè)信息。計(jì)算節(jié)點(diǎn)對象管理進(jìn)程只對此節(jié)點(diǎn)上的計(jì)算資源進(jìn)行管理,包含此節(jié)點(diǎn)上的資源信息與作業(yè)信息。
調(diào)配硬件資源,合理分配給每個項(xiàng)目的每一個用戶,一直是我們系統(tǒng)管理員的工作中的重要課題。某單位現(xiàn)擁有四套曙光集群和一套超微集群。全部運(yùn)行在RedHat Server4.6/5.3之上,主要設(shè)備如表1所示。
從系統(tǒng)組成角度說,集群系統(tǒng)是由多臺計(jì)算機(jī)組成的超級計(jì)算機(jī)。但是從最終用戶看來,集群系統(tǒng)是一臺計(jì)算機(jī),也就是說,集群系統(tǒng)的構(gòu)成對用戶是透明的。所以集群系統(tǒng)的管理的目的就是讓集群系統(tǒng)象一臺計(jì)算機(jī)一樣利于管理和使用。
工作中我們發(fā)現(xiàn)一些問題:
(1)業(yè)務(wù)單位資料的運(yùn)算處理通常伴隨著大容量的數(shù)據(jù)存取,由于數(shù)據(jù)量非常的大,所以只能存儲在一塊共用的硬盤陣列上,并由專門的I/O節(jié)點(diǎn)來管理存儲。當(dāng)需要更多的計(jì)算節(jié)點(diǎn)來并行計(jì)算以提升運(yùn)算速度的時(shí)候,由于同時(shí)對I/O節(jié)點(diǎn)進(jìn)行數(shù)據(jù)讀寫訪問,當(dāng)I/O傳輸達(dá)到的上限,過多的訪問申請反而會造成數(shù)據(jù)的擁堵。
(2)由于盤陣的容量相對較大,通常分成不同的卷,而在外部用戶來看,他們并不知道使用的卷具體位置在哪,所以會出現(xiàn),一個盤陣由于劃分了多個卷,每個卷存儲多個項(xiàng)目的現(xiàn)象。
(3)直接在I/O服務(wù)器上啟動軟件服務(wù)和工作窗口,并且調(diào)度其他計(jì)算節(jié)點(diǎn)并行作業(yè);I/O服務(wù)器本身負(fù)荷就相當(dāng)大,它要提供其他節(jié)點(diǎn)的數(shù)據(jù)讀寫訪問和傳輸服務(wù),不但要給自己讀寫數(shù)據(jù),它所控制的子節(jié)點(diǎn)也需要對它所掛載的盤陣并行讀寫,反而造成擁堵。
經(jīng)過不斷的摸索,我們總結(jié)出:
(1)同一個項(xiàng)目中,最多不超過100個計(jì)算節(jié)點(diǎn)同時(shí)用來處理一個項(xiàng)目。
(2)對于大盤陣最多只分三個卷,每個卷盡量只允許用在一個項(xiàng)目上,項(xiàng)目結(jié)束后,才重新分配給下次個項(xiàng)目。
(3)每個處理員分配單獨(dú)的登陸節(jié)點(diǎn),用來啟動軟件界面,不增加軟件服務(wù)器、數(shù)據(jù)庫服務(wù)器、I/O存儲服務(wù)器的額外負(fù)擔(dān)。
5.總結(jié)
隨著業(yè)務(wù)的不斷發(fā)展,單個服務(wù)器已經(jīng)逐漸不能滿足用戶的需求,而超級計(jì)算機(jī)的價(jià)格非常昂貴,相比之下,集群系統(tǒng)具有高性價(jià)比、高可用性、高擴(kuò)展性的特點(diǎn),因此逐漸成為了高性能計(jì)算的主流。集群系統(tǒng)是通過高速網(wǎng)絡(luò)互連起來的一組計(jì)算機(jī),它們作為一個整體為用戶提供應(yīng)用服務(wù)。
在業(yè)務(wù)數(shù)據(jù)處理中,服務(wù)器與計(jì)算節(jié)點(diǎn)的故障都會給用戶帶來一定程度的損失,如果服務(wù)器停止工作會導(dǎo)致整個系統(tǒng)工作的癱瘓,節(jié)點(diǎn)發(fā)生故障也會對系統(tǒng)造成一定的影響。尤其是當(dāng)系統(tǒng)中存在需要運(yùn)行很長時(shí)間的大作業(yè)時(shí),由于服務(wù)器或計(jì)算節(jié)點(diǎn)故障而導(dǎo)致作業(yè)的運(yùn)行失敗,會導(dǎo)致時(shí)間的浪費(fèi)與系統(tǒng)效率的降低。為了保證系統(tǒng)持續(xù)、可靠地提供服務(wù),集群系統(tǒng)的災(zāi)難恢復(fù)研究是非常重要的一部分內(nèi)容??梢圆捎卯?dāng)前比較流行的雙機(jī)備份方案,即采用兩臺服務(wù)器進(jìn)行系統(tǒng)中數(shù)據(jù)的備份與恢復(fù)工作,從而保證為系統(tǒng)提供持續(xù)可靠的服務(wù)。
參考文獻(xiàn)
[1]Alex Vrenios(美)著.馬朝暉譯.LINUX集群體系結(jié)構(gòu)[M].機(jī)械工業(yè)出版社.
[2]BarryWilkinson著.陸鑫達(dá)譯.Parallel Programming [M].北京:機(jī)械工業(yè)出版社,2002,1.
[3]James Turnbull,eter Liieverdink,Dennis Matotek(美)著.張錚,張勇,陳勇濤,劉春華,耿強(qiáng)譯.Linux系統(tǒng)管理大全[M].人民郵電出版社,2010,12.