欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于提升 CPU 資源隔離的混部技術(shù)細(xì)節(jié)

openEuler ? 來源:openEuler ? 作者:openEuler ? 2022-09-22 10:04 ? 次閱讀

「概述」

在數(shù)據(jù)中心服務(wù)器或者各種云集群(后續(xù)簡稱集群)的生產(chǎn)環(huán)境上,部署著很多日常的在線(LC, Latency-critical service)服務(wù)。這類服務(wù)具有一定的負(fù)載不確定性,集群需要將服務(wù)器的平均利用率保持在較低的水平,使得當(dāng)突發(fā)流量帶來請求洪峰時,仍有充足資源用于計算與響應(yīng),從而避免了請求堆積造成的服務(wù)癱瘓,保證用戶能夠擁有良好的體驗。但是這樣做造成了大批的空閑資源浪費,提高了維護(hù)成本。在這種條件下想要提高資源利用率,一種直接的方式是在線服務(wù)負(fù)載較低時,部署另一種任務(wù),提高資源的利用效率。這類應(yīng)用不要求有極高的響應(yīng)速度,但是將耗費較大的計算資源,我們稱之為離線任務(wù)(BE, Best-effort batch)。因此各大云服務(wù)廠商引入在線離線混合部署方案來提升服務(wù)器的資源利用率,以降低云的運營成本。但事物的發(fā)展是具有兩面性的,混合部署也不例外,提升資源利用率的同時也會帶來資源隔離的問題。

本文詳細(xì)介紹并分享關(guān)于提升 CPU 資源隔離的混部技術(shù)細(xì)節(jié):

-「CPU 搶占」:當(dāng)一臺服務(wù)上同時存在在線服務(wù)、離線服務(wù),如果不對離線服務(wù)加以限制,離線服務(wù)將會盡可能多的占用資源,從而增加在線任務(wù)的相應(yīng)時延。所以本方案在同一個核上的在線(LC)服務(wù)能夠搶占壓制離線(BE)服務(wù),最終保證在線服務(wù)的 QoS.

-「SMT 隔離控制」:同一個物理 CPU 的超線程共享核心的硬件資源,如 Cache 和計算單元。當(dāng)在線任務(wù)和離線任務(wù)同時運行在一對超線程上時,會因為硬件資源爭搶出現(xiàn)相互干擾的情況。此時需要驅(qū)離離線任務(wù),該 HT 核進(jìn)入 idle。

在混部場景 CPU 在離線調(diào)度的實現(xiàn)中,存在在線作業(yè)時,我們會對離線任務(wù)進(jìn)行 throttle,以確保在線任務(wù)的 CPU 資源供應(yīng)。當(dāng)開啟 HT 后,我們會驅(qū)離同時運行在同一個物理核且運行在不同邏輯核的離線任務(wù)。本方案的設(shè)計目標(biāo)是保證在線業(yè)務(wù)服務(wù)質(zhì)量前提下實現(xiàn)資源利用率最大化提升。因此本方案的設(shè)計是圍繞如何提升 CPU 資源利用率和保障在線業(yè)務(wù)的響應(yīng)速度展開。主要包括以下兩個子特性的設(shè)計:

特性一、CPU 搶占

「(1)在線任務(wù)搶占時延保證」

為了保證在線任務(wù)能夠快速搶占離線任務(wù),我們默認(rèn)會將離線任務(wù)的調(diào)度策略設(shè)置為SCHED_IDLE,而在線任務(wù)調(diào)度策略不做修改(通常情況下在線任務(wù)的調(diào)度策略為SCHED_OTHER),當(dāng)在線任務(wù)搶占離線任務(wù)時,可以快速搶占,不受限于 sched_min_granularity_ns 和sched_wakeup_granularity_ns機(jī)制限制。

「(2)在線任務(wù)絕對壓制離線任務(wù)」

當(dāng)在線任務(wù)在運行時,離線任務(wù)需要停止運行,以避免和在線任務(wù)搶占 CPU 資源,因此在線任務(wù)需要盡可能地壓制離線任務(wù),通過引入 throttle 機(jī)制對離線任務(wù)進(jìn)行限制, 在一個 CPU 上同時存在在線和離線任務(wù)的場景下,將離線組對應(yīng)的cfs_rq 添加到一個全局 percpu 鏈表throttle_list,從而將 CPU 資源完全讓給在線任務(wù)。具體流程如下:

39d807a6-39b8-11ed-9e49-dac502259ad0.png

圖 1 離線任務(wù) throttle

特性二、SMT 隔離控制

