關(guān)于云計(jì)算資源調(diào)度的一些思考

? ? ? ?在學(xué)術(shù)界和工業(yè)界胸完,云計(jì)算資源調(diào)度問題都被認(rèn)為與非確定性多項(xiàng)式(Non-deterministic polynomial)優(yōu)化問題一樣困難,即一個(gè)NP問題儡循。因此舶吗,解決相對常規(guī)的調(diào)度問題的算法在問題的規(guī)模增大時(shí)可能會遭受維度的破壞。隨著云計(jì)算的不斷發(fā)展和復(fù)雜性的增加择膝,這個(gè)問題變得更具挑戰(zhàn)性誓琼。

什么是資源調(diào)度?

? ? ? ?資源調(diào)度是指在特定的資源環(huán)境下肴捉,根據(jù)一定的資源使用規(guī)則腹侣,在不同的資源使用者之間進(jìn)行資源調(diào)整的過程。這些資源使用者對應(yīng)著不同的計(jì)算任務(wù)(例如一個(gè)虛擬解決方案)齿穗,每個(gè)計(jì)算任務(wù)存操作系統(tǒng)中對應(yīng)于一個(gè)或者多個(gè)進(jìn)程傲隶。通常有兩種途徑可以實(shí)現(xiàn)計(jì)算任務(wù)的資源調(diào)度:在計(jì)算任務(wù)所在的機(jī)器上調(diào)整分配給它的資源使用量,或者將計(jì)算任務(wù)轉(zhuǎn)移到其他機(jī)器上窃页。

? ? ? 下圖是將計(jì)算任務(wù)遷移到其他機(jī)器上的一個(gè)例子跺株。在這個(gè)例子中,物理資源A(如一臺物理服務(wù)器)的使用率遠(yuǎn)高于物理資源B脖卖,通過將計(jì)算任務(wù)1從物理資源A遷移到物理資源B乒省,使得資源的使用更加均衡和合理,從而達(dá)到負(fù)載均衡的目的畦木。


? ? ? ?對于云平臺的調(diào)度研究不僅僅讓每一個(gè)云計(jì)算廠家造了N多個(gè)輪子袖扛,也因此畢業(yè)了不少這個(gè)研究方向的博士碩士研究生,對于Kubernetes的調(diào)度分析網(wǎng)上也已經(jīng)爛大街了十籍,例如XXX基于Kubernetes的調(diào)度實(shí)踐等等這樣的分享演講也到處都是蛆封,大家都在討論用什么算法,提升了多少的性能勾栗,可并沒發(fā)現(xiàn)有人討論云平臺的調(diào)度究竟是一個(gè)什么樣的問題惨篱?

云資源調(diào)度問題

? ? ? ?云資源調(diào)度問題主要分為三層:為應(yīng)用程序調(diào)度資源,調(diào)度虛擬資源(如虛擬機(jī))到物理資源围俘,物理資源調(diào)度和落地砸讳。而且机断,在每一層可以有多個(gè)不同的目標(biāo)進(jìn)行優(yōu)化。在應(yīng)用層绣夺,可能要滿足用戶指定的服務(wù)水平目標(biāo)(SLO) - 即調(diào)度QoS吏奸,優(yōu)化提供商的效率,或者在兩者之間協(xié)商一些妥協(xié)陶耍。在虛擬資源層奋蔚,可以優(yōu)化負(fù)載均衡,提高資源利用率例如CPU和內(nèi)存的占比烈钞,此外還有成本效益或節(jié)能泊碑。

? ? ? 對于較小規(guī)模的云資源調(diào)度問題,即使使用窮舉調(diào)度算法將問題轉(zhuǎn)換為組合優(yōu)化的問題也可以滿足需求毯欣。然而馒过,作為一個(gè)NP難題,我們需要隨著維度的增加或要優(yōu)化的變量的數(shù)量而打破窮舉或枚舉的方法酗钞。因此腹忽,我們需要轉(zhuǎn)向啟發(fā)式的方法⊙庾鳎“在所有的啟發(fā)式方法中窘奏,最強(qiáng)大的是基于總體的EC算法,它有效地在團(tuán)隊(duì)成員之間交換搜索信息葫录。由于云資源調(diào)度的問題被認(rèn)為是NP難題着裹,所以它的難處理性最好通過EC算法來解決∶淄“這些”EC“算法是什么骇扇?不是最終的一致性,在這種情況下面粮,它指的是“進(jìn)化計(jì)算” - 例如最常提到的是遺傳算法少孝,粒子群算法和蟻群優(yōu)以及花授粉算法。

