日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Nomad技术手册:调度(Scheduling)

發(fā)布時(shí)間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nomad技术手册:调度(Scheduling) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

調(diào)度是Nomad的核心功能之一。它是將任務(wù)從作業(yè)分配給客戶機(jī)的過(guò)程。此過(guò)程必須遵循作業(yè)中聲明的約束,并優(yōu)化資源利用率。本文檔記錄了Nomad中調(diào)度工作方式的詳細(xì)信息,以幫助用戶和開發(fā)人員構(gòu)建一個(gè)心智模型。這個(gè)設(shè)計(jì)很大程度上受到了谷歌在針對(duì)大型計(jì)算集群的靈活的、可伸縮的調(diào)度器Omega,以及使用Borg在谷歌進(jìn)行大規(guī)模集群管理上的工作的啟發(fā)。

高級(jí)主題!這個(gè)頁(yè)面涵蓋了Nomad的技術(shù)細(xì)節(jié)。您不需要了解這些細(xì)節(jié)就可以有效地使用Nomad。對(duì)于那些希望了解它們而不需要通過(guò)源代碼進(jìn)行深入研究的人來(lái)說(shuō),這里提供了詳細(xì)的文檔。

Nomad調(diào)度

Nomad有四個(gè)主要的“術(shù)語(yǔ)”;作業(yè)(jobs)、節(jié)點(diǎn)(nodes)、分配(allocations)和評(píng)估(evaluations)。作業(yè)由用戶提交,并表示所需的狀態(tài)。作業(yè)是要運(yùn)行的任務(wù)的聲明性描述,這些任務(wù)受到約束并需要資源。可以在運(yùn)行Nomad客戶端的集群節(jié)點(diǎn)上調(diào)度任務(wù)。作業(yè)中任務(wù)到客戶端的映射是使用分配完成的。分配用于聲明作業(yè)中的一組任務(wù)應(yīng)該在特定節(jié)點(diǎn)上運(yùn)行。調(diào)度是確定適當(dāng)分配的過(guò)程,是評(píng)估的一部分。

任何時(shí)候,外部狀態(tài)(期望的或突發(fā)的)發(fā)生變化,都將創(chuàng)建一個(gè)評(píng)估。期望的狀態(tài)是基于作業(yè)的,這意味著如果提交了新作業(yè)、更新了現(xiàn)有作業(yè)或注銷了作業(yè),期望的狀態(tài)都將發(fā)生變更。突發(fā)狀態(tài)是基于客戶端節(jié)點(diǎn)的,因此我們必須處理系統(tǒng)中任何客戶端的故障。這些事件觸發(fā)了一個(gè)新評(píng)估的創(chuàng)建,因?yàn)镹omad必須評(píng)估環(huán)境的狀態(tài),并將其與期望的狀態(tài)進(jìn)行協(xié)調(diào)。

這張圖顯示了通過(guò)Nomad進(jìn)行評(píng)估的流程:

評(píng)估的生命周期始于導(dǎo)致創(chuàng)建評(píng)估的事件。在掛起狀態(tài)中創(chuàng)建評(píng)估,并將其放入評(píng)估代理程序。在主服務(wù)器上運(yùn)行了一個(gè)評(píng)估代理。評(píng)估代理用于管理未決評(píng)估的隊(duì)列,提供優(yōu)先級(jí)排序,并確保至少一次運(yùn)行。

