新四季網

一種基於NUMA系統的任務調度方法及裝置與流程

2023-12-07 07:26:31 1


本發明涉及計算機技術領域,特別是涉及一種基於numa系統的任務調度方法及裝置。



背景技術:

隨著計算機技術的快速發展,numa(nonuniformmemoryaccessarchitecture,非統一內存訪問結構)技術也得到了快速發展,同時,基於numa技術構建的numa系統也在各行業得到了廣泛應用。

numa系統包含多個numa節點,numa節點用於承載任務的執行。不同任務對不同類型資源的需求不同,當numa系統產生瓶頸,出現系統性能下降問題時,需要通過任務調度來解決。

在現有技術中,多是對任務進行隨機調度,即隨機將目標任務從a節點調度到b節點上,經過一段時間後,如果系統性能未得到提升,則繼續進行任務的隨機調度。

這種隨機調度的方法存在一定的缺點,其很難從根本上解決numa系統當前瓶頸問題,系統性能也不能得到有效提升。



技術實現要素:

本發明的目的是提供一種基於numa系統的任務調度方法及裝置,以從根本上解決numa系統當前瓶頸問題,提升系統整體性能。

為解決上述技術問題,本發明提供如下技術方案:

一種基於numa系統的任務調度方法,包括:

在達到預設的任務調度觸發條件時,確定任務集合中每個任務對每種類型資源的需求,所述任務集合由numa系統中每個numa節點上當前運行的任務構成;

根據每個任務對每種類型資源的需求,確定所述numa系統當前瓶頸對應資源的目標類型;

確定所述任務集合中每個任務對所述目標類型資源的需求度;

根據每個任務對所述目標類型資源的需求度,將所述任務集合中的任務劃分為多個任務組,以使按照大小順序排列的前n個需求度對應的任務處於不同任務組中,n為任務組個數,n小於或等於所述numa系統中numa節點個數;

將每個任務組中的任務分別調度到對應的numa節點上。

在本發明的一種具體實施方式中,所述根據每個任務對每種類型資源的需求,確定所述numa系統當前瓶頸對應資源的目標類型,包括:

針對每種類型資源,確定所述任務集合中所有任務對該類型資源的總需求;

將最大總需求對應的類型確定為所述numa系統當前瓶頸對應資源的目標類型。

在本發明的一種具體實施方式中,所述確定所述任務集合中每個任務對所述目標類型資源的需求度,包括:

獲得設定時間段內對所述任務集合中每個任務的監測數據;

基於所述監測數據,確定每個任務對所述目標類型資源的訪問缺失率;

根據每個任務對所述目標類型資源的訪問缺失率,確定每個任務對所述目標類型資源的需求度。

在本發明的一種具體實施方式中,所述根據每個任務對所述目標類型資源的需求度,將所述任務集合中的任務劃分為多個任務組,包括:

根據所述任務集合中任務數量及所述numa系統中numa節點數量,確定任務組個數n;

將所述任務集合確定為待劃分集合;

將所述待劃分集合中最大需求度對應的任務和最小需求度對應的任務組合為一個任務組;

將未被劃分的任務構成的集合確定為待劃分集合,重複執行所述將所述待劃分集合中最大需求度對應的任務和最小需求度對應的任務組合為一個任務組的步驟,直至得到的任務組數量為n,如果存在未被劃分的任務,則將未被劃分的任務隨機或者按照設定順序劃分到n個任務組中。

在本發明的一種具體實施方式中,所述資源為內存資源、cpu資源或帶寬資源。

一種基於numa系統的任務調度裝置,包括:

需求確定模塊,用於在達到預設的任務調度觸發條件時,確定任務集合中每個任務對每種類型資源的需求,所述任務集合由numa系統中每個numa節點上當前運行的任務構成;

類型確定模塊,用於根據每個任務對每種類型資源的需求,確定所述numa系統當前瓶頸對應資源的目標類型;

需求度確定模塊,用於確定所述任務集合中每個任務對所述目標類型資源的需求度;

分組模塊,用於根據每個任務對所述目標類型資源的需求度,將所述任務集合中的任務劃分為多個任務組,以使按照大小順序排列的前n個需求度對應的任務處於不同任務組中,n為任務組個數,n小於或等於所述numa系統中numa節點個數;

任務調度模塊,用於將每個任務組中的任務分別調度到對應的numa節點上。

在本發明的一種具體實施方式中,所述類型確定模塊,具體用於:

針對每種類型資源,確定所述任務集合中所有任務對該類型資源的總需求;

將最大總需求對應的類型確定為所述numa系統當前瓶頸對應資源的目標類型。