? ? ? ?就我自己粗淺認(rèn)識而言但金,雖然我們說有很多的解決方案韭山,例如OpenStack Nova郁季、kube-scheduler冷溃、oVirt等等,但我們不會見到一個(gè)通用的萬能的方案或者可以完全解決調(diào)度中可能增加的影響因子和支持硬件以及不同的需求的問題梦裂。調(diào)度這個(gè)問題本身不是我們拿來別人的方案來解決我們自己的問題似枕,而是我們的問題應(yīng)該使用什么樣的方案來解決,我覺得這兩種說法是有很大區(qū)別的年柠。

為什么說這是個(gè)不確定性問題凿歼?

首先我們面臨三個(gè)挑戰(zhàn):

第一個(gè)挑戰(zhàn)是平臺狀態(tài)一致性問題,相信做過云資源調(diào)度的同學(xué)一定遇到過超售的問題,這就是因?yàn)樾屡f數(shù)據(jù)的交叉導(dǎo)致在調(diào)度的過程出現(xiàn)了臨界的數(shù)據(jù)不一致答憔。

第二個(gè)挑戰(zhàn)是調(diào)度需求本身可能隨時(shí)間而改變味赃,這也是最不確定性的問題,這種不確定性可能來自于用戶虐拓,也可能來自對手心俗,需要考慮特殊的調(diào)度請求又要滿足軟件硬件的兼容。

第三個(gè)挑戰(zhàn)是規(guī)模蓉驹,隨著云計(jì)算的迅速發(fā)展城榛,資源,用戶态兴,任務(wù)和工作流程的規(guī)模不斷擴(kuò)大狠持。未來越來越多的任務(wù)將在云環(huán)境中處理,越來越多的云資源需要在互聯(lián)網(wǎng)普及的環(huán)境中進(jìn)行管理和調(diào)度瞻润。

所以喘垂,想要設(shè)計(jì)或者實(shí)現(xiàn)符合自己的云平臺調(diào)度方案,第一點(diǎn)就是定義需求邊界和成本绍撞。

最難的我覺得不是能不能實(shí)現(xiàn)這樣的一個(gè)調(diào)度器或者設(shè)計(jì)一個(gè)牛逼的調(diào)度算法王污,而是我們應(yīng)該怎么定義我們的調(diào)度需求邊界,我們比較看重什么因素楚午,哪些是我們完全不需要考慮兼容的昭齐,哪些在未來可能要解決的問題,舍棄與妥協(xié)矾柜。比如在平臺一致性問題的解決中可能我們需要避免在負(fù)載高的宿主機(jī)上調(diào)度阱驾,但這樣可能會降低資源的使用率。正如我們在考慮架構(gòu)時(shí)需要首先考慮的架構(gòu)的邊界怪蔑,沒有邊界的方案純屬扯淡里覆。

比如,我需要四個(gè)CPU缆瓣,你是不夠的話是就不給還是先給你兩個(gè)用著喧枷,能不能湊合下,這些都是彈性的弓坞,動(dòng)態(tài)的隧甚,可商量的。還有就是你的響應(yīng)性能是多少的要求呢渡冻?比如在我完成新版的調(diào)度之前的那一個(gè)版本的調(diào)度也是可用的戚扳,照樣支撐了數(shù)萬臺機(jī)器的調(diào)度并為億萬用戶正常服務(wù),當(dāng)上線新版的調(diào)度后族吻,調(diào)度性能上升了將近兩個(gè)數(shù)量級帽借,但對于外界使用是無感知的珠增,創(chuàng)建一臺機(jī)器需要分鐘級別的時(shí)間,而調(diào)度性能只是從秒級到毫秒級砍艾。還有就是是不是有對特殊設(shè)備的支持蒂教,例如GPU,特定的CPU等等脆荷,是不是要支持網(wǎng)絡(luò)和磁盤的調(diào)度悴品,支持不支持本地磁盤等等。有時(shí)候可能還需要判斷是IO類型的主機(jī)還是計(jì)算類型的主機(jī)简烘。另外還有些問題可能是我們自己臆造的苔严,例如我們會不由自主的想,要不要體現(xiàn)調(diào)度的公平性孤澎,可不可以預(yù)測等等届氢。但從我看到的而言,真正落地的有多少會去體現(xiàn)公平性覆旭,一般來說我們并不非要某一次調(diào)度一定是最優(yōu)的退子,我們僅僅需要的是能命中合適機(jī)器;還有對于預(yù)測的一些理論大概在學(xué)術(shù)界比較盛行吧型将!