由于同一個物理 CPU 上的超線程共享核心的硬件資源,比如 Cache 和計算單元。當(dāng)在線任務(wù)和離線任務(wù)同時運行在一對超線程上時,相互之間會因為硬件資源爭搶,而出現(xiàn)相互干擾的情況。而 CFS 在設(shè)計時完全沒有考慮這個問題。其結(jié)果是,在混部場景中,在線業(yè)務(wù)的性能受損。實際測試使用 CPU 密集型 benchmark,因超線程導(dǎo)致的性能干擾可達(dá) 40%+。雖然 Linux 5.14 版本已經(jīng)合入了 Core Scheduing,但該特性本身是為了解決利用 SMT 側(cè)信道攻擊的,避免互相不被信任的兩個進(jìn)程工作在一個核的不同 SMT 上。其有幾點缺陷是我們不用該特性做 SMT 驅(qū)離的理由,首先其設(shè)計和實現(xiàn)過重,開銷較大(比如 core 級別的 rq lock)。其次其并不支持組調(diào)度功能,是以進(jìn)程為粒度進(jìn)行隔離,而我們的需求是希望對在線任務(wù)和離線任務(wù)進(jìn)行隔離。為了盡可能減輕這種競爭的影響,我們讓一個核執(zhí)行在線任務(wù)的時候,它對應(yīng)的 MT 上不再運行離線任務(wù);或者當(dāng)一個核上有離線任務(wù)運行的時候,在線任務(wù)調(diào)度到了其對應(yīng)的 HT 上時,會由該在線任務(wù)發(fā)送 IPI 將離線任務(wù)驅(qū)趕走。保證在線任務(wù)運行時不被干擾。如下圖所示:

3a123282-39b8-11ed-9e49-dac502259ad0.png

圖 2 SMT 隔離控制方案設(shè)計

方案需要重點解決的問題

(1)離線任務(wù) kill boost

當(dāng)在線任務(wù) 100% 運行時,kill 一個離線任務(wù),此時離線任務(wù)需要得到運行以釋放一些系統(tǒng)資源,但是因為當(dāng)前方案在線任務(wù)會對離線任務(wù)產(chǎn)生絕對壓制,為此引入 kill boost 解決此問題;

離線任務(wù)所在 group 為離線 group,root group 為在線任務(wù),當(dāng)對一個離線任務(wù)進(jìn)行 kill 時,將對應(yīng)的離線任務(wù)移入到 root group, 從而使離線任務(wù)變?yōu)樵诰€任務(wù),能夠得到機(jī)會運行從而釋放資源。

(2)優(yōu)先級反轉(zhuǎn)

如果在線任務(wù)和離線任務(wù)之間有共享資源(比如內(nèi)核中的一些公共數(shù)據(jù)),當(dāng)離線任務(wù)因訪問共享資源而拿到鎖(抽象一下,不一定是鎖)后,如果被“絕對壓制”,一直無法運行,當(dāng)在線任務(wù)也需要訪問該共享資源,而等待相應(yīng)的鎖時,優(yōu)先級反轉(zhuǎn)出現(xiàn),導(dǎo)致死鎖(長時間阻塞也可能)。優(yōu)先級反轉(zhuǎn)是調(diào)度模型中需要考慮的一個經(jīng)典問題。

目前該方案主要分為兩個模塊,優(yōu)先級反轉(zhuǎn)檢測和優(yōu)先級反轉(zhuǎn)處理:

「優(yōu)先級反轉(zhuǎn)檢測」:出現(xiàn)優(yōu)先級反轉(zhuǎn)的前提的是,在線任務(wù)長時間 100%占用 CPU,導(dǎo)致離線任務(wù)被壓制無法釋放資源導(dǎo)致,基于這一特點,我們可以通過檢測離線任務(wù)是否長時間沒有得到運行來判斷是否可能存在優(yōu)先級反轉(zhuǎn)流程。

「優(yōu)先級反轉(zhuǎn)處理」:當(dāng)檢測到優(yōu)先級反轉(zhuǎn)時,對應(yīng) CPU 上的離線任務(wù)不再被在線任務(wù)壓制, 可以正常運行,在返回用戶態(tài)之前會進(jìn)入睡眠流程,其中每次睡眠時間可以根據(jù)參數(shù)進(jìn)行設(shè)置。當(dāng) CPU 處理完隊列中的所有任務(wù)時,就會進(jìn)入 idle, 此時代表當(dāng)前 CPU 恢復(fù)正常情況。代表優(yōu)先級反轉(zhuǎn)問題已經(jīng)解決,進(jìn)入正常的在離線混跑邏輯。

任務(wù)管理

容器混部場景中,在離線任務(wù)是以 Cgroup 組的形式進(jìn)行配置的,所以我們提供了 Cgroup 接口進(jìn)行任務(wù)管理。對應(yīng)路徑為:

/sys/fs/cgroup/cpu/xxx/cpu.qos_level

其中,cpu.qos_level文件代表當(dāng)前 group 里任務(wù)的在離線屬性,默認(rèn)值為 0,代表該任務(wù)為在線任務(wù)組; 若值為-1 則代表為離線任務(wù)組