在本發明的一種具體實施方式中,所述需求度確定模塊,具體用於:

獲得設定時間段內對所述任務集合中每個任務的監測數據;

基於所述監測數據,確定每個任務對所述目標類型資源的訪問缺失率;

根據每個任務對所述目標類型資源的訪問缺失率,確定每個任務對所述目標類型資源的需求度。

在本發明的一種具體實施方式中,所述分組模塊,具體用於:

根據所述任務集合中任務數量及所述numa系統中numa節點數量,確定任務組個數n;

將所述任務集合確定為待劃分集合;

將所述待劃分集合中最大需求度對應的任務和最小需求度對應的任務組合為一個任務組;

將未被劃分的任務構成的集合確定為待劃分集合,重複執行所述將所述待劃分集合中最大需求度對應的任務和最小需求度對應的任務組合為一個任務組的步驟,直至得到的任務組數量為n,如果存在未被劃分的任務,則將未被劃分的任務隨機或者按照設定順序劃分到n個任務組中。

在本發明的一種具體實施方式中,所述資源為內存資源、cpu資源或帶寬資源。

應用本發明實施例所提供的技術方案,在達到預設的任務調度觸發條件時,可以確定任務集合中每個任務對每種類型資源的需求,根據每個任務對每種類型資源的需求,確定numa系統當前瓶頸對應資源的目標類型,確定任務集合中每個任務對目標類型資源的需求度,根據需求度,將任務集合中的任務劃分為多個任務組,使按照大小順序排列的前n個需求度對應的任務處於不同任務組中,將每個任務組中的任務分別調度到對應的numa節點上。進行任務調度後,同一numa節點上的任務對目標類型資源的需求度差別較大,可以降低同一numa節點上的任務對目標類型資源的競爭性,從根本上解決numa系統當前瓶頸問題,提升系統整體性能。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1為本發明實施例中一種基於numa系統的任務調度方法的實施流程圖;

圖2為本發明實施例中一種基於numa系統的任務調度裝置的結構示意圖。

具體實施方式

為了使本技術領域的人員更好地理解本發明方案,下面結合附圖和具體實施方式對本發明作進一步的詳細說明。顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。

參見圖1所示,為本發明實施例所提供的一種基於numa系統的任務調度方法的實施流程圖,該方法可以包括以下步驟:

s110:在達到預設的任務調度觸發條件時,確定任務集合中每個任務對每種類型資源的需求。

任務集合由numa系統中每個numa節點上當前運行的任務構成。

在numa系統中,numa節點可以承載任務的執行。可以將numa系統中每個numa節點上當前運行的任務構成任務集合。

在本發明實施例中,可以預先設定任務調度觸發條件,具體的,可以設定調度周期,當到達新的調度周期時,即可視為達到了任務調度觸發條件,或者,將系統性能下降到預設等級設定為任務調度觸發條件,即當檢測到系統性能下降到該預設等級時,視為達到了任務調度觸發條件。

可以預先設定多個任務調度觸發條件,在達到任意一個設定的任務調度觸發條件時,均可觸發本發明實施例所提供技術方案的執行。

在numa系統中,任務的需求和瓶頸隨著時間的變化而變化。在達到預設的任務調度觸發條件時,可以確定任務集合中每個任務對每種類型資源的需求。資源可以為內存資源、cpu資源或帶寬資源。

不同任務對每種類型資源的需求不同,可以根據任務屬性和任務執行階段,確定每個任務對每種類型資源的需求。

s120:根據每個任務對每種類型資源的需求,確定numa系統當前瓶頸對應資源的目標類型。

確定了任務集合中每個任務對每種類型資源的需求後,可以根據每個任務對每種類型資源的需求,確定numa系統當前是否存在瓶頸,如果存在,則可以確定當前瓶頸對應資源的目標類型。

在本發明的一種具體實施方式中,步驟s120可以包括以下步驟:

步驟一:針對每種類型資源,確定任務集合中所有任務對該類型資源的總需求;

步驟二:將最大總需求對應的類型確定為numa系統當前瓶頸對應資源的目標類型。

為便於描述,將上述兩個步驟結合起來進行說明。

numa系統可提供多種類型資源,針對每種類型資源,可以確定任務集合中所有任務對該類型資源的總需求。可以理解的是,如果任務集合中所有任務對某類型資源的總需求過大,很容易導致產生該類型資源瓶頸。

在本發明實施例中,可以將最大總需求對應的類型確定為numa系統當前瓶頸對應資源的目標類型。

s130:確定任務集合中每個任務對目標類型資源的需求度。

