欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

多核環(huán)境下實現(xiàn)中斷調(diào)度的方法及多核處理器的制作方法

文檔序號:6461480閱讀:190來源:國知局
專利名稱:多核環(huán)境下實現(xiàn)中斷調(diào)度的方法及多核處理器的制作方法
技術(shù)領(lǐng)域
本發(fā)明總體上涉及計算機領(lǐng)域的中斷處理技術(shù),并且尤其涉及多核處 理器環(huán)境下的中斷處理技術(shù)。
背景技術(shù)
隨著計算機技術(shù)的快速發(fā)展以及網(wǎng)絡(luò)線路速度的快速增加,對
TCP/IP包的處理已經(jīng)成為計算機系統(tǒng)的日益復(fù)雜的工作負荷。例如,以 太網(wǎng)線路的速度正趨于達到和超過40Gb/s,因此,如何有效地處理這種 高速甚至超高速的包接收和/或包發(fā)送任務(wù),已經(jīng)成為一個目前急待解決 的問題。
總體上來說,網(wǎng)M口卡(NIC)與處理器之間采用輪詢和中斷兩種 方法進行通信,但是目前更多地使用中斷方法來通信。中斷處理程序的處 理過程實際上是包處理方法。當網(wǎng)絡(luò)接口卡具有要由處理器處理的包時, 它把包的數(shù)據(jù)直接存儲器存取(DMA)到內(nèi)核緩沖器中,并由此引起中 斷;而處理器則切換到內(nèi)核模式,執(zhí)行中斷處理例程(Interrupt Service Routine, ISR),以便對中斷作出響應(yīng),然后處理器返回到先占的執(zhí)行點, 其中把對包的處理留作進程級(process-level)任務(wù)來對待。中斷驅(qū)動的 包處理在NIC中斷的頻率低時可以很好地進行。但是,當有太多的中斷 到達時,處理器會出現(xiàn)所謂的"活鎖(livelock)"現(xiàn)象,這意味著處理器 不能桂起并且不能處理任何用戶程序。
為了在計算機系統(tǒng)中有效地實現(xiàn)中斷,目前已經(jīng)提出了許多方法。例 如,中斷合并(interrupt coalition)(主要應(yīng)用于包的接收,其中在引起 中斷前一次性接收多個包)、混合輪詢中斷、TCP減負引擎(TCPOffload Engine, TOE)和RDMA (Remote Direct Memory Access ,遠程直接存 儲器采取)/DDP (Direct Data Placement,直接數(shù)據(jù)放置)等方法是近年 來提出的幾種比較有效的解決方案。然而,中斷合并和混合輪詢中斷這兩 種方法都存在延遲不確定的問題;而TOE和RDMA方法則由于4吏用非 標準接口而需要對NIC和內(nèi)核進行較大修改,這通常是不受硬件和/或軟件開發(fā)商所歡迎的。此外,使用TOE技術(shù)的NIC (即,TOE NIC)的成 本也偏高。
自多核技術(shù)提出后,多核處理器已經(jīng)成為大家公認的處理器設(shè)計趨 勢。而且,隨著網(wǎng)絡(luò)線路速度的快速增加,NIC中斷的頻率大幅增加。例 如,以以太網(wǎng)為例,當線縛^速度增加到40Gb/s時,對于最大為1500字節(jié) 大小的包,在沒有采用中斷合并的情況下,中斷率(即,單位時間內(nèi)的中 斷數(shù)目)為3200000/s,而即使采用了中斷合并且假設(shè)合并因數(shù)為10,中 斷率也仍然為320000/s,這將會擊绔一個5GHz P6 CPU。然而,在多核 處理器環(huán)境下,每一個核心僅具有中等處理能力,都不足以強大到能夠處 理這么高頻率的中斷,也就是說,需要將到來的多個中斷調(diào)度分給多個核 心來處理。而且,在實際運行的多核處理器中,不同核心中的工作負荷是 不同的,也就是說,不同的核心處理中斷所需的時間是不同的,并且順序 到來的多個包彼此之間可能具有控制相關(guān)性,但是彼此之間的數(shù)據(jù)相關(guān)性 則是低的,且NIC所傳送的包也不太可能是需要重傳的壞包,因此,在 向多個核心調(diào)度從外部到來的中斷(尤其是NIC中斷)時,需要考慮高 速緩存關(guān)聯(lián)(cache affinity)問題。
圖l示出了一個典型的多核環(huán)境。如圖l所示,多核處理器120包括
中斷調(diào)度器130和K個核心140 (分別用Core 1、 Core2........ Core K
表示),并且每個核心與中斷調(diào)度器130通過總線直接連接。從外部到來 的I/O中斷、NIC中斷等中斷信號經(jīng)由可編程中斷控制器(PIC) 110傳 輸?shù)蕉嗪颂幚砥?20內(nèi)的中斷調(diào)度器130后,中斷調(diào)度器130根據(jù)中斷標 識(即,中斷ID),隨機地或者依照預(yù)定的規(guī)則(例如,基于中斷優(yōu)先級 等)從N個核心140中選擇或者確定一個核心作為熱核,并將中斷信號 傳送到熱核來進行處理。
已有的這些中斷調(diào)度方法并沒有考慮到每個核心的不同工作負荷問 題,和/或沒有考慮到高速緩存關(guān)聯(lián)問題,因此,都無法提供優(yōu)化的能有 效處理中斷的處理器性能。因此,迫切需要一種能夠在多核環(huán)境下有效實 現(xiàn)中斷調(diào)度的機制。