于是,如果想要對任務(wù)進(jìn)行管理,可以在工作節(jié)點上創(chuàng)建離線任務(wù)組,將離線任務(wù)的 pid 寫入到該組的 task 中,再設(shè)置對應(yīng)的cpu.qos_level文件:

# echo  > /sys/fs/cgroup/cpu/xxx/tasks# echo -1 > /sys/fs/cgroup/cpu/xxx/cpu.qos_level

通過混部引擎 rubik 進(jìn)行管理

在容器混合部署場景下,混部引擎 rubik 可以自動感知用戶配置的業(yè)務(wù)優(yōu)先級并配置其 CPU 優(yōu)先級屬性,rubik 具體的介紹和使用詳見《openEuler 資源利用率提升之道 03:rubik 混部引擎簡介》。

針對本文提到的 CPU 優(yōu)先級的配置,用戶只需要在部署業(yè)務(wù) pod 時,在 yaml 內(nèi)添加volcano.sh/preemptable的 annotation 標(biāo)識業(yè)務(wù)屬性,rubik 就會自動設(shè)置 pod 對應(yīng) cgroup 組的 cpu.qos_level 值。例如,如下為一個 nginx 在線業(yè)務(wù) pod 的 yaml 文件:

# cat nginx-online.yamlapiVersion: v1kind: Podmetadata:  name: nginx-online  annotations:    volcano.sh/preemptable: "false"   # volcano.sh/preemptable為true代表業(yè)務(wù)為離線業(yè)務(wù),false代表業(yè)務(wù)為在線業(yè)務(wù),默認(rèn)為falsespec:  containers:  - name: nginx    image: nginx    resources:      limits:        memory: "200Mi"        cpu: "1"      requests:        memory: "200Mi"        cpu: "1"

執(zhí)行kubectl apply -f nginx-online.yaml部署 nginx 業(yè)務(wù)后,進(jìn)入nginx-onlinePod 對應(yīng)的 cgroup 路徑下,查看cpu.qos_level是否已設(shè)置(在線業(yè)務(wù)為 0,離線業(yè)務(wù)為-1):

# cat /sys/fs/cgroup/cpu/kubepods/pod59f1cdfa-a0ad-4208-9e95-efbef3519c00/cpu.qos_level0

「總結(jié)」

本文介紹的“CPU 在離線搶占”和“SMT 隔離控制”在在離線混部場景對 CPU 資源進(jìn)行管控,已經(jīng)有比較好的效果了,但還有一些不夠完美的地方,如 LLC/MBA 動態(tài)調(diào)整軟件策略不夠精細(xì),要達(dá)到較好的效果依賴硬件優(yōu)先級算法,我們可以期待新的鯤鵬服務(wù)器。同時在公有云場景對鄰居干擾的消減也是很重要的,openEuler 在這方法也做了一些探索,“潮汐 affinity”技術(shù)取得了不俗的效果,也會在后續(xù)的文章中與大家見面。下一期將會分享資源利用率內(nèi)存相關(guān)的技術(shù)。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10918

    瀏覽量

    213164
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9338

    瀏覽量

    86156
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3406

    瀏覽量

    66499

原文標(biāo)題:openEuler 資源利用率提升之道 04:CPU 搶占和 SMT 隔離控制