一個任務對目標類型資源的需求度表明該任務對目標類型資源的需求程度。不同任務對同一類型資源的需求度可能不同,如有的任務對內存資源需求較大,有的任務對cpu資源需求較大。

針對任務集合中的每個任務,根據該任務對該目標類型資源的需求,可以確定該任務對目標類型資源的需求度。具體的,可以預先設定需求與需求度的對應關係式,如當需求大於預設第一閾值時,設定其對應的需求度為第一值,當需求在第一閾值和第二閾值之間時,設定其對應的需求度為第二值。舉例而言,當需求大於90%時,其對應的需求度為5,當需求在70%-90%之間時,其對應的需求度為4,這裡需求度的值越高表明需求越大。當然,在實際應用中,還可以設定其他對應關係,本發明實施例對此不做限制。

在本發明的一種具體實施方式中,步驟s130可以包括以下步驟:

第一個步驟:獲得設定時間段內對任務集合中每個任務的監測數據;

第二個步驟:基於監測數據,確定每個任務對目標類型資源的訪問缺失率;

第三個步驟:根據每個任務對目標類型資源的訪問缺失率,確定每個任務對目標類型資源的需求度。

為便於描述,將上述三個步驟結合起來進行說明。

在numa系統運行過程中,可以對numa節點上運行的每個任務進行監測,具體的,可以通過每個任務的硬體計數器對相應任務對各類型資源的訪問缺失率進行記錄。

獲得設定時間段內對任務集合中每個任務的監測數據,基於該監測數據,可以確定每個任務對目標類型資源的訪問缺失率。訪問缺失率可以定義為每1000條指令中訪問缺失個數。

對於一個任務而言,該任務對目標類型資源的訪問缺失率越大,表明該任務對該目標類型資源的需求越大,需求度越大。根據每個任務對目標類型資源的訪問缺失率,可以確定每個任務對目標類型資源的需求度。具體的,針對每個任務,可以直接將該任務對目標類型資源的訪問缺失率確定為該任務對目標類型資源的需求度,或者根據預設的對應關係和該任務對目標類型資源的訪問缺失率,確定該任務對目標類型資源的需求度。

s140:根據每個任務對目標類型資源的需求度,將任務集合中的任務劃分為多個任務組,以使按照大小順序排列的前n個需求度對應的任務處於不同任務組中。

n為任務組個數,n小於或等於numa系統中numa節點個數。

對於任務集合中任意兩個任務,如果這兩個任務對目標類型資源的需求度都很大,那麼可以認為這兩個任務對於該目標類型資源具有較強的競爭力,如果將這兩個任務放置於同一個numa節點上,則將導致較大的性能降級。

在本發明實施例中,根據每個任務對目標類型資源的需求度,可以將任務集合中的任務劃分為多個任務組,具體可以遵循以下劃分規則:按照大小順序排列的n個需求度對應的任務處於不同任務組中。

任務組個數n可以根據numa系統中numa節點個數和當前資源供需情況確定。任務組個數n小於或等於numa系統中numa節點個數。

在本發明的一種具體實施方式中,步驟s140可以包括以下步驟:

步驟一:根據任務集合中任務數量及numa系統中numa節點數量,確定任務組個數n;

步驟二:將任務集合確定為待劃分集合;

步驟三:將待劃分集合中最大需求度對應的任務和最小需求度對應的任務組合為一個任務組;

步驟四:將未被劃分的任務構成的集合確定為待劃分集合,重複執行步驟三的操作,直至得到的任務組數量為n,如果存在未被劃分的任務,則將未被劃分的任務隨機或者按照設定順序劃分到n個任務組中。

為便於描述,將上述四個步驟結合起來進行說明。

根據任務集合中任務數量及numa系統中numa節點數量,可以確定任務組個數n。具體的,任務組個數n可以等於或小於任務集合中任務數量與numa系統中numa節點數量中較小者。

將任務集合確定為待劃分集合。從待劃分集合中取出最大需求度對應的任務和最小需求度對應的任務,將這兩個任務組合為一個任務組。將餘下的未被劃分的任務構成的集合確定為待劃分集合,重複執行上述步驟。當得到的任務組數量為n時結束。

如果此時仍存在未被劃分的任務,則可以將未被劃分的任務隨機或者按照設定順序劃分到n個任務組中。這樣處於同一個任務組中的任務具有一定的親和性,對目標類型資源的需求度有較大差別,可以儘量避免對目標類型資源的競爭。

s150:將每個任務組中的任務分別調度到對應的numa節點上。