Nomad服務(wù)器運(yùn)行調(diào)度進(jìn)程(broker),默認(rèn)為每個(gè)CPU內(nèi)核一個(gè)進(jìn)程,用于處理評(píng)估。進(jìn)程從代理隊(duì)列中取出評(píng)估,然后按照作業(yè)指定的方式調(diào)用適當(dāng)?shù)恼{(diào)度器。Nomad附帶了一個(gè)優(yōu)化的長(zhǎng)存服務(wù)的服務(wù)調(diào)度器(service)、一個(gè)用于快速放置批作業(yè)的批調(diào)度器(batch)、一個(gè)用于在每個(gè)節(jié)點(diǎn)上運(yùn)行作業(yè)的系統(tǒng)調(diào)度器(system)以及一個(gè)用于內(nèi)部維護(hù)的核心調(diào)度器(core)。Nomad還可以擴(kuò)展以支持定制調(diào)度器。

調(diào)度器負(fù)責(zé)處理評(píng)估并生成分配計(jì)劃。計(jì)劃是收回、更新或創(chuàng)建分配的一組集合。用于生成計(jì)劃的特定邏輯可能因調(diào)度器而異,但通常情況下,調(diào)度器需要首先協(xié)調(diào)期望狀態(tài)和實(shí)際狀態(tài),以確定必須執(zhí)行的操作:需要放置新的分配,可能需要更新、遷移或停止現(xiàn)有的分配。

分配被分成兩個(gè)不同的階段,可行性校驗(yàn)和排名。在第一階段,調(diào)度器通過(guò)過(guò)濾掉不健康的節(jié)點(diǎn)、缺少必要驅(qū)動(dòng)程序的節(jié)點(diǎn)和沒有達(dá)到指定約束的節(jié)點(diǎn)來(lái)找到可用的節(jié)點(diǎn)。

第二階段是排名,調(diào)度程序?qū)捎霉?jié)點(diǎn)進(jìn)行打分,以找到最合適的節(jié)點(diǎn)。評(píng)分主要基于裝箱,用來(lái)優(yōu)化應(yīng)用程序的資源利用率和密度,但也增加了親和性和反親和性規(guī)則。Nomad自動(dòng)應(yīng)用了一個(gè)任務(wù)反親和性規(guī)則,該規(guī)則阻止一個(gè)任務(wù)組的多個(gè)實(shí)例合并。這種反親和性和裝箱優(yōu)化了的組合密度,同時(shí)減少了相關(guān)故障的概率。

一旦調(diào)度器對(duì)足夠的節(jié)點(diǎn)進(jìn)行了排序,就會(huì)選擇最高級(jí)別的節(jié)點(diǎn)并將其添加到分配計(jì)劃中。

當(dāng)計(jì)劃完成時(shí),調(diào)度器將計(jì)劃提交給將計(jì)劃的主節(jié)點(diǎn),主節(jié)點(diǎn)再將計(jì)劃添加到計(jì)劃隊(duì)列。計(jì)劃隊(duì)列管理掛起的計(jì)劃,提供優(yōu)先順序,并允許Nomad處理并發(fā)競(jìng)爭(zhēng)。多個(gè)調(diào)度器并行運(yùn)行,沒有鎖定或保留,使Nomad樂(lè)觀地并行。因此,調(diào)度器可能會(huì)在同一個(gè)節(jié)點(diǎn)上重疊工作,導(dǎo)致資源過(guò)度訂閱。計(jì)劃隊(duì)列允許主節(jié)點(diǎn)對(duì)此進(jìn)行保護(hù),并執(zhí)行計(jì)劃的部分或完全拒絕。

當(dāng)主節(jié)點(diǎn)處理計(jì)劃時(shí),它在沒有沖突時(shí)創(chuàng)建分配,否則會(huì)在計(jì)劃結(jié)果中通知調(diào)度器失敗。計(jì)劃結(jié)果會(huì)向調(diào)度器提供反饋,允許它在前一個(gè)計(jì)劃被部分或完全拒絕時(shí)終止或探查備用計(jì)劃。

一旦調(diào)度器完成了評(píng)估的處理,它就會(huì)更新評(píng)估的狀態(tài),并向評(píng)估代理承認(rèn)交付。這就完成了評(píng)估的生命周期。然后創(chuàng)建、修改或刪除的分配將由客戶端節(jié)點(diǎn)接收并開始執(zhí)行。

總結(jié)

以上是生活随笔為你收集整理的Nomad技术手册:调度(Scheduling)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。