真正的生產(chǎn)環(huán)境的云平臺調(diào)度主要在做兩件事寂祥,可用性和低成本,即如何在低成本的情況下滿足可用性七兜。這一點(diǎn)學(xué)術(shù)界大概對花費(fèi)考慮的不多丸凭,就我看來是這樣,總覺得資源是足夠的腕铸,這也是每年上百篇論文幾乎沒有落地的主要原因惜犀。另一個(gè)是算法真正的可行性,目前業(yè)界幾乎所有的調(diào)度狠裹,最有效的算法還是基于規(guī)則和資源狀態(tài)的調(diào)度虽界。工業(yè)界最終的方向是盈利,所有的事情都會基于這一點(diǎn)涛菠,所以提高調(diào)度的性能莉御,提高資源的使用率或者說降低成本將是主要的功能。

調(diào)度俗冻,一直在路上礁叔!

主要來源:知乎專欄 “進(jìn)擊的云計(jì)算”

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市言疗,隨后出現(xiàn)的幾起案子晴圾,更是在濱河造成了極大的恐慌颂砸,老刑警劉巖噪奄,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件死姚,死亡現(xiàn)場離奇詭異,居然都是意外死亡勤篮,警方通過查閱死者的電腦和手機(jī)都毒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碰缔,“玉大人账劲,你說我怎么就攤上這事〗鹇眨” “怎么了瀑焦?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長梗肝。 經(jīng)常有香客問我榛瓮,道長,這世上最難降的妖魔是什么巫击? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任禀晓,我火速辦了婚禮,結(jié)果婚禮上坝锰,老公的妹妹穿的比我還像新娘粹懒。我一直安慰自己,他們只是感情好顷级,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布凫乖。 她就那樣靜靜地躺著,像睡著了一般弓颈。 火紅的嫁衣襯著肌膚如雪拣凹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天恨豁,我揣著相機(jī)與錄音嚣镜,去河邊找鬼。 笑死橘蜜,一個(gè)胖子當(dāng)著我的面吹牛菊匿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播计福,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼跌捆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了象颖?” 一聲冷哼從身側(cè)響起佩厚,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎说订,沒想到半個(gè)月后抄瓦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體潮瓶,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年钙姊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了毯辅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡煞额,死狀恐怖思恐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情膊毁,我是刑警寧澤胀莹,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站婚温,受9級特大地震影響嗜逻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜缭召,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一栈顷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嵌巷,春花似錦萄凤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至晓折,卻和暖如春惑朦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背漓概。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工漾月, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人胃珍。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓梁肿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親觅彰。 傳聞我的和親對象是個(gè)殘疾皇子吩蔑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • YarnYarn產(chǎn)生背景:Yarn直接來自于MR1.0MR1.0 問題:采用的是master slave結(jié)構(gòu),ma...
    時(shí)待吾閱讀 5,649評論 2 23
  • feisky云計(jì)算填抬、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,843評論 0 5
  • 【什么是大數(shù)據(jù)烛芬、大數(shù)據(jù)技術(shù)】 大數(shù)據(jù),又稱巨量資料,指的是所涉及的數(shù)據(jù)資料量規(guī)模巨大到無法在合理時(shí)間內(nèi)通過傳統(tǒng)的應(yīng)...
    kimibob閱讀 2,743評論 0 51
  • bufferoverflow0 功能分析 :綁定 11 信號為 錯(cuò)誤函數(shù)(輸出 flag)赘娄。 利用過程:輸入長度 ...
    fantasy_learner閱讀 2,122評論 0 0
  • 今天除夕擅憔,落英微湖給您拜個(gè)早年啦鸵闪! 恭祝您及家人在新的一年里:幸福滿滿 檐晕、身體安康 暑诸; ...
    流云藍(lán)心閱讀 576評論 6 15