久久综合人妻AV四区|国产乱伦手机av片免费|作爱视频在线观看免费|黄色免费三级片高清|国产黄色在线播放|久久精品丝袜噜噜丝袜|国模激情128p|欧美黄片免费视频|草碰日产人人一级爱|日韩欧美亚洲综合在线观看

新聞資訊

了解金山云最新資訊

新聞資訊 > 金山云發(fā)布在離線混部解決方案Colo
金山云發(fā)布在離線混部解決方案Colo

2023-09-15 00:00:00

根據Gartner數據統(tǒng)計,2023年全球IT支出預計將達到4.7萬億美元,比2022年增長4.3%。然而,該機構另一項調查數據顯示,全球數據中心服務器CPU利用率只有6%~12%。如何提升服務器資源利用率,降低IT基礎設施的總擁有成本(TCO),從而實現(xiàn)降本增效,成為企業(yè)發(fā)展過程中的重要議題。


在此背景下,金山云推出在離線混部解決方案Colocation(以下簡稱“Colo”),該方案在知乎已完成大規(guī)模集群驗證,集群資源利用率得到有效提升。通過在隔離類型上采用共享物理機內核、部署底座上采用容器部署、調度決策上采用動態(tài)決策,Colo具備6大功能特色,包括調度、重調度、資源隔離與限制、資源沖突檢測與處理、可觀測性以及節(jié)點實際負載查詢API等。


Colo的系統(tǒng)架構


從系統(tǒng)架構層面看,在離線混部解決方案Colo主要分為5個層級,主要包括基礎組件、資源管理和調度、節(jié)點管控、存儲管理以及系統(tǒng)隔離。其中值得一提的是,Colo在資源調度側增強了調度器相應的擴展能力,將調度器擴展為Colo-Manager、Colo-Scheuler、Colo-Descheuler,并在節(jié)點管控側提供了cololet組件(如下圖)。

在該方案中,Colo-Manager負責node節(jié)點cololet agent配置同步,例如BE任務內存&CPU分配比例、開啟某項資源壓制開關等,以及Node resource計算工作。


Colo-Scheuler負責在線和離線應用調度,擴展負載均衡調度(包含CPU、Memory、CPI干擾)、重調度預調度(重調度驅逐時的安全策略)、ColocationFit插件。


Colo-Descheuler是一款重調度器,可擴展負載均衡調度插件。主要應用于實時運行過程中,二次調度pod,擴展高級防護策略,按照Node、Namespace、Workload進行保護。


Cololet是節(jié)點級調度器,主要負責Pod的QoS保障。提供細粒度的資源使用指標、內核指標等監(jiān)控指標的采集,實際負載數據的采集與保存,CPU、內存、BlkIO、Network等資源的沖突檢測與動態(tài)調整,以及干擾探測等功能。


Colo的六大工作原理


01 Colo-scheduler調度器


Colo-scheduler是基于社區(qū)scheduler framework框架開發(fā)的調度器,能夠擴展感知離線資源可用量與在離線業(yè)務均衡分布的能力。根據Node節(jié)點實際負載指標計算得分并進行排序,為各個資源設置不同的權重值,實際剩余資源越多則得分越高,使得Pod在集群節(jié)點之間按照實際負載均衡分布。


其離線可用資源計算公式為:

離線可用資源 = 節(jié)點總可用資源 - 節(jié)點預留資源 - 系統(tǒng)已使用資源 - 在線任務實際使用資源

Node(BE).Alloc = Node.Total - Node.Reserved - System.Used - Pod(LS).Used


02 Descheduler重調度器


重調度器定期檢測集群狀態(tài),對不符合預期的情況進行動態(tài)調整,使集群始終處于健康狀態(tài)。例如:當Node節(jié)點上Pod數量超過閾值或當某個Namespace中的Pod數量超過閾值時,均會觸發(fā)Pod遷移;將Pod從實際利用率過高的節(jié)點遷移到利用率不足的節(jié)點;驅逐違反node affinity的Pod。


03 資源隔離


對CPU、Memory、blkio、網絡帶寬等資源維度進行隔離。