發(fā)明內(nèi)容
在下文中給出了關(guān)于本發(fā)明的簡要概述,以便提供關(guān)于本發(fā)明的某些 方面的基本理解。應(yīng)當理解,這個概述并不是關(guān)于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關(guān)鍵或重要部分,也不是意圖限定本發(fā)明的范 圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳 細描述的前序。
為了至少解決現(xiàn)有技術(shù)的上述問題之一,本發(fā)明的目的之一是提供一 種在多核處理器環(huán)境下有效實現(xiàn)中斷調(diào)度的方法。
本發(fā)明的另一個目的是提供一種可以實現(xiàn)上述中斷調(diào)度方法的多核 處理器以及包含該多核處理器的計算機系統(tǒng)。
為了實現(xiàn)上述目的,祁》據(jù)本發(fā)明的一個方面,提供了一種在多核處理
器環(huán)境下實現(xiàn)中斷調(diào)度的方法,其中,多核處理器包含中斷調(diào)度器和N 個具有中斷處理能力的核心,且所述N個核心被分為多個核心組,其中N 為大于l的正整數(shù),所述方法包括以下步驟a.根據(jù)從外部到來的中斷, 生成令牌;b.根據(jù)所述中斷,確定優(yōu)先處理該中斷的核心組,作為熱組; 以及c.將令牌傳送到熱組,并從熱組中的第一個核心開始,依次判斷是 否滿足中斷調(diào)度結(jié)束條件,并且一旦確定滿足了中斷調(diào)度結(jié)束條件,就將 當前核心確定為要處理所述中斷的響應(yīng)核心。
根據(jù)本發(fā)明的另一個方面,還提供了一種多核處理器,,包括N個 具有中斷處理能力的核心,其中所述N個核心被分為多個核心組,并且N 為大于l的正整數(shù);以及中斷調(diào)度器,用于根據(jù)從外部到來的中斷,生成 令牌,確定優(yōu)先處理該中斷的核心組作為熱組,并且將令牌傳送到熱組, 其中,從熱組中的第一個核心開始,依次判斷是否滿足中斷調(diào)度結(jié)束條件, 并且一旦確定滿足了中斷調(diào)度結(jié)束^Hf ,當前核心就被確定為要處理所述 中斷的響應(yīng)核心。
才艮據(jù)本發(fā)明的另一個方面,還提供了一種計算機系統(tǒng),包括以上所 述的多核處理器,其與可編程中斷控制器連接,其中,N個核心的分組由 計算機操作系統(tǒng)實現(xiàn)。
本發(fā)明提供了一種多核環(huán)境下的基于令牌的中斷調(diào)度機制,其中,根 據(jù)外部到來的中斷生成令牌,并將令牌在有P艮數(shù)目的核心中傳遞,依次判 斷當前核心是否為要處理所述中斷的響應(yīng)核心。通過利用根據(jù)本發(fā)明的中 斷調(diào)度機制,能夠有效地減小處理器響應(yīng)中斷的延遲,從而提供優(yōu)化的處 理器性能。
本發(fā)明的另 一個優(yōu)點在于,在利用根據(jù)本發(fā)明的中斷調(diào)度機制進行中 斷調(diào)度時,可以根據(jù)中斷處理的歷史記錄等,動態(tài)地修改或者更新中斷調(diào)度器中存儲的優(yōu)先處理各中斷的核心組的組ID,以便可以更快地確定可 用于響應(yīng)當前中斷的核心組,從而可以利用高速緩存的局部性特點提高中 斷處理效率。
通過以下結(jié)合附圖對本發(fā)明的最佳實施例的詳細說明,本發(fā)明的這些 以及其他優(yōu)點將更加明顯。


