讓我們直面這個問題吧:資源調度從來就不是個誘人的話題。它們是必須要做的事情,但是通常很復雜而且常常令用戶沮喪、讓系統管理員忙碌。最常見的抱怨是:"為什么我的作業沒有運行?"問題的答案通常依賴于對一些調度規則的解釋,或者干脆說已經滿負載,或者在極罕見的情況下稱一個用戶的程序導致了該問題。
如果你不知道什么是資源的時刻表,那么接下來的這幾段必須要看了。這個名詞是說,您有很多個資源、很多個作業在排隊,需要列出這些資源以最佳的狀態工作。一些常見的資源調度比如SunGird、Engine,Torque/Maui、Moab、PBS、Platform以及PlatformLava。集群是體現資源調度最好的例子。在一個128節點的集群里,每個計算節點有八個核。大部分的用戶的程序需要1-16個核來工作,但是有一些需要256個核。問題就是,給出一個工作的清單,什么才是這個集群被充分利用的最佳工作方式?
用戶在提交"作業"的時候經常通過一個腳本(類似于qsub,queuesummit)使得作業插入到隊列調度中去,如果被允許,用戶可以使用類似qstat(queuestatus,隊列狀態)的腳本來控制自己的程序,同時打印出一些讓人困擾的信息,沒有一個信息可以回答你"為什么我的作業沒有運行"(當然,這里也提供了這條消息,但是看起來最簡單的方式還是給系統管理員發個郵件)。
為了使調度問題更棘手一點,在某些情況下,我們不知道這些應用程序將會運行多長時間,而且也許有一些其它所需的資源(比如內存容量、存儲、處理器類型等)。因此,資源調度這個工作并不簡單,但是對于集群利用率來說非常重要。實際上,多核的出現使得內核級調度工作比以前更加重要(當然也更加困難)。在內核級,內核必須被安排,而且將任務在核心之間互相轉移必須基于緩存。有趣的是,高層次的資源調度能力已經延伸到CPU,控制核心的位置對獲得最好性能是非常必要的。
為什么資源調度將會成為高性能計算以后新的、很酷的工具?并不是因為一種新的額GUI或者一些其它的神秘的功能。真正的原因是云計算。但是這并不意味著云將會很快到處都是,實際上,資源調度將會把云放在合適的地方。
最近,我聽到一個新澤西技術研究所的DavidPerel使用SunGridEngine(SGE)所做的ApacheHadoop動態資源分配實驗。隨后有一個深入的研究,有關SunGridEngine更新的文章。在新的版本里有兩個誘人的更新,第一個是云計算,第二個則是Hadoop,類似于一種大眾云計算的東西。
最特別的是,SGE新的版本允許云中的互換,就好像亞馬遜的EC2。作業被允許,SGE可以控制之間的聯系。使用EC2的話,用戶需要為應用程序構建AMI圖像。除此之外,他們還需要提供EC2上的賬戶信息。一旦做到這一點,用戶可以講作業插入隊列,對于EC2來說,則有了一個"云爆發"。
另外一個新功能是與Hadoop的整合。如果你不知道什么是Hadoop的話,那就Google一下。只是架設好一個Hadopp集群并非易事。這是一種不依賴一個數據庫的強大的搜索模式。通常,地圖搜索減少啟動服務器的數量,給每個本地硬盤驅動器設置不同的數據。SGE已經得到增強,現在Hadoop作業可以直接提交。
在這一點上行,云中的高性能計算是一件喜憂參半的事情。除非你使用一個特別設計的HPC云計算,就好像Penguin的POD服務,對HPC性能至關重要的I/O資源可以多樣化。這可能會改變。作為單獨服務器包含更多內核。HPC應用調查顯示,57%的HPC用戶使用32處理器或者更少的核心。這些人證實了ClusterMoney.net有關此調查55%的數字。當云計算開始使用48個內核的服務器時,可能會消除一些服務器到服務器通信問題的形成。
高性能計算可能會采取一種不同的、使用密集多核服務器的方式進入云計算。用戶可以在桌面上就將作業加到SGE中去。這種資源調度方式會接觸可以運行虛擬機的本地資源或者云中資源。這種資源調度方式可能會讓HPC實現寶貴的桌面化。聽起來像網格計算,但是更簡單。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:云計算的高性能計算資源如何調度?