System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 中文字幕人妻无码一区二区三区,免费无码看av的网站,一本大道无码av天堂
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>
    當(dāng)前位置: 首頁 > 專利查詢>麒麟軟件有限公司專利>正文

    針對(duì)NUMA架構(gòu)下Direct IO密集型任務(wù)的調(diào)度方法及系統(tǒng)技術(shù)方案

    技術(shù)編號(hào):44378364 閱讀:3 留言:0更新日期:2025-02-25 09:53
    本發(fā)明專利技術(shù)提供一種針對(duì)NUMA架構(gòu)下Direct?IO密集型任務(wù)的調(diào)度方法及系統(tǒng),創(chuàng)建用戶態(tài)調(diào)度程序;建立調(diào)度域,初始化CPU利用率,實(shí)現(xiàn)bpf回調(diào)函數(shù);接管sched_ext可擴(kuò)展調(diào)度器調(diào)度策略;通過bpf?map與回調(diào)函數(shù)進(jìn)行交互,實(shí)現(xiàn)任務(wù)的排隊(duì)和派發(fā);根據(jù)IO量是否超過IO量閾值來標(biāo)記Direct?IO密集型任務(wù);將任務(wù)調(diào)度在對(duì)應(yīng)的磁盤節(jié)點(diǎn)內(nèi);超過設(shè)定的利用率閾值則動(dòng)態(tài)調(diào)整任務(wù)調(diào)度范圍;根據(jù)設(shè)定的閾值來決定是否需要將內(nèi)存遷移到正在訪問的磁盤節(jié)點(diǎn)。本發(fā)明專利技術(shù)減少跨NUMA節(jié)點(diǎn)訪問磁盤帶來的開銷,實(shí)現(xiàn)高效調(diào)度,提升任務(wù)性能。

    【技術(shù)實(shí)現(xiàn)步驟摘要】

    本專利技術(shù)屬于操作系統(tǒng),具體涉及一種針對(duì)numa架構(gòu)下direct?io密集型任務(wù)的調(diào)度方法及系統(tǒng)。


    技術(shù)介紹

    1、目前,linux系統(tǒng)大多采用cfs調(diào)度器(公平調(diào)度器)作為默認(rèn)的任務(wù)調(diào)度方式。cfs以其公平性和高效性著稱,通過引入虛擬時(shí)間的概念,確保所有任務(wù)都能獲得相對(duì)公平的系統(tǒng)資源分配。

    2、然而,cfs雖然能夠滿足大部分應(yīng)用場(chǎng)景的性能需求,但在面對(duì)一些特殊場(chǎng)景時(shí),其調(diào)度策略顯得力不從心。特別是當(dāng)numa架構(gòu)下的linux系統(tǒng)中存在大量direct?io密集型任務(wù)時(shí),cfs的調(diào)度效果并不理想。該類任務(wù)通常涉及大量的數(shù)據(jù)讀寫操作,這些操作往往需要等待外部設(shè)備(如硬盤)的響應(yīng),因此會(huì)消耗大量的等待時(shí)間。在numa架構(gòu)下,由于內(nèi)存訪問的非均勻性,該類任務(wù)可能會(huì)因?yàn)榈却龜?shù)據(jù)從遠(yuǎn)程內(nèi)存節(jié)點(diǎn)傳輸?shù)奖镜睾诵亩M(jìn)一步延長執(zhí)行時(shí)間,從而降低系統(tǒng)的整體性能。

    3、此外,cfs的調(diào)度策略是固定的,無法根據(jù)任務(wù)類型的不同進(jìn)行調(diào)整。這意味著,在direct?io密集型任務(wù)占主導(dǎo)的應(yīng)用場(chǎng)景中,cfs無法提供針對(duì)性的調(diào)度方法,從而無法充分發(fā)揮numa架構(gòu)的潛力。因此,需要一種針對(duì)該類應(yīng)用場(chǎng)景的高效調(diào)度方法,提高該類應(yīng)用場(chǎng)景的性能。


    技術(shù)實(shí)現(xiàn)思路

    1、本專利技術(shù)的目的在于提供一種針對(duì)numa架構(gòu)下direct?io密集型任務(wù)的調(diào)度方法及系統(tǒng),減少任務(wù)跨節(jié)點(diǎn)訪問磁盤,實(shí)現(xiàn)高效調(diào)度,提升該類任務(wù)的性能。

    2、為了實(shí)現(xiàn)上述目的,本專利技術(shù)的技術(shù)方案是這樣的:

    3、一種針對(duì)numa架構(gòu)下direct?io密集型任務(wù)的調(diào)度方法,包括:

    4、s1、創(chuàng)建用戶態(tài)調(diào)度程序;

    5、s2、掃描并記錄各磁盤設(shè)備所在numa節(jié)點(diǎn),建立調(diào)度域,初始化cpu利用率,創(chuàng)建線程池,指派線程定期更新cpu利用率;

    6、s3、基于linux內(nèi)核的sched_ext可擴(kuò)展調(diào)度器實(shí)現(xiàn)bpf回調(diào)函數(shù);

    7、s4、通過libbpf庫將所述bpf回調(diào)函數(shù)附加到所述sched_ext可擴(kuò)展調(diào)度器各回調(diào)點(diǎn),接管sched_ext可擴(kuò)展調(diào)度器調(diào)度策略;

    8、s5、通過bpf?map與回調(diào)函數(shù)進(jìn)行交互,實(shí)現(xiàn)任務(wù)的排隊(duì)和派發(fā);

    9、s6、跟蹤任務(wù)在單位時(shí)間內(nèi)的direct?io量,對(duì)io量進(jìn)行累計(jì)和衰減,根據(jù)io量是否超過io量閾值來標(biāo)記direct?io密集型任務(wù);

    10、s7、檢查所述direct?io密集型任務(wù)正在訪問的磁盤設(shè)備,將任務(wù)調(diào)度在對(duì)應(yīng)的磁盤節(jié)點(diǎn)內(nèi);

    11、s8、定期檢查所述direct?io密集型任務(wù)調(diào)度范圍內(nèi)cpu利用率情況,超過設(shè)定的利用率閾值則動(dòng)態(tài)調(diào)整任務(wù)調(diào)度范圍;

    12、s9、定期檢查所述direct?io密集型任務(wù)的私有內(nèi)存在各numa節(jié)點(diǎn)的分布,根據(jù)設(shè)定的閾值來決定是否需要將內(nèi)存遷移到正在訪問的磁盤節(jié)點(diǎn)。

    13、進(jìn)一步的,步驟s2包括:

    14、打開/sys/class/block目錄,讀取其中每個(gè)文件的軟鏈接,找出其中的pci設(shè)備文件并記錄pci設(shè)備號(hào);然后讀取/sys/bus/pci/devices/pci設(shè)備號(hào)/numa_node,使用全局結(jié)構(gòu)體變量記錄每個(gè)pci?設(shè)備及所對(duì)應(yīng)的numa節(jié)點(diǎn);

    15、讀取/proc/schedstat文件,文件中有關(guān)于系統(tǒng)中各cpu的調(diào)度域?qū)蛹?jí)信息,解析該文件內(nèi)容,將cpu每個(gè)調(diào)度域?qū)蛹?jí)的cpumask掩碼記錄在全局?jǐn)?shù)組變量中;

    16、讀取/proc/stat文件,文件中有關(guān)于各cpu時(shí)間的信息,解析該文件內(nèi)容,將各cpu的時(shí)間記錄在全局變量中,包括每個(gè)cpu的用戶態(tài)時(shí)間、系統(tǒng)態(tài)時(shí)間、空閑時(shí)間、中斷時(shí)間;

    17、調(diào)用c庫函數(shù)pthread_create()預(yù)先申請(qǐng)工作線程,每個(gè)工作線程調(diào)用pthread_cond_wait()阻塞等待任務(wù)下發(fā);調(diào)用pthread_cond_signal()喚醒一個(gè)工作線程,該工作線程每秒更新一次cpu利用率。

    18、進(jìn)一步的,步驟s3包括:

    19、基于linux內(nèi)核的sched_ext可擴(kuò)展調(diào)度器編寫bpf程序,實(shí)現(xiàn)相關(guān)bpf回調(diào)函數(shù),所述相關(guān)bpf回調(diào)函數(shù)包括:init回調(diào)函數(shù),init_task回調(diào)函數(shù),select_cpu回調(diào)函數(shù),enqueue回調(diào)函數(shù),dispatch回調(diào)函數(shù)。

    20、進(jìn)一步的,步驟s6包括:

    21、從bpf?enqueued?map中取出任務(wù)進(jìn)行排隊(duì),如果任務(wù)距離上次采樣已經(jīng)過去了設(shè)定的時(shí)間,則更新上一次采樣時(shí)間點(diǎn)和累計(jì)io量,累計(jì)io量按照加權(quán)移動(dòng)平均算法ewma進(jìn)行計(jì)算;每次比較累計(jì)io量是否超過設(shè)定的io量閾值,如果是則將任務(wù)標(biāo)記為direct?io密集型任務(wù)。

    22、進(jìn)一步的,步驟s7包括:

    23、檢查direct?io密集型任務(wù)正在訪問的磁盤設(shè)備及所處的numa節(jié)點(diǎn)是否已經(jīng)設(shè)置,如果沒有,則通過讀取/proc/pid/fd目錄下的文件描述符,找出其中的磁盤設(shè)備文件,與之前記錄的磁盤設(shè)備與numa節(jié)點(diǎn)進(jìn)行匹配并記錄;同時(shí),初始化任務(wù)的調(diào)度域?yàn)樽畹蛯蛹?jí),將最低層級(jí)的cpumask掩碼通過dispatched?map傳遞到bpf回調(diào)函數(shù)dispatch中。

    24、進(jìn)一步的,步驟s8包括:

    25、定期遍歷direct?io密集型任務(wù)當(dāng)前調(diào)度域范圍內(nèi)所有cpu的利用率,計(jì)算平均cpu利用率是否超過第一閾值,是則將調(diào)度域?qū)蛹?jí)提升,如果平均cpu利用率低于第二閾值,則降低調(diào)度域?qū)蛹?jí);direct?io密集型任務(wù)根據(jù)cpu繁忙情況動(dòng)態(tài)調(diào)整cpu運(yùn)行范圍,在調(diào)度域內(nèi)高負(fù)載情況下,提升調(diào)度域?qū)蛹?jí),降低任務(wù)排隊(duì)帶來的調(diào)度延遲,在調(diào)度域內(nèi)cpu空閑時(shí),降低調(diào)度域?qū)蛹?jí),提高direct?io密集型任務(wù)的cache命中率。

    26、進(jìn)一步的,步驟s9包括:

    27、設(shè)定檢查所述direct?io密集型任務(wù)的私有內(nèi)存在各numa節(jié)點(diǎn)的分布的定期時(shí)間,時(shí)間到達(dá)后,打開/proc/pid/numa_maps文件,解析文件里面的私有內(nèi)存頁,分別統(tǒng)計(jì)其在每個(gè)numa節(jié)點(diǎn)的私有頁大小;如果超過設(shè)定的閾值,則調(diào)用c庫函數(shù)migrate_pages()進(jìn)行內(nèi)存遷移,采用線程池的方式將內(nèi)存遷移任務(wù)交由各線程去處理,將內(nèi)存遷移到directio密集型任務(wù)正在訪問的磁盤節(jié)點(diǎn)。

    28、本專利技術(shù)另一方面還提出了一種針對(duì)numa架構(gòu)下direct?io密集型任務(wù)的調(diào)度系統(tǒng),包括:

    29、程序模塊:創(chuàng)建用戶態(tài)調(diào)度程序;

    30、初始化模塊:掃描并記錄各磁盤設(shè)備所在numa節(jié)點(diǎn),建立調(diào)度域,初始化cpu利用率,創(chuàng)建線程池,指派線程定期更新cpu利用率;

    31、回調(diào)函數(shù)模塊:基于linux內(nèi)核的sched_ext可擴(kuò)展調(diào)度器實(shí)現(xiàn)bpf回調(diào)函數(shù);

    32、策略模塊:通過libbpf庫將所述bpf回調(diào)函數(shù)附加到所述sched_ext可擴(kuò)展調(diào)度器各回調(diào)點(diǎn),本文檔來自技高網(wǎng)...

    【技術(shù)保護(hù)點(diǎn)】

    1.一種針對(duì)NUMA架構(gòu)下Direct?IO密集型任務(wù)的調(diào)度方法,其特征在于,包括:

    2.根據(jù)權(quán)利要求1所述的針對(duì)NUMA架構(gòu)下Direct?IO密集型任務(wù)的調(diào)度方法,其特征在于,步驟S2包括:

    3.根據(jù)權(quán)利要求1所述的針對(duì)NUMA架構(gòu)下Direct?IO密集型任務(wù)的調(diào)度方法,其特征在于,步驟S3包括:

    4.根據(jù)權(quán)利要求1所述的針對(duì)NUMA架構(gòu)下Direct?IO密集型任務(wù)的調(diào)度方法,其特征在于,步驟S6包括:

    5.根據(jù)權(quán)利要求1所述的針對(duì)NUMA架構(gòu)下Direct?IO密集型任務(wù)的調(diào)度方法,其特征在于,步驟S7包括:

    6.根據(jù)權(quán)利要求1所述的針對(duì)NUMA架構(gòu)下Direct?IO密集型任務(wù)的調(diào)度方法,其特征在于,步驟S8包括:

    7.根據(jù)權(quán)利要求1所述的針對(duì)NUMA架構(gòu)下Direct?IO密集型任務(wù)的調(diào)度方法,其特征在于,步驟S9包括:

    8.一種針對(duì)NUMA架構(gòu)下Direct?IO密集型任務(wù)的調(diào)度系統(tǒng),其特征在于,包括:

    9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序用于執(zhí)行如權(quán)利要求1-7任一項(xiàng)所述的針對(duì)NUMA架構(gòu)下Direct?IO密集型任務(wù)的調(diào)度方法。

    10.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的針對(duì)NUMA架構(gòu)下Direct?IO密集型任務(wù)的調(diào)度方法。

    ...

    【技術(shù)特征摘要】

    1.一種針對(duì)numa架構(gòu)下direct?io密集型任務(wù)的調(diào)度方法,其特征在于,包括:

    2.根據(jù)權(quán)利要求1所述的針對(duì)numa架構(gòu)下direct?io密集型任務(wù)的調(diào)度方法,其特征在于,步驟s2包括:

    3.根據(jù)權(quán)利要求1所述的針對(duì)numa架構(gòu)下direct?io密集型任務(wù)的調(diào)度方法,其特征在于,步驟s3包括:

    4.根據(jù)權(quán)利要求1所述的針對(duì)numa架構(gòu)下direct?io密集型任務(wù)的調(diào)度方法,其特征在于,步驟s6包括:

    5.根據(jù)權(quán)利要求1所述的針對(duì)numa架構(gòu)下direct?io密集型任務(wù)的調(diào)度方法,其特征在于,步驟s7包括:

    6.根據(jù)權(quán)利要求1所述的針對(duì)numa架構(gòu)下direct?io...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:李萬伍黃兵劉云王琦孫科
    申請(qǐng)(專利權(quán))人:麒麟軟件有限公司
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評(píng)論
    • 還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 国产成人无码AV一区二区| 波多野结衣AV无码| 西西人体444www大胆无码视频| 在人线av无码免费高潮喷水| 亚洲综合无码一区二区痴汉| 国产无码一区二区在线| 18禁网站免费无遮挡无码中文| 国产精品无码久久久久| 亚洲精品久久无码av片俺去也| 夜夜添无码一区二区三区| 久久久久久久久无码精品亚洲日韩| 亚洲av中文无码乱人伦在线咪咕 | 亚洲av成人无码久久精品| 亚洲日韩精品A∨片无码加勒比 | 国产亚洲精久久久久久无码| 精品久久久无码人妻中文字幕豆芽 | 久久中文字幕无码一区二区| 久久精品无码一区二区无码 | av无码免费一区二区三区| 日韩AV无码一区二区三区不卡毛片| 中文无码亚洲精品字幕| 在线看无码的免费网站| 91嫩草国产在线无码观看| 久久亚洲AV无码精品色午夜麻| a级毛片免费全部播放无码| 亚洲一级Av无码毛片久久精品| 日韩精品无码成人专区| 成在人线AV无码免费| 少妇中文无码高清| 亚洲精品97久久中文字幕无码 | 亚洲av无码片区一区二区三区| 亚洲av永久无码精品漫画| 国产AV无码专区亚洲AV毛网站 | 国产精品无码免费专区午夜| 免费A级毛片无码A| 国模无码人体一区二区| 亚洲AV无码久久| 久久无码专区国产精品发布| 亚洲午夜无码毛片av久久京东热| 亚洲AV成人噜噜无码网站| 久久久久久亚洲AV无码专区|