本發(fā)明可以通過參考下文中結(jié)合附圖所給出的描述而得到更好的理
的部件。所述附圖連同下面的詳細說明 一起包含在本說明書中并且形成本 說明書的一部分,而且用來進一步舉例說明本發(fā)明的優(yōu)選實施例和解釋本 發(fā)明的原理和優(yōu)點。在附圖中
圖1示出了一個典型的多核環(huán)境的示意性框圖2示出了根據(jù)本發(fā)明實施例的可以有效實現(xiàn)中斷調(diào)度的多核環(huán)境 的示意性框圖;以及
圖3示出了根據(jù)本發(fā)明的實施例在圖2所示的多核環(huán)境下實現(xiàn)中斷調(diào) 度的方法的流-呈圖。
本領(lǐng)域技術(shù)人員應(yīng)當理解,附圖中的元件僅僅是為了簡單和清^見 而示出的,而且不一定^1按比例繪制的。例如,附圖中某些元件的尺寸可 能相對于其他元件放大了 ,以便有助于提高對本發(fā)明實施例的理解。
具體實施例方式
在下文中將結(jié)合附圖對本發(fā)明的示范性實施例進行描述。為了清楚和 筒明起見,在說明書中并未描述實際實施方式的所有特征。然而,應(yīng)該了 解,在開發(fā)任何這種實際實施例的it^呈中必須做出很多特定于實施方式的 決定,以便實現(xiàn)開發(fā)人員的具體目標。
在此,還需要說明的一點是,為了避免因不必要的細節(jié)而模糊了本發(fā) 明,在附圖中僅僅示出了與根據(jù)本發(fā)明的方案密切相關(guān)的裝置結(jié)構(gòu)和/或 處理步驟,而省略了與本發(fā)明關(guān)系不大的其他細節(jié)。
圖2示出了根據(jù)本發(fā)明一個實施例的可以有效實現(xiàn)中斷調(diào)度的多核環(huán)境的示意性框圖。在此,假定多核處理器220中一個以上的核心、例如 N個核心(其中N為大于1的正整數(shù))而不是所有的核心都能夠處理中 斷,因此,為了簡單起見,圖2中僅僅示出了具有中斷處理能力的處理器
核心240 (分別用Corel.......、 CoreN表示),并且在下文中為了簡潔
起見也僅僅描述這些具有中斷處理能力的核心。
在圖2所示的多核環(huán)境下,N個核心240被分為n個組(即,核心組),
并且在圖中分別用Group 1........ Gro叩n表示。在此,所描述的分組
是邏輯分組過程,可由例如計算機操作系統(tǒng)完成,并且可以通過例如以下 方式來實現(xiàn)在每一個核心的通用中斷控制器(UIC)中設(shè)置有下一核號 字段,在其中存儲與該核心同一組的下一個核心的標識(即,核ID),而 在每一核心組的最后一個核心中存儲中斷調(diào)度器ID,并且將每一組的組 ID設(shè)置為等于該組中第一個核心的核ID。在此,可以將邏輯分組得到的 各個核心組的組ID存儲在中斷調(diào)度器中230,但是本發(fā)明并不局限于此, 本領(lǐng)域技術(shù)人員也可以根據(jù)需要將其存儲在其他位置。
本領(lǐng)域技術(shù)人員應(yīng)當明白,上述分組實現(xiàn)過程僅僅是示例性的,顯然 也可以根據(jù)實際需要采用其他的方法對核心進行分組,并且也可以將組 ID設(shè)置為其他的值,只要能夠根據(jù)每個核心組的組ID確定每一核心組中 的第一個核心并進而確定核心組中的其余核心即可。
對于從外部到來的每一個中斷(包括1/0中斷、NIC中斷等),優(yōu)選 由一個指定的核心組(以下稱為"優(yōu)選核心組",是用于優(yōu)先處理該中斷 的核心組)來對其進行處理,而當該組中的所有核心都不可用來處理該中 斷時,則從其他的N-1個核心組(即,非優(yōu)選核心組的核心組,也可以稱 為備選核心組)中任意選擇一個核心組來對該中斷進行處理。在下文中, 為了便于描述,將作為判斷組中的核心是否可用來處理中斷的判斷對象的 那個核心組稱為"熱組"。為此,在中斷調(diào)度器230中預(yù)先存儲一個中斷 調(diào)度表,其中至少存儲有各個中斷的中斷ID、以及用來優(yōu)先處理各個中 斷的優(yōu)選核心組的組ID,以侵,使中斷調(diào)度器230能夠祁>據(jù)由PIC 210傳 來的到來中斷的中斷ID,確定與其對應(yīng)的優(yōu)選核心組作為熱組,并且在 組中的每個核心都不可用時,選擇備選核心組之一作為熱組。
中斷調(diào)度器230根據(jù)來自PIC 210的某一中斷信號的中斷ID,生成 一個令牌,并將令牌傳送到熱組,從熱組中的第一個核心開始,直至組中 的最后一個核心,依次判斷當前核心是否能夠抓住該令牌(即,核心是否 可用來處理這個到來的中斷)。在此,每個核心240都可以利用現(xiàn)有技術(shù)中已知的任何一種方法來獲知它的當前工作狀態(tài)(可以包括例如其上的當 前工作負荷、其當前正在處理的中斷信號等),并據(jù)此來決定它是否可用 于處理每個到來的中斷。
在此,令牌中至少包含以下四個字段(1)中斷號用于存儲到來中 斷的中斷ID; (2)目的地核號,用于存儲令M被傳往的下一個核心的 核ID; (3)TTL,它的值用于表示令牌的生命周期長短,當TTL-0時, 表示令牌的生命周期結(jié)束;以及(4)響應(yīng)核號,用于存儲要對該到來中 斷進行處理的核心的核ID。
下面結(jié)合圖3所示的流程圖對根據(jù)本發(fā)明如何在圖2所示的多核環(huán)境 下實現(xiàn)中斷調(diào)度進行描述。圖3示出了根據(jù)本發(fā)明實施例在圖2所示的多 核環(huán)境下實現(xiàn)的中斷調(diào)度過程300的示意性流程圖。
如圖3所示,在步驟S305,中斷調(diào)度器230從PIC 210中接收到一 個外部到來的中斷信號,然后在步驟S310,根據(jù)所接收的中斷信號的中 斷ID,按照例如以上描述的方法生成令牌,即,對令牌的至少上述四個 字段進行初始化。例如,中斷調(diào)度器230根據(jù)中斷ID生成令牌時,可以 將目的地核號初始化為與該中斷ID相對應(yīng)的熱組(即,優(yōu)選核心組,可 以通過例如參考其中存儲的中斷調(diào)M來確定)中的第一個核心的核ID, 將響應(yīng)核號初始化為NULL(空值),并且將TTL初始化為一個預(yù)定值(例 如,可以等于熱組中的核心數(shù)目)。當然,也可以將令牌中的上述字段初 始化為其他的值。
在步驟S315,中斷調(diào)度器230根據(jù)所述中斷ID,例如通過參考其中 存儲的中斷調(diào)度表,確定與其對應(yīng)的優(yōu)選核心組作為熱組(并因此可以確 定該組中的第一個核心)。在此,假設(shè)熱組為圖2中所示的Groupm,并 且其中的核心依次為Corei、 Corej、 ......、 Corep。
接下來,在步驟S320,中斷調(diào)度器230將在步驟S310中生成的令牌 傳送到熱組中的第一個核心(在此為Corei)。然后,在步驟S325,當前 核心才艮據(jù)其上的工作負荷確定它是否可用于處理這個到來的中斷。如果步
驟S325的判斷結(jié)果為是,即,如果確定當前核心可用于處理該到來的中 斷,則在步驟S330,當前核心修改令牌,即,在令牌的響應(yīng)核號字段中 填入當前核心的核ID,將TTL的值減l,并將目的地核號字段中的值修 改為中斷調(diào)度器ID,然后將修改后的令牌發(fā)送回中斷調(diào)度器230。隨后, 在步驟S335,結(jié)束中斷調(diào)度過程300。如果步驟S325的判斷結(jié)果為否,即,如果確定當前核心不可用,則 在步驟S340,判斷當前TTL的值是否為零。如果在步驟S340確定當前 TTL-O, il^示令牌的生命周期結(jié)束,則處理過程進行到步驟S360,強 制當前核心作為要對該中斷進行處理的響應(yīng)核心,并且處理過程進行到步 驟S365。步驟S365和S370的處理與步驟S330和S335的處理類似,因 此就不再詳述了。
如果在步驟S340確定TTL^ 0,則在步驟S345,將令牌中TTL的值 減1,并將目的地核號字段中的值修改為當前核心中下一核號字段的值。 然后,在步驟S350,判斷當前核心是否為當前組中的最后一個核心(例 如,可以通過比較當前核心的所述下一核號字段的值和中斷調(diào)度器ID來 判斷,當二者相同時,確定當前核心為當前組中的最后一個核心)。如果 當前核心不是組中的最后一個核心,則在步驟S355,按照所述目的地核 號字段的值,將令牌傳送到同組中的下一個核心,并重復(fù)上述步驟S325-S370的處理,直至當前核心組中有核心可用或者TTL的值為0時(即, 確定了要對所述中斷進行處理的響應(yīng)核心時)結(jié)束中斷調(diào)度過程300。
本領(lǐng)域技術(shù)人員應(yīng)當明白,雖然在此以確定熱組中是否有核心可用于
但是本發(fā)明顯然并不僅僅局限于此。
如果在步驟S350中確定當前核心是本組中的最后一個核心(此時, 令牌的目的地核號字段的值已被修改為中斷調(diào)度器ID ), il^明當前核心 組中的所有核心都不可用來處理當前中斷,則在步驟S375,中斷調(diào)度器 230選擇備選核心組之一作為熱組(此時,令牌已被傳送回中斷調(diào)度器, 并且中斷調(diào)度器將令牌的目的地核號字段的值修改為等于所選中的備選 核心組中的第一個核心的核ID),然后處理流程返回到步驟S320,并重 復(fù)上述步驟S320 ~ S370的處理,直至當前核心組中有核心可用或者TTL 的值為0時結(jié)束中斷調(diào)度過程300。
在此需要說明的是,正如前面所描述的,中斷調(diào)度器230中存儲有與 某一中斷ID相對應(yīng)的一個優(yōu)選核心組的核ID,并且TTL被操作系統(tǒng)根 據(jù)情況初始化為某一預(yù)定值,但是該預(yù)定值也有可能會大于該組的核心總 數(shù)。在這種情況下,在圖3所示的中斷調(diào)度過程300中,在確定優(yōu)選核心 組和當前所選中的備選核心組中的所有核心都不可用來處理當前中斷時, 在圖3所示的步驟S375中中斷調(diào)度器230需要從剩下的備選核心組中再 次任意選擇其中之一作為熱組,并再次重復(fù)上述步驟S320 ~ S370的處理,
ii直到當前熱組中有核心可用或者TTL的值為0時才結(jié)束中斷調(diào)度過程。 但是,較為優(yōu)選的是,將TTL的初始值設(shè)置得大于等于優(yōu)選核心組中的 核心總數(shù),并且小于等于優(yōu)選核心組的核心總數(shù)與N-l個備選核心組的平 均每組核心總數(shù)之和。
在結(jié)束了中斷調(diào)度過程后,中斷調(diào)度器230根據(jù)當前令牌中響應(yīng)核號 字段中的值,將所述中斷信號傳送到相應(yīng)的響應(yīng)核心中進行處理。
從圖2中可以看出,對于從外部到來的某一中斷,在圖3所示的中斷 調(diào)度過程300中,令牌在生成后從中斷調(diào)度器230中出發(fā),依次經(jīng)過熱組 中的第一個核心、第二個核心等,直至確定了要對該中斷進行處理的響應(yīng) 核心后被傳送回中斷調(diào)度器,從而構(gòu)成了一個完整的"令牌環(huán)"。
雖然以上結(jié)合圖2和3對根據(jù)本發(fā)明的多核環(huán)境和中斷調(diào)度過程進行 了描述,但是本領(lǐng)域技術(shù)人員應(yīng)當明白,以上的描述僅僅是示例性的,而 且為了適應(yīng)于不同的需求,顯然可以在細節(jié)上對以上所描述的多核環(huán)境中 的某些部件和/或中斷調(diào)度過程中的某些步驟加以^修改。例如,圖3中所 示的步驟處理順序也僅僅是示例性的,其中某些步驟(例如,步驟S310 和S315)的處理也可以同時并行執(zhí)行,或者甚至是以相反的次序執(zhí)行。 此外,操作系統(tǒng)還可以根據(jù)多核處理器內(nèi)各個核心的當前運行狀態(tài)和/或 針對同類中斷的中斷調(diào)度歷史記錄等信息,對處理器內(nèi)的核心邏輯分組進 行調(diào)整,從而實現(xiàn)動態(tài)分組,此時,只需要修W目關(guān)核心中所存儲的下一 個核心的核ID并且必要時(例如,當核心組中的第一個核心發(fā)生了改變 時)還修改中斷調(diào)度器中所存儲的組ID即可。而且,操作系統(tǒng)還可以根 據(jù)多核處理器內(nèi)各個核心的當前運行狀態(tài)和/或針對同類中斷的中斷處理 歷史記錄等信息,對中斷調(diào)度器230內(nèi)存儲的優(yōu)先處理各個中斷的優(yōu)選核 心組的組ID進行修改或者更新,從而可以動態(tài)地對中斷調(diào)度表進行更新。 當然,也可能存在其他各種修改,在此就不一一列舉了。
另夕卜,還需要說明的是,核心分組的策略會影響到多核處理器應(yīng)對中 斷的性能。例如,如果處理器有s個核心并且把它們分為s個組,則在圖 3所示的中斷調(diào)度過程中,中斷調(diào)度器230會把生成的令牌直##送給相 應(yīng)的核心(即熱核),從而增加了熱核選擇效率,但是會導(dǎo)致處理器的邏 輯實現(xiàn)復(fù)雜性增加。另一方面,如果把s個核心分為一組,則中斷調(diào)度器 230會把所有的核心用"一個令牌環(huán)"連接起來,也就是說,在每次有中 斷到來時,令牌都需要從第一個核心開始遍歷所有的核心,而這是非常費 時的。因此,在分組時需要兼顧實現(xiàn)復(fù)雜性和效率這兩個方面。較為簡單的一種方式是,對S個核心進行平均分組,也就是說,每一核心組中的核
心教^Il相同的,但是,根據(jù)本發(fā)明的中斷調(diào)度機制顯然并不僅僅局限于此。 另外,雖然圖2中示出各個核心組是彼此孤立的,而且用Corei、 Corej 等編號來表示核心組Group m中的核心,但是這并不意味著各個核心組 之間沒有關(guān)聯(lián),也不意味著各個核心組中的核心是連續(xù)編號的。例如,其 中某些核心組可能是嵌套的或者部分重疊的。
從以上的描述中不難看出,在有中斷到來時,利用以上所述的棉4t本 發(fā)明的中斷調(diào)度機制,通過基于對多個核心的邏輯分組,將基于中斷而生 成的令牌在長度受限的"令牌環(huán)"中(即,在相應(yīng)的優(yōu)選核心組中并且必 要時還在選中的備選核心組中)傳遞,以確定用于對該中斷進行處理的響 應(yīng)核心,并將中斷傳送到該響應(yīng)核心加以處理,可以減小處理器對于中斷 的處理延遲,并且中斷調(diào)度實現(xiàn)起來也較為簡單,不需要對中斷的語義和 語法等進行任何修改。
而且,在根據(jù)以上所描述的方法進行中斷調(diào)度時,中斷調(diào)度器可以根 據(jù)中斷處理的歷史記錄等,動態(tài)地修改或者更新中斷調(diào)度器中存儲的優(yōu)先 處理各個中斷的核心組的組ID,因此可以更快地確定可用于響應(yīng)當前中 斷的核心組,從而有助于進一步提高中斷處理效率。
最后,還需要說明的是,在本文中,諸如左和右、第一和第二等之類 的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另 一個實體或操作區(qū)分開來, 而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或 者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵蓋非排 他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅 包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這 種過程、方法、物品或者設(shè)備所固有的要素。另外,在沒有更多限制的情 況下,由語句"包括一個……"限定的要素,顯然并不排除在包括所述要 素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上雖然結(jié)合附圖詳細描述了本發(fā)明的實施例,但M當明白,上面 所描述的實施方式只是用于說明本發(fā)明,而并不構(gòu)成對本發(fā)明的限制。對 于本領(lǐng)域的技術(shù)人員來說,可以對上述實施方式作出各種修改和變更而沒 有背離本發(fā)明的實質(zhì)和范圍。因此,本發(fā)明的范圍僅由所附的權(quán)利要求及 其等效含義來限定。
權(quán)利要求
1. 一種在多核處理器環(huán)境下實現(xiàn)中斷調(diào)度的方法,其中,多核處理器包含中斷調(diào)度器和N個具有中斷處理能力的核心,且所述N個核心被分為多個核心組,其中N為大于1的正整數(shù),所述方法包括以下步驟a. 根據(jù)從外部到來的中斷,生成令牌;b. 根據(jù)所述中斷,確定優(yōu)先處理該中斷的核心組,作為熱組;以及c. 將令牌傳送到熱組,并從熱組中的第一個核心開始,依次判斷是否滿足中斷調(diào)度結(jié)束條件,并且一旦確定滿足了中斷調(diào)度結(jié)束條件,就將當前核心確定為要處理所述中斷的響應(yīng)核心。
2. 如權(quán)利要求l所述的方法,進一步包括如果對于當前熱組中的每一個核心而言都不滿足所述中斷調(diào)度結(jié)束 條件,則才艮據(jù)所述中斷,選擇剩余核心組之一作為熱組,并重復(fù)執(zhí)行所述 步驟c,直至確定了所述響應(yīng)核心為止。
3. 如權(quán)利要求1或2所述的方法,其中,確定是否滿足中斷調(diào)度結(jié) 束條件包括確定當前核心是否可用于處理所述中斷,以及所述令牌的生命周期是 否結(jié)束;只有當熱組中有核心可用于處理所述中斷,或者所述令牌的生命周期 結(jié)束時,才確定滿足所述中斷調(diào)度條件。
4. 如權(quán)利要求3所述的方法,其中,根據(jù)核心上的當前工作狀態(tài)來 確定該核心是否可用于處理所述中斷。
5. 如權(quán)利要求1或2所述的方法,進一步包括在確定了響應(yīng)核心后,將所述中斷傳送到所述響應(yīng)核心用以進行中斷 處理。
6. 如權(quán)利要求1或2所述的方法,其中,所述令牌至少包含以下字段中斷號,用于存儲所述中斷的中斷ID;目的地核號,用于存儲令牌要被傳往的核心的核ID;TTL,其值表示令牌的生命周期長短;以及響應(yīng)核號,用于存儲要對所述中斷進行處理的響應(yīng)核心的核ID。
7. 如權(quán)利要求6所述的方法,其中,所述中斷調(diào)度器中預(yù)先存儲多 個中斷的中斷ID,以及優(yōu)先處理各個中斷的核心組的組ID。
8. 如權(quán)利要求7所述的方法,其中每個核心組的組ID與該核心組中第一個核心的核ID相對應(yīng);以及N個核心中每個都存儲有下一核號字段,每個核心組中除最后一個核 心之外的每個核心的下一核號字段中存儲與其在同一核心組的下一個核 心的核ID,而每個核心組的最后一個核心的下一核號字段中存儲中斷調(diào) 度器ID。
9. 如權(quán)利要求8所述的方法,其中,所述N個核心可被動態(tài)重新分組。
10. 如權(quán)利要求7所述的方法,其中,所述中斷調(diào)度器中存儲的優(yōu)先 處理各個中斷的核心組的組ID可被動態(tài)更新。
11. 一種多核處理器,包括N個具有中斷處理能力的核心,其中所述N個核心被分為多個核心 組,并且N為大于1的正整數(shù);以及中斷調(diào)度器,用于根據(jù)從外部到來的中斷,生成令牌,確定優(yōu)先處理 該中斷的核心組作為熱組,并且將令牌傳送到熱組,其中,從熱組中的第一個核心開始,依次判斷是否滿足中斷調(diào)度結(jié)束 條件,并且一旦確定滿足了中斷調(diào)度結(jié)束條件,當前核心就被確定為要處 理所述中斷的響應(yīng)核心。
12. 如權(quán)利要求11所述的多核處理器,其中,如果對于當前熱組中 的每一個核心而言都不滿足所述中斷調(diào)度結(jié)束^Hf,則所述中斷調(diào)度器選 擇剩余核心組之一作為熱組。
13. 根據(jù)權(quán)利要求11或者12所述的多核處理器,其中,當熱組中的 核心確定其可用于處理所述中斷,或者所述令牌的生命周期結(jié)束時,確定 滿足所述中斷調(diào)度條件。
14. 根據(jù)權(quán)利要求13所述的多核處理器,其中,核心根據(jù)其上的工 作狀態(tài)來確定它是否可用于處理所述中斷。
15. 根據(jù)權(quán)利要求11或者12所述的多核處理器,所述令牌至少包含以下字段中斷號,用于存儲所述中斷的中斷ID;目的地核號,用于存儲令牌要被傳往的核心的核ID;TTL,其值表示令牌的生命周期長短;以及響應(yīng)核號,用于存儲要對所述中斷進行處理的響應(yīng)核心的核ID。
16. 如權(quán)利要求15所述的多核處理器,其中,所述中斷調(diào)度器中預(yù) 先存儲多個中斷的中斷ID,以及優(yōu)先處理各個中斷的核心組的組ID。
17. 如權(quán)利要求16所述的多核處理器,其中每個核心組的組ID與該核心組中第一個核心的核ID相對應(yīng);以及N個核心中每個都存儲有下一核號字段,每個核心組中除最后一個核 心之外的每個核心的下一核號字段中存儲同一核心組的下一個核心的核 ID,而每個核心組的最后一個核心的下一核號字段中存儲中斷調(diào)度器ID。
18. 如權(quán)利要求17所述的多核處理器,其中,所述N個核心可被動 態(tài)重新分組。
19. 如權(quán)利要求16所述的多核處理器,其中,所述中斷調(diào)度器中存 儲的優(yōu)先處理各個中斷的核心組的組ID可被動態(tài)更新。
20. —種計算機系統(tǒng),包括如權(quán)利要求11至19中任一項所述的多 核處理器,其與可編程中斷控制器連接,其中,N個核心的分組由計算;WMt系統(tǒng)實現(xiàn)。
全文摘要
本申請公開了一種在多核處理器環(huán)境下實現(xiàn)中斷調(diào)度的方法以及相應(yīng)的多核處理器和計算機系統(tǒng)。其中,多核處理器包含中斷調(diào)度器和N個具有中斷處理能力的核心,且所述N個核心被分為多個核心組,其中N為大于1的正整數(shù),所述方法包括以下步驟a.根據(jù)從外部到來的中斷,生成令牌;b.根據(jù)所述中斷,確定優(yōu)先處理該中斷的核心組,作為熱組;以及c.將令牌傳送到熱組,并從熱組中的第一個核心開始,依次判斷是否滿足中斷調(diào)度結(jié)束條件,并且一旦確定滿足了中斷調(diào)度結(jié)束條件,就將當前核心確定為要處理所述中斷的響應(yīng)核心。利用本發(fā)明,能夠有效地減小處理器響應(yīng)中斷的延遲,從而提供優(yōu)化的處理器性能。
文檔編號G06F15/16GK101546276SQ20081008415
公開日2009年9月30日 申請日期2008年3月26日 優(yōu)先權(quán)日2008年3月26日
發(fā)明者劉朝俊, 原 平, 弋 戈, 沈文博 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
孟津县| 柳河县| 曲麻莱县| 屏东县| 谷城县| 沙湾县| 隆回县| 五台县| 阿巴嘎旗| 四平市| 临沧市| 临洮县| 枝江市| 西藏| 曲阜市| 顺义区| 县级市| 新沂市| 慈溪市| 汾阳市| 鄯善县| 景泰县| 泾源县| 陵川县| 宜宾县| 林口县| 云浮市| 林西县| 中山市| 吴旗县| 扎赉特旗| 浙江省| 鱼台县| 阜宁县| 云霄县| 清徐县| 简阳市| 涿鹿县| 思南县| 宝坻区| 辉南县|