04 沖突檢測和處理

  • 對周期性離線任務CPU,控制內存資源上限;
  • 對周期性在線服務CPU,保證內存資源;
  • 在資源爭搶清空下,驅逐離線任務;
  • 周期性釋放離線任務內存/緩存;
  • 周期性對在線任務帶寬進行檢測與保證

05 eBPF內核監(jiān)控指標采集


使用ebpf的方式采集以下5種內核監(jiān)控指標,包括:


  • cpu-runq-latency-public(從任務在運行隊列中排隊到上下文切換和執(zhí)行的時間)
  • ipcstat(統(tǒng)計cpu時間片上執(zhí)行的指令數)
  • cache-miss
  • llc-cache
  • memory-alloc-latency(內存分配延遲)


06 NUMA調度


NUMA(非一致性內存訪問)調度通過CPU分配策略與內存分配策略,最大化保證業(yè)務進程CPU訪問內存的性能。


Colo資源分配與調度策略



Priority(調度優(yōu)先級)


Colo將Priority(調度優(yōu)先級)分為colo-prod/colo-mid/colo-batchBatch/colo-free四個等級,優(yōu)先級依次遞減,Pod Yaml中指定申請的資源優(yōu)先級,colo-scheduler會基于總量和分配量做調度。具體如下:


QoS(服務質量)


Colo將 QoS(服務質量)整體分為 System(系統(tǒng)級服務)、Latency Sensitive(延遲敏感性的在線服務)及Best Effort(資源消耗型的離線任務)三類,根據應用性能敏感程度的差異,Latency Sensitive 又細分為 LSE、LSR 和 LS。具體如下:

Priority與QoS關系描述


在 Priority 和 QoS 的使用上,二者整體是正交的兩個維度,可以排列組合使用。不過受模型定義和實際的需求情況影響,部分排列組合存在約束。因此,建議的組合方式如下:

Colo使用場景及使用方式


在使用Colo調度系統(tǒng)進行在離線業(yè)務混部時,根據不同業(yè)務場景可通過配置Priority與QoS的關鍵字段colo.sh/qosClass與priorityClassName字段進行匹配部署。


典型場景:


  • colo-prod & LS:適用于典型的在線服務,通常對應用的延遲、資源質量要求較高,運行時間較長,還需要保證一定的資源彈性能力。
  • colo-batch & BE:適用于混部場景中的低優(yōu)離線任務,通常表現(xiàn)為對資源質量有相當的忍耐度,對延遲不敏感,運行時間相對較短,例如批處理類型的Spark/MR任務、人工智能訓練任務等。


典型場景的增強:

  • colo-prod & LSR/LSE:適用于比較敏感的在線服務,可以接受犧牲資源彈性而換取更好的確定性(如CPU邦核),對應用時延要求極高。
  • colo-mid/colo-free & BE:Colo-mid&BE適用于對資源要求較高的離線任務,例如流式計算、近線計算等場景;colo-free&BE更適用于更低優(yōu)先級的離線任務,例如研發(fā)人員的測試場景。



Colo的落地實踐



目前,金山云與知乎聯(lián)合共建的Colo方案已在知乎完成了大規(guī)模部署,實現(xiàn)了大部分核心業(yè)務的落地,助力其混部集群利用率均值顯著提升。



Colo的三大產品優(yōu)勢


在落地實踐中,Colo展現(xiàn)出以下三個產品優(yōu)勢:


01 顯著提升資源利用率


在保證服務穩(wěn)定性的基礎上有效利用資源,集群平均利用率顯著提升。


02 兼顧靈活調度與服務穩(wěn)定

通過可觀測性體系、動態(tài)決策、資源隔離、資源沖突檢測與處理、調度等控制手段,充分保證混部服務穩(wěn)定性。


03 豐富的策略支持

彌補原項目資源預測、blkio/網絡帶寬限制、沖突檢測能力、內存回收上的不足,額外支持eBPF內核指標采集、numa調度、節(jié)點實際負載查詢API等功能。


未來,混合部署將隨著技術的發(fā)展而逐漸豐富,而金山云還將在提升資源利用率的宗旨下,基于容器調度場景,對Colo的功能特性持續(xù)進行優(yōu)化和升級。