文章出處:【微信號:openEulercommunity,微信公眾號:openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    應(yīng)用Bluetooth Smart技術(shù)的全套智能騎行設(shè)備的技術(shù)細(xì)節(jié)和應(yīng)用場景,不看肯定后悔

    應(yīng)用Bluetooth Smart技術(shù)的全套智能騎行設(shè)備的技術(shù)細(xì)節(jié)和應(yīng)用場景,不看肯定后悔
    發(fā)表于 05-21 06:47

    openEuler 資源利用率提升之道 01:概論

    ;gt;40%)。相關(guān)技術(shù)資源超賣、資源分級隔離、反饋控制L3: 「泛型」 :混合部署業(yè)務(wù)
    發(fā)表于 07-06 09:54

    openEuler資源利用率提升之道02:典型應(yīng)用下的效果

    有效利用 Web Serving 空閑時的 CPU 資源,實現(xiàn)資源利用率的提升,但如果只是簡單地混合部署,CPU 密集的離線業(yè)務(wù)必然會對在線
    發(fā)表于 08-10 11:12

    openEuler 資源利用率提升之道 03:rubik 引擎簡介

    /cpu.qos_level0展望在離線混合部署作為提升數(shù)據(jù)中心資源利用率的重要手段,得到學(xué)術(shù)界和工業(yè)界的關(guān)注,成為了研究的熱點領(lǐng)域,但目前也面臨著諸多技術(shù)挑戰(zhàn),尚有許多亟待解決的問題
    發(fā)表于 09-01 11:00

    openEuler 資源利用率提升之道 04:CPU 搶占和 SMT 隔離控制

    隔離的問題。本文詳細(xì)介紹并分享關(guān)于提升 CPU 資源隔離
    發(fā)表于 09-22 16:50

    愛奇藝:基于龍蜥與 Koordinator 在離線的實踐解析

    服務(wù)質(zhì)量,愛奇藝引入了龍蜥操作系統(tǒng)(Anolis OS)。Group Identity 功能和 CPU Burst 功能對當(dāng)前的效果起到了很大的提升作用。Anolis OS 通過配
    發(fā)表于 12-22 15:56

    MIT公布“盲動”機(jī)器人技術(shù)細(xì)節(jié)

    7月7日美國麻省理工學(xué)院近日發(fā)布公報稱,該校研究人員最新公布了一種“盲動”機(jī)器人的技術(shù)細(xì)節(jié)。這種機(jī)器人不需要借助視覺系統(tǒng),可在崎嶇地形中穿行跳躍,有望在危險工作環(huán)境中得到廣泛應(yīng)用。
    的頭像 發(fā)表于 07-11 15:49 ?3120次閱讀

    意法半導(dǎo)體公布ST54J系統(tǒng)芯片(SoC)的技術(shù)細(xì)節(jié)

    意法半導(dǎo)體日前公布了其集成NFC(近場通信)控制器、安全單元和eSIM的高集成度移動安全解決方案ST54J系統(tǒng)芯片(SoC)的技術(shù)細(xì)節(jié)
    的頭像 發(fā)表于 10-10 11:01 ?6870次閱讀

    要想電流測得準(zhǔn),一定不能忽視的技術(shù)細(xì)節(jié)(第二講)

    要想電流測得準(zhǔn),一定不能忽視的技術(shù)細(xì)節(jié)(第二講)
    的頭像 發(fā)表于 07-02 11:40 ?2915次閱讀

    小米手表e-SIM技術(shù)細(xì)節(jié)揭露,明天發(fā)布

    11月4日消息,小米生態(tài)鏈總經(jīng)理屈恒揭秘了小米手表e-SIM技術(shù)細(xì)節(jié)。
    的頭像 發(fā)表于 11-04 15:31 ?4701次閱讀

    高通全新旗艦芯片驍龍888技術(shù)細(xì)節(jié)揭曉

    高通正式揭曉全新芯片Snapdragon 888(S888)技術(shù)細(xì)節(jié),預(yù)計替Android旗艦手機(jī)帶來哪些改變呢?外媒整理五大重點,不僅是性能、手游表現(xiàn)提升,就連拍照都能藉由S888有更好的效果。
    的頭像 發(fā)表于 12-03 12:01 ?2102次閱讀

    CPU共享資源隔離的利器MPAM特性介紹

    x86 RDT[2]技術(shù)后的另一個針對 CPU 訪存系統(tǒng)資源隔離的全新特性倍受關(guān)注,相比其他架構(gòu)的類似特性,Arm64 架構(gòu)下的 MPAM 特性采用全新的確定性流控方式,控制手段更加
    的頭像 發(fā)表于 04-20 11:23 ?1.5w次閱讀
    <b class='flag-5'>CPU</b>共享<b class='flag-5'>資源</b><b class='flag-5'>隔離</b>的利器MPAM特性介紹

    一文解析鴻蒙系統(tǒng)誕生背景、技術(shù)細(xì)節(jié)生態(tài)圈

    從鴻蒙系統(tǒng)的產(chǎn)生背景、開源技術(shù)細(xì)節(jié)和產(chǎn)業(yè)鏈生態(tài)圈全面解析鴻蒙系統(tǒng)。 華為6月2日正式發(fā)布的鴻蒙系統(tǒng)無疑占據(jù)了最近熱點話題的C位,雖然不全是贊美的聲音,但這種努力打破美國壟斷,挑戰(zhàn)谷歌、蘋果在移動
    的頭像 發(fā)表于 06-11 16:14 ?6525次閱讀

    數(shù)據(jù)中心的集群資源利用分析綜述

    數(shù)據(jù)中心的集群資源利用分析綜述
    發(fā)表于 06-24 11:47 ?16次下載

    深入解析Zephyr RTOS的技術(shù)細(xì)節(jié)

    ,Zephyr OS在嵌入式開發(fā)中的知名度逐漸增加,新的微控制器和開發(fā)板都支持Zephyr。本文將深入討論Zephyr RTOS的技術(shù)細(xì)節(jié)。
    的頭像 發(fā)表于 10-22 16:47 ?751次閱讀
    深入解析Zephyr RTOS的<b class='flag-5'>技術(shù)細(xì)節(jié)</b>