將任務集合中的任務劃分為多個任務組後,可以將每個任務組中的任務分別調度到對應的numa節點上,任務組與numa節點一一對應。具體的,可以根據實際情況將任務組與numa節點對應。

應用本發明實施例所提供的方法,在達到預設的任務調度觸發條件時,可以確定任務集合中每個任務對每種類型資源的需求,根據每個任務對每種類型資源的需求,確定numa系統當前瓶頸對應資源的目標類型,確定任務集合中每個任務對目標類型資源的需求度,根據需求度,將任務集合中的任務劃分為多個任務組,使按照大小順序排列的前n個需求度對應的任務處於不同任務組中,將每個任務組中的任務分別調度到對應的numa節點上。進行任務調度後,同一numa節點上的任務對目標類型資源的需求度差別較大,可以降低同一numa節點上的任務對目標類型資源的競爭性,從根本上解決numa系統當前瓶頸問題,提升系統整體性能。

相應於上面的方法實施例,本發明實施例還提供了一種基於numa系統的任務調度裝置,下文描述的一種基於numa系統的任務調度裝置與上文描述的一種基於numa系統的任務調度方法可相互對應參照。

參見圖2所示,該裝置包括以下模塊:

需求確定模塊210,用於在達到預設的任務調度觸發條件時,確定任務集合中每個任務對每種類型資源的需求,任務集合由numa系統中每個numa節點上當前運行的任務構成;

類型確定模塊220,用於根據每個任務對每種類型資源的需求,確定numa系統當前瓶頸對應資源的目標類型;

需求度確定模塊230,用於確定任務集合中每個任務對目標類型資源的需求度;

分組模塊240,用於根據每個任務對目標類型資源的需求度,將任務集合中的任務劃分為多個任務組,以使按照大小順序排列的前n個需求度對應的任務處於不同任務組中,n為任務組個數,n小於或等於numa系統中numa節點個數;

任務調度模塊250,用於將每個任務組中的任務分別調度到對應的numa節點上。

應用本發明實施例所提供的裝置,在達到預設的任務調度觸發條件時,可以確定任務集合中每個任務對每種類型資源的需求,根據每個任務對每種類型資源的需求,確定numa系統當前瓶頸對應資源的目標類型,確定任務集合中每個任務對目標類型資源的需求度,根據需求度,將任務集合中的任務劃分為多個任務組,使按照大小順序排列的前n個需求度對應的任務處於不同任務組中,將每個任務組中的任務分別調度到對應的numa節點上。進行任務調度後,同一numa節點上的任務對目標類型資源的需求度差別較大,可以降低同一numa節點上的任務對目標類型資源的競爭性,從根本上解決numa系統當前瓶頸問題,提升系統整體性能。

在本發明的一種具體實施方式中,類型確定模塊220,具體用於:

針對每種類型資源,確定任務集合中所有任務對該類型資源的總需求;

將最大總需求對應的類型確定為numa系統當前瓶頸對應資源的目標類型。

在本發明的一種具體實施方式中,需求度確定模塊230,具體用於:

獲得設定時間段內對任務集合中每個任務的監測數據;

基於監測數據,確定每個任務對目標類型資源的訪問缺失率;

根據每個任務對目標類型資源的訪問缺失率,確定每個任務對目標類型資源的需求度。

在本發明的一種具體實施方式中,分組模塊240,具體用於:

根據任務集合中任務數量及numa系統中numa節點數量,確定任務組個數n;

將任務集合確定為待劃分集合;

將待劃分集合中最大需求度對應的任務和最小需求度對應的任務組合為一個任務組;

將未被劃分的任務構成的集合確定為待劃分集合,重複執行將待劃分集合中最大需求度對應的任務和最小需求度對應的任務組合為一個任務組的步驟,直至得到的任務組數量為n,如果存在未被劃分的任務,則將未被劃分的任務隨機或者按照設定順序劃分到n個任務組中。

在本發明的一種具體實施方式中,資源為內存資源、cpu資源或帶寬資源。

本說明書中各個實施例採用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。對於實施例公開的裝置而言,由於其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。

專業人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬體、計算機軟體或者二者的結合來實現,為了清楚地說明硬體和軟體的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的範圍。

結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬體、處理器執行的軟體模塊,或者二者的結合來實施。軟體模塊可以置於隨機存儲器(ram)、內存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬碟、可移動磁碟、cd-rom、或技術領域內所公知的任意其它形式的存儲介質中。

本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的技術方案及其核心思想。應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以對本發明進行若干改進和修飾,這些改進和修飾也落入本發明權利要求的保護範圍內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