專利名稱::多核處理器中斷負(fù)載均衡方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種多核處理器中斷負(fù)載均4軒方法和裝置。
背景技術(shù):
:中斷是影響系統(tǒng)可靠性的因素之一,當(dāng)發(fā)生中斷時,由處理器處理中斷事件。下面對單核處理器和多核處理器處理中斷的情況進(jìn)4亍詳細(xì)介紹。在單核處理器中,當(dāng)發(fā)生中斷時,將中斷事件上報給當(dāng)前的處理器,處理器保存當(dāng)前上下文環(huán)境,轉(zhuǎn)至執(zhí)行中斷服務(wù)程序,在處理完成之后,恢復(fù)前次的上下文繼續(xù)運(yùn)行;當(dāng)處理器外部掛接較多的設(shè)備時,某一時刻可能會突發(fā)產(chǎn)生大量的中斷,由于中斷嵌套可能會導(dǎo)致處理器較長時間處于中斷環(huán)境,因而一些關(guān)鍵的實時任務(wù)得不到運(yùn)行;或者出于實時性考慮,將一些中斷事件的處理延遲到任務(wù)級運(yùn)行,但由于任務(wù)運(yùn)行的不確定性,在實際運(yùn)行中,可能會發(fā)生中斷來不及處理,導(dǎo)致中斷丟失的情況發(fā)生,從而降低了系統(tǒng)的整體性能。在多核處理器中,所有中斷都集中在一個內(nèi)核上處理,因此會遇到與單核處理器相同的問題,即,如果在一個內(nèi)核上高優(yōu)先級中斷處理過頻,則會導(dǎo)致低優(yōu)先級中斷丟失,或者由于內(nèi)核中斷處理過多,導(dǎo)致一些關(guān)4建實時任務(wù)無法運(yùn)4亍,因此,無法體現(xiàn)出多核處理系統(tǒng)的^尤勢。為了體現(xiàn)出多核處理系統(tǒng)的4尤勢,在多核處理器處理才艮文時,當(dāng)才艮文流量較大時,可以考慮多個內(nèi)核間的負(fù)載均tf,將才艮文中斷在多個內(nèi)核處理器上依次均勻調(diào)度處理。但是,采用上述手段,在后接收的報文可能會先處理完畢并發(fā)送,這樣又會導(dǎo)致報文處理亂序。可以看出,對于多核處理器的中斷處理而言,如果不考慮系統(tǒng)負(fù)載均衡或沒有根據(jù)實際應(yīng)用考慮系統(tǒng)負(fù)載均衡,則不能實現(xiàn)較好的中斷處^里。
發(fā)明內(nèi)容針對對于多核處理器的中斷處理而言,如果不考慮系統(tǒng)負(fù)載均衡或沒有根據(jù)實際應(yīng)用考慮系統(tǒng)負(fù)載均衡,則不能實現(xiàn)較好的中斷處理的問題而提出本發(fā)明,本發(fā)明旨在提供一種多核處理器中斷負(fù)載均tf方法和裝置,以解決上述問題。根據(jù)本發(fā)明的一個方面,提供了一種多核處理器中斷負(fù)載均衡方法。在根據(jù)本發(fā)明的多核處理器中斷負(fù)載均衡方法中,多核處理器包括多個內(nèi)核以及用于控制內(nèi)核的中斷處理的中斷控制器,上述方法包括預(yù)先配置中斷i殳備對應(yīng)的調(diào)度內(nèi)核組和默認(rèn)處理內(nèi)核,其中,默認(rèn)處理內(nèi)核是調(diào)度內(nèi)核組中的一個內(nèi)核;將中斷控制器配置為將中斷設(shè)備路由到對應(yīng)的默認(rèn)處理內(nèi)核;當(dāng)中斷設(shè)備的中斷個數(shù)超過中斷閥值或默認(rèn)處理內(nèi)核的處理量超過中斷負(fù)載時,控制中斷控制器將中斷設(shè)備路由到默認(rèn)處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核。優(yōu)選地,控制中斷控制器將中斷設(shè)備路由到默認(rèn)處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核具體包括在中斷設(shè)備的中斷個數(shù)超過中斷閥值,且默認(rèn)處理內(nèi)核的處理量超過中斷負(fù)載的情況下,控制中斷控制器采用輪轉(zhuǎn)方式將中斷設(shè)備路由到的調(diào)度內(nèi)核組中的其他內(nèi)核;在中斷設(shè)備的中斷個數(shù)超過中斷閥值,但默認(rèn)處理內(nèi)核的處理量沒有超過中斷負(fù)載的情況下,控制中斷控制器采用輪轉(zhuǎn)方式將中斷設(shè)備路由到的調(diào)度內(nèi)核組中的包括默認(rèn)處理內(nèi)核在內(nèi)的部分或全部內(nèi)沖亥。優(yōu)選地,在默認(rèn)處理內(nèi)核的處理量超過中斷負(fù)載的情況下,控制中斷控制器將中斷設(shè)備路由到的調(diào)度內(nèi)核組中的其他內(nèi)核。優(yōu)選地,在控制中斷控制器將中斷設(shè)備路由到默認(rèn)處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核之后,上述方法進(jìn)一步包括判斷中斷設(shè)備向路由到的每個內(nèi)核分配的中斷個數(shù)是否超過中斷閥值;或?qū)τ谥袛嘣O(shè)備路由到的每個內(nèi)核,判斷其處理量是否超過其中斷負(fù)載;在判斷結(jié)果為是的情況下,采用輪詢方式處理中斷設(shè)備的中斷。優(yōu)選地,當(dāng)調(diào)度內(nèi)核組包括一個內(nèi)核時,控制中斷控制器將中斷i殳備路由到默^人處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核具體為采用4侖詢方式處理中斷i殳備的中斷。伊0選i也,預(yù)先配置中斷i殳備對應(yīng)的調(diào)度內(nèi)核組和,默i人處理內(nèi)核具體包括在靜態(tài)中斷策略表中設(shè)置中斷設(shè)備類型、調(diào)度內(nèi)核組、默認(rèn)處理內(nèi)核的對應(yīng)關(guān)系,并將靜態(tài)中斷策略表保存在非易失性存儲器中,其中,靜態(tài)中斷策略表中還設(shè)置有中斷閥值、中斷模式,中斷模式包括中斷和輪詢。優(yōu)選地,在預(yù)定時間到時的情況下,控制中斷控制器將中斷設(shè)備路由回默認(rèn)處理內(nèi)核進(jìn)行處理。優(yōu)選地,對于中斷設(shè)備中的相關(guān)中斷,控制中斷控制器將相關(guān)中斷3各由到的調(diào)度內(nèi)核組中的同一個內(nèi)核進(jìn)4亍處理。根據(jù)本發(fā)明的另一個方面,提供了一種多核處理器中斷負(fù)載均衡裝置。在根據(jù)本發(fā)明的多核處理器中斷負(fù)載均衡裝置中,多核處理器包括多個內(nèi)核以及用于控制內(nèi)核的中斷處理的中斷控制器,上述裝置包括配置模塊,用于預(yù)先配置中斷設(shè)備對應(yīng)的調(diào)度內(nèi)核組和默認(rèn)處理內(nèi)核,其中,默認(rèn)處理內(nèi)核是調(diào)度內(nèi)核組中的一個內(nèi)核;第一調(diào)控模塊,用于控制中斷控制器將中斷設(shè)備路由到對應(yīng)的默認(rèn)處理內(nèi)核;第二調(diào)控模塊,用于控制中斷控制器將中斷設(shè)備路由到默i人處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核。優(yōu)選地,第二調(diào)控模塊具體包括第一調(diào)控子模塊,用于控制中斷控制器采用輪轉(zhuǎn)方式將中斷設(shè)備路由到的調(diào)度內(nèi)核組中的其他內(nèi)核;第二調(diào)控子模塊,用于控制中斷控制器采用輪轉(zhuǎn)方式將中斷內(nèi)核。優(yōu)選地,上述裝置進(jìn)一步包括第一判斷模塊,用于判斷中斷判斷模塊,用于對于中斷設(shè)備路由到的每個內(nèi)核,判斷其處理量是否超過其中斷負(fù)載;處理模塊,連接至第一判斷模塊和第二判斷模塊,用于根據(jù)第一判斷模塊和/或第二判斷模塊的判斷結(jié)果,采用輪詢方式處理中斷i殳備的中斷。通過本發(fā)明,在多核處理器的多個內(nèi)核上采用不同的調(diào)度策略,解決了對于多核處理器的中斷處理而言,如果不考慮系統(tǒng)負(fù)載均銜二或沒有才艮據(jù)實際應(yīng)用考慮系統(tǒng)負(fù)載均衡,則不能實現(xiàn)較好的中斷處理的問題,實現(xiàn)了中斷的均4軒處理。此處所i兌明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其i兌明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是用于實施本發(fā)明實施例的多核處理器中斷調(diào)度模型的示意圖2是根據(jù)本發(fā)明實施例的多核處理器中斷負(fù)載均衡裝置的結(jié)構(gòu)框圖3是根據(jù)本發(fā)明實施例的多核處理器中斷負(fù)載均衡裝置的優(yōu)選結(jié)構(gòu)框圖4是4艮據(jù)本發(fā)明實施例的多核處理器中斷負(fù)載均纟軒方法的流程圖5是才艮據(jù)本發(fā)明實施例的網(wǎng)口中斷負(fù)載均纟軒的示意圖6是根據(jù)本發(fā)明實施例的多核處理器中斷負(fù)載均衡方法的軟4牛處理的流禾呈圖。具體實施例方式功能相克述本發(fā)明才是出一種在多核處理器的多個內(nèi)核中才艮據(jù)不同的中斷配置策略進(jìn)4亍中斷處理,即,才艮據(jù)實際應(yīng)用采用不同的中斷均4軒策略,利用處理器間中斷在多個內(nèi)核上均#^多核處理器中斷負(fù)載均4纖,在初次分配多個內(nèi)核需要進(jìn)行的中斷處理之后,根據(jù)實際應(yīng)用對初次分配的情況進(jìn)行動態(tài)調(diào)整,避免在一個內(nèi)核上高優(yōu)先級中斷處理過頻導(dǎo)致低優(yōu)先級中斷丟失,或者內(nèi)核由于中斷處理過多導(dǎo)致一些關(guān)鍵實時任務(wù)無法運(yùn)行,提高了系統(tǒng)的實時性、穩(wěn)定性和可靠性;同時避免了單一的中斷調(diào)度算法給應(yīng)用帶來額外負(fù)擔(dān),提高了系統(tǒng)的整體性能。圖1是用于實施本發(fā)明實施例的多核處理器中斷調(diào)度模型的示意圖,如圖1所示,102為用于實施本發(fā)明的多核處理器的模型,104為多核處理器中的內(nèi)核(其中,內(nèi)核包^fe:內(nèi)核0、內(nèi)核l至內(nèi)核N),106為多核處理器的中斷控制器(ProgrammableInterruptController,簡稱為PIC),108和110為多核間的處理器中斷消息通道的3各由,此外,圖1中還示出了串口、網(wǎng)口、外圍組件互連(PeripheralComponentInterconnect,簡稱為PCI)設(shè)備。下面將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。裝置實施例根據(jù)本發(fā)明的實施例,提供了一種多核處理器中斷負(fù)載均衡裝置,其中,多核處理器包^r多個內(nèi)核以及用于控制內(nèi)核的中斷處理的中斷控制器。圖2是才艮據(jù)本發(fā)明實施例的多核處理器中斷負(fù)載均衡裝置的結(jié)構(gòu)框圖,如圖2所示,該裝置包括配置模塊22、第一調(diào)控才莫塊24、第二調(diào)控才莫塊26,下面對上述結(jié)構(gòu)進(jìn)行詳細(xì)描述。配置才莫塊22,用于預(yù)先配置中斷i殳備對應(yīng)的調(diào)度內(nèi)核組和默認(rèn)處理內(nèi)核,其中,默i人處理內(nèi)核是調(diào)度內(nèi)核組中的一個內(nèi)核;第一調(diào)控模塊24,連接至配置模塊22,用于控制中斷控制器將中斷設(shè)備路由到對應(yīng)的默認(rèn)處理內(nèi)核;第二調(diào)控模塊26,連接至配置模塊22,用于控制中斷控制器將中斷設(shè)備路由到默認(rèn)處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核。通過該實施例,在多核處理器的多個內(nèi)核上采用不同的調(diào)度策略,解決了對于多核處理器的中斷處理而言,如果不考慮系統(tǒng)負(fù)載均4軒或沒有才艮據(jù)實際應(yīng)用考慮系統(tǒng)負(fù)載均4軒,則不能實現(xiàn)專交好的中斷處理的問題,實J見了中斷的均4軒處理。圖3是根據(jù)本發(fā)明實施例的多核處理器中斷負(fù)載均衡裝置的優(yōu)選結(jié)構(gòu)框圖,如圖3所示其中,第二調(diào)控模塊26具體包括第一控制子模塊32,用于在中斷設(shè)備的中斷個數(shù)超過中斷閥值,且默i人處理內(nèi)核的處理量超過中斷負(fù)載或默"i人處理內(nèi)核的處理量超過中斷負(fù)載的情況下,控制中斷控制器采用輪轉(zhuǎn)方式將中斷設(shè)備路由到的調(diào)度內(nèi)核組中的其他內(nèi)核。第二控制子模塊34,用于在中斷設(shè)備的中斷個數(shù)超過中斷閥值,但默認(rèn)處理內(nèi)核的處理量沒有超過中斷負(fù)載的情況下,控制中斷控制器采用輪轉(zhuǎn)方式將中斷設(shè)備路由到的調(diào)度內(nèi)核組中的包括默i人處理內(nèi)核在內(nèi)的部分或全部內(nèi)斗亥。此外,上述裝置還可以包4舌:第一判斷模塊36,連接至控制模塊26,用于判斷中斷設(shè)備向路第二判斷模塊38,連接至控制模塊26,用于對于中斷設(shè)備路由到的每個內(nèi)核,判斷其處理量是否超過其中斷負(fù)載;處理模塊30,連接至第一判斷模塊36和第二判斷模塊38,用于根據(jù)第一判斷模塊和/或第二判斷模塊的判斷結(jié)果,采用輪詢方式處理中斷設(shè)備的中斷;即,在第一判斷模塊36或第二判斷模塊38的判斷結(jié)果為是的情況下,采用4侖詢方式處理中斷"i殳備的中斷。通過上述優(yōu)選實施例,提供了在多種情況下,對多核處理器的多個內(nèi)核上的不同的調(diào)度策略,解決了對于多核處理器的中斷處理而言,如果不考慮系統(tǒng)負(fù)載均衡或沒有根據(jù)實際應(yīng)用考慮系統(tǒng)負(fù)載均衡,則不能實現(xiàn)較好的中斷處理的問題,實現(xiàn)了中斷的均衡處理。方法實施例才艮據(jù)本發(fā)明的實施例,提供了一種多核處理器中斷負(fù)載均衡方法,其中,多核處理器包括多個內(nèi)核以及用于控制內(nèi)核的中斷處理的中斷控制器。該方法實施例可以結(jié)合上述裝置來實現(xiàn)。圖4是根據(jù)本發(fā)明實施例的多核處理器中斷負(fù)載均衡方法的流程圖,如圖4所示,該方法包4舌步驟S402,預(yù)先配置中斷設(shè)備對應(yīng)的調(diào)度內(nèi)核組和默認(rèn)處理內(nèi)核,其中,默i人處理內(nèi)核是調(diào)度內(nèi)核組中的一個內(nèi)核;步驟S404,將中斷控制器配置為將中斷設(shè)備路由到對應(yīng)的默認(rèn)處理內(nèi)核;步驟S406,當(dāng)中斷設(shè)備的中斷個數(shù)超過中斷閥值或默認(rèn)處理內(nèi)核的處理量超過中斷負(fù)載(中斷負(fù)載可以通過內(nèi)核占用率上限、中斷發(fā)生最大頻度、該內(nèi)核上的中斷源數(shù)量等因素確定)時,控制中斷控制器將中斷設(shè)備路由到默認(rèn)處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核;其中,如果調(diào)度內(nèi)核組只包4舌一個內(nèi)核,則可以采用4侖詢方式處理中斷"i殳備的中斷;此外,可以預(yù)先i殳置一個預(yù)定時間,在上述預(yù)定時間到達(dá)時,控制中斷控制器將中斷設(shè)備路由回默認(rèn)處理內(nèi)核進(jìn)4亍處理。通過該實施例,在多核處理器的多個內(nèi)核上采用不同的調(diào)度策略,實現(xiàn)了中斷的均衡處理,提高了系統(tǒng)的實時性、穩(wěn)定性和可靠性。在步驟S406中,可以根據(jù)以下幾種情況控制中斷控制器將中斷i殳備^各由到默i人處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核(該過程可以通過上述控制才莫塊來實現(xiàn))。(1)在中斷i殳備的中斷個凄t超過中斷閥值,且默i人處理內(nèi)核的處理量超過中斷負(fù)載的情況下,控制中斷控制器采用輪轉(zhuǎn)方式將中斷設(shè)備路由到的調(diào)度內(nèi)核組中的其他內(nèi)核,這里的其他內(nèi)核不包括默i人處理內(nèi)核。(2)在中斷"i殳備的中斷個凄t超過中斷岡值,但_默認(rèn)處理內(nèi)核沒有超過中斷負(fù)載的情況下,控制中斷控制器采用輪轉(zhuǎn)方式將中斷設(shè)備3各由到的調(diào)度內(nèi)核組中其他內(nèi)核,這里的其他內(nèi)核包括默i人處理內(nèi)核,并且可以是調(diào)度內(nèi)核組中部分或全部內(nèi)核。(3)在默認(rèn)處理內(nèi)核的處理量超過中斷負(fù)載的情況下,控制中斷控制器將中斷設(shè)備路由到的調(diào)度內(nèi)核組中的其他內(nèi)核,與上述的情況(1)和情況(2)不同,這里不考慮中斷設(shè)備本身的情況,僅^f又考慮默i人處理內(nèi)核的情況。在步驟S406中對中斷設(shè)備進(jìn)行路由,以實現(xiàn)中斷負(fù)載的均衡之后,根據(jù)實際情況的變化,還需要對中斷處理的過程進(jìn)行具體調(diào)節(jié)或調(diào)整,具體可以如下實現(xiàn)判斷中斷設(shè)備向路由到的每個內(nèi)核分配的中斷個數(shù)是否超過中斷閥值;或?qū)τ谥袛嘣O(shè)備路由到的每個內(nèi)核,判斷其處理量是否超過其中斷負(fù)載;如果上述任一判斷的判斷結(jié)果為是,則采用4侖詢方式處理中斷i殳備的中斷。下面將結(jié)合實例對本發(fā)明的具體實現(xiàn)過程進(jìn)行詳細(xì)描述。圖5是根據(jù)本發(fā)明實施例的多核處理器中斷負(fù)載均衡方法的軟件處理的流程圖,如圖5所示,在系統(tǒng)上電運(yùn)行之后,包4舌如下步驟步艱《S502,對系統(tǒng)的中斷源進(jìn)4亍初次分配,生成靜態(tài)中斷策略表,并將其保存在非易失性存儲器中,當(dāng)系統(tǒng)每次上電運(yùn)行時,均從非易失性存儲器中讀出該表進(jìn)行中斷初次分配;對應(yīng)于上述的步驟S402和步驟S,步驟S504,根據(jù)系統(tǒng)實時運(yùn)行性能,生成動態(tài)中斷策略表,實時調(diào)整系統(tǒng)中各內(nèi)核的負(fù)載;步-驟S506,實時調(diào)整動態(tài)中斷策略表參凄t;步驟S508,4艮據(jù)調(diào)整后的動態(tài)終端策略表,重新分配中斷在各內(nèi)核的處理,即,調(diào)整中斷處理的目的內(nèi)核、方式及其他參凄t,用于避免中斷在各內(nèi)核間的顛簸,達(dá)到系統(tǒng)負(fù)載均tf的目的。步驟S504至步驟S508對應(yīng)于上述的步驟S406以及其后續(xù)的優(yōu)選操作。下面對本發(fā)明的具體實施過程進(jìn)行詳細(xì)描述。上述步驟S402可以通過如下過程進(jìn)行實現(xiàn)預(yù)先設(shè)置靜態(tài)中斷策略表,在該靜態(tài)中斷策略表中設(shè)置中斷設(shè)備類型、調(diào)度內(nèi)核組、默認(rèn)處理內(nèi)核的對應(yīng)關(guān)系,表1給出了靜態(tài)中斷策略表的實例,優(yōu)選地,可以將靜態(tài)中斷策略表保存在非易失性存儲器中,由于多核處理器外部設(shè)備接口眾多,因此在初次生成靜態(tài)中斷策略表時,首先需要根據(jù)中斷源數(shù)量、中斷設(shè)備類型等進(jìn)行劃分,達(dá)到粗略地在多個內(nèi)核中均衡中斷的目的。如表1所示,在中斷靜態(tài)策略配置中,除了包括中斷源類型、中斷調(diào)度內(nèi)核組、默認(rèn)處理內(nèi)核,還包括中斷閥值、中斷模式(包括中斷和輪詢)。具體地,根據(jù)外部i殳備的類型,配置不同中斷源對應(yīng)的中斷調(diào)度內(nèi)核組和默認(rèn)處理內(nèi)核,根據(jù)默認(rèn)處理內(nèi)核,在系統(tǒng)上電時,讀取中斷靜態(tài)策略表,根據(jù)中斷靜態(tài)策略表在內(nèi)核間劃分中斷上送的目的內(nèi)核(即,默認(rèn)處理內(nèi)核),并才艮據(jù)劃分的目的內(nèi)核配置中斷控制器,初次達(dá)到在多個內(nèi)核中均^f軒中斷負(fù)載的目的(即,上述步驟S502);也就是說,配置多核處理器的中斷控制器,將各種中斷設(shè)備正確路由到默認(rèn)處理內(nèi)核(即,上述步驟S404);例如,將所有串口中斷上報到內(nèi)核0,將網(wǎng)口中斷上報到內(nèi)核1,將PCI設(shè)備中斷上報到內(nèi)核2;當(dāng)中斷設(shè)備的中斷負(fù)載超過中斷閥值時,允許在靜態(tài)中斷策略表中設(shè)置的中斷調(diào)度內(nèi)核組中進(jìn)行負(fù)載均衡;例如,當(dāng)中斷調(diào)度內(nèi)核組與默認(rèn)處理內(nèi)核相同時,即,該只有一個內(nèi)核,例如表1第一4亍所示的配置,則該中斷只能綁定在該默i人處理內(nèi)核上處理。表1中斷靜態(tài)策略配置<table>tableseeoriginaldocumentpage16</column></row><table>當(dāng)系統(tǒng)運(yùn)行時,由于外部設(shè)備的突發(fā)流量不均衡,初次粗略分配的中斷負(fù)載可能在實際運(yùn)行中導(dǎo)致某幾個內(nèi)核負(fù)載較重,而其他內(nèi)核空閑,因此,可以實時監(jiān)測各中斷設(shè)備的中斷個數(shù)是否超過中斷閥值以及各內(nèi)核的處理量是否超過中斷負(fù)載,然后控制中斷控制器將中斷設(shè)備路由到默認(rèn)處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核(即,步驟S406);該過程可以通過如下方式實現(xiàn)在靜態(tài)配置策略表的基礎(chǔ)上,實時動態(tài)生成動態(tài)配置策略表(即,上述步驟S504),優(yōu)選地,可以將動態(tài)配置策略表保存在共享內(nèi)存中;如表2和表3所示為兩張動態(tài)策略表,其中,表2是網(wǎng)口中斷動態(tài)策略配置,表3是PCH殳備中斷動態(tài)策略配置,才艮據(jù)本發(fā)明的實施例包含但不限于表中所列舉的要素。優(yōu)選地,在上述的動態(tài)配置策略表中采用Hash算法設(shè)置條目的存放位置,可以避免條目在動態(tài)配置策略表中存放位置的沖突。需要說明的是,當(dāng)系統(tǒng)未生成動態(tài)配置表時,采用靜態(tài)配置表進(jìn)行負(fù)載均衡,否則采用動態(tài)配置表進(jìn)行負(fù)載均衡。表2網(wǎng)口中斷動態(tài)策略配置<table>tableseeoriginaldocumentpage17</column></row><table>當(dāng)外部設(shè)備為網(wǎng)口時,可以根據(jù)網(wǎng)絡(luò)才艮文流的特性,實時生成如表2所示的網(wǎng)口中斷動態(tài)策略配置表,在表2中,網(wǎng)口中斷動態(tài)策略配置包括網(wǎng)口Hash值、生存服務(wù)時間、調(diào)度內(nèi)核組、內(nèi)核親和性、中斷才莫式、老4匕時間、以及源、目的i也址。其中,為避免"i殳備的中斷服務(wù)在內(nèi)核間定向的顛簸,設(shè)定的生存服務(wù)時間(即,上述預(yù)定時間)要綜合考慮各種因素,例如,在不同內(nèi)核的服務(wù)時間長度、中斷發(fā)生頻度、各內(nèi)核中斷負(fù)載歷史、中斷優(yōu)先級等,按照加權(quán)值生成,在生存服務(wù)時間到達(dá)時,控制中斷控制器將中斷設(shè)備路由回內(nèi)核親和性中的內(nèi)核(對應(yīng)于上述的默認(rèn)處理內(nèi)核)進(jìn)行處理;在老化時間時,由預(yù)先設(shè)置的主控內(nèi)核(是指多核處理器中的一個內(nèi)核)刪除超過老化時間未更新的條目。下面將結(jié)合圖6對表2中的網(wǎng)口中斷動態(tài)策略配置進(jìn)行詳細(xì)描述。圖6是才艮據(jù)本發(fā)明實施例的網(wǎng)口中斷負(fù)載均衡的示意圖,如圖6所示,考慮將不同的流定向到其他的內(nèi)核上處理,同時,還需要將相關(guān)度較大的報文流集中在相同的內(nèi)核上處理,可以根據(jù)報文的源地址和目的地址來實現(xiàn),例如,獲耳又凈艮文的源地址和目的地址,然后計算HASH值,根據(jù)計算的HASH值在動態(tài)策略表中進(jìn)行匹配,這里4是到的匹配包括老化時間有效性沖全測、HASH值匹配等,如果查找返回空,即,沒有查找到相應(yīng)記錄,則可以在該動態(tài)策略表中添加該報文流對應(yīng)的條目,如果查找不為空,即,查找到了相應(yīng)記錄,則可以通過調(diào)度才莫塊來獲耳又該才艮文流的可調(diào)度內(nèi)核組;對HASH值較接近的一組相關(guān)的報文流通過調(diào)度模塊重定向到相同的內(nèi)核處理,即,對于中斷i殳備中的相關(guān)中斷,控制中斷控制器將中斷設(shè)備中的相關(guān)中斷路由到的調(diào)度內(nèi)核組中的同一個內(nèi)核進(jìn)行處理,這樣可以沖是高系統(tǒng)處理的性能。表3PCIi殳備中斷動態(tài)策略配置<table>tableseeoriginaldocumentpage18</column></row><table>當(dāng)外部i殳備為PCIi殳備時,實時生成如表3所示的PCIi殳備中斷動態(tài)策略配置表。才艮據(jù)實際應(yīng)用可以對上述的動態(tài)配置策略表實時進(jìn)4亍更新,例如,各內(nèi)核均可讀、寫、修改該動態(tài)配置策略表,該過程需要保證對動態(tài)配置策略表的互斥操作(即,上述步驟S506);具體地,對于上述動態(tài)策略配置表中的每個條目由當(dāng)前處理該條目的內(nèi)核負(fù)責(zé)維護(hù)更新,以小于條目中的老4匕時間的間隔定期更新,主4空內(nèi)沖亥定期減小每個條目的老化時間,當(dāng)老化時間減小到0時,將該條目從動態(tài)策略配置表中刪除;在對不同的報文流HASH值進(jìn)行計算之后,可能位于動態(tài)策略配置表中相同的位置,此時可以考慮增加相同HASH值下的二級子表來避免沖突。此后,#4居調(diào)整后的動態(tài)會冬端策略表,重新分配中斷在各內(nèi)核的處理,以達(dá)到系統(tǒng)負(fù)載均4軒的目的(即,上述步-驟S508)。對于上述步驟S406中控制中斷控制器將中斷設(shè)備路由到默認(rèn)處理內(nèi)核所屬的調(diào)y復(fù)內(nèi)核組中的一個或多個內(nèi)核的實王見過禾呈可以通過如下方式進(jìn)4于實施根據(jù)上述的動態(tài)配置策略表,當(dāng)中斷設(shè)備的中斷個數(shù)超過中斷閥值時,中斷控制器通過處理器中斷發(fā)送消息到默i人處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個目的內(nèi)核,或者采用輪轉(zhuǎn)算法依次發(fā)送消息到默i人處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一組目的內(nèi)核,進(jìn)4亍中斷負(fù)載均衡,并在發(fā)送的消息中攜帶處理當(dāng)前中斷的服務(wù)程序入口地址、中斷或4侖詢處理方式等;此后,目的內(nèi)核或一組目的內(nèi)核4妄收上述消息,并根據(jù)該消息將線程轉(zhuǎn)入處理當(dāng)前中斷的服務(wù)程序執(zhí)行中斷處理。當(dāng)中斷設(shè)備因中斷處理效率較低(即,中斷設(shè)備向路由到的每個內(nèi)核分配的中斷個數(shù)超過中斷閥值,或中斷設(shè)備路由到的每個內(nèi)核的處理量超過其中斷負(fù)載)時,可考慮采用輪詢的處理方式進(jìn)行處理。例如,當(dāng)默i人處理內(nèi)核負(fù)載專交重時,控制中斷控制器發(fā)送處理器間中斷消息到指定內(nèi)核(可以是調(diào)度內(nèi)核組中的一個內(nèi)核),并在處理器間中斷消息中攜帶處理該中斷的月良務(wù)程序,i殳定生存月l務(wù)時間,如果中斷模式可以采用輪詢方式處理,則屏蔽當(dāng)前中斷設(shè)備,由指定內(nèi)核采用4侖詢方式處理,同時需要更新動態(tài)配置策略表中的條目,即,將中斷才莫式由中斷^務(wù)改為4侖詢,在生存服務(wù)時間到達(dá)后,判斷默認(rèn)處理內(nèi)核的處理量是否已經(jīng)降到中斷負(fù)載以下,在判斷結(jié)果為是的情況下,則將中斷模式由輪詢修改為中斷,并控制中斷控制器發(fā)送消息重新^各由回,默i人處理內(nèi)核對該中斷i殳備的中斷進(jìn)4亍處理,同時打開被屏蔽的中斷設(shè)備。通過本發(fā)明的實施例,在多核處理環(huán)境中,通過將交互的凄丈據(jù)才艮文分別在不同的內(nèi)核上處理,充分發(fā)揮內(nèi)核一、二級高速ll存的優(yōu)勢,采用動態(tài)實時生成的策略表將相關(guān)性較大的數(shù)據(jù)流集中在相同的內(nèi)核上處理,充分利用了高速緩存的特性,同時才艮據(jù)實際應(yīng)用采用不同的中斷均4軒策略,利用處理器間中斷在多個內(nèi)核上均4軒多核處理器中斷負(fù)載均4耔,避免了單一的中斷調(diào)度算法給應(yīng)用帶來額夕卜負(fù)擔(dān),提高了系統(tǒng)的整體性能有助于系統(tǒng)整體性能的提高。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述^又為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1.一種多核處理器中斷負(fù)載均衡方法,所述多核處理器包括多個內(nèi)核以及用于控制內(nèi)核的中斷處理的中斷控制器,其特征在于,所述方法包括預(yù)先配置中斷設(shè)備對應(yīng)的調(diào)度內(nèi)核組和默認(rèn)處理內(nèi)核,其中,所述默認(rèn)處理內(nèi)核是所述調(diào)度內(nèi)核組中的一個內(nèi)核;將所述中斷控制器配置為將中斷設(shè)備路由到對應(yīng)的默認(rèn)處理內(nèi)核;當(dāng)所述中斷設(shè)備的中斷個數(shù)超過中斷閥值或所述默認(rèn)處理內(nèi)核的處理量超過中斷負(fù)載時,控制所述中斷控制器將所述中斷設(shè)備路由到所述默認(rèn)處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述控制所述中斷控制器將所述中斷設(shè)備路由到所述默認(rèn)處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核具體包4舌在所述中斷設(shè)備的中斷個數(shù)超過中斷閥值,且所述默認(rèn)處理內(nèi)核的處理量超過中斷負(fù)載的情況下,控制所述中斷控制器采用輪轉(zhuǎn)方式將所述中斷設(shè)備路由到所述的調(diào)度內(nèi)核組中的其他內(nèi)核;在所述中斷i殳備的中斷個凄t超過中斷閥值,^旦所述默^人處理內(nèi)核的處理量沒有超過中斷負(fù)載的情況下,控制所述中斷控制器采用輪轉(zhuǎn)方式將所述中斷設(shè)備路由到所述的調(diào)度內(nèi)核組3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述默"i人處理內(nèi)核的處理量超過所述中斷負(fù)載的情況下,控制所述中斷控制器將所述中斷設(shè)備路由到所述的調(diào)度內(nèi)核組中的其4也內(nèi)核。4.才艮據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,在控制所述中斷控制器將所述中斷設(shè)備路由到所述默認(rèn)處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核之后,所述方法進(jìn)一步包括判斷所述中斷i殳備向^各由到的每個內(nèi)核分配的中斷個凝:是否超過所述中斷閥^直;或?qū)τ谒鲋袛嘣O(shè)備路由到的每個內(nèi)核,判斷其處理量是否超過其中斷負(fù)載;在判斷結(jié)果為是的情況下,采用輪詢方式處理所述中斷i殳備的中斷。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述調(diào)度內(nèi)核組包括一個內(nèi)核時,所述控制所述中斷控制器將所述中斷設(shè)備路由到所述默i人處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核具體為采用4侖詢方式處理所述中斷i殳備的中斷。6.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,所述預(yù)先配置中斷i殳備乂十應(yīng)的調(diào)度內(nèi)4亥《且和,默i人處理內(nèi)4亥具體包括在靜態(tài)中斷策略表中設(shè)置中斷設(shè)備類型、調(diào)度內(nèi)核組、默認(rèn)處理內(nèi)核的對應(yīng)關(guān)系,并將所述靜態(tài)中斷策略表保存在非易失性存儲器中,其中,所述靜態(tài)中斷策略表中還設(shè)置有所述中斷閥值、中斷才莫式,所述中斷才莫式包括中斷和4侖詢。7.根據(jù)權(quán)利要求1所述的方法,其特征在于,在預(yù)定時間到時的情況下,控制所述中斷控制器將所述中斷i殳備路由回所述f犬i人處理內(nèi)核進(jìn)4亍處理。8.根據(jù)權(quán)利要求1所述的方法,其特征在于,對于所述中斷設(shè)備中的相關(guān)中斷,控制所述中斷控制器將所述相關(guān)中斷路由到所述的調(diào)度內(nèi)核組中的同一個內(nèi)核進(jìn)行處理。9.一種多核處理器中斷負(fù)載均衡裝置,所述多核處理器包括多個內(nèi)核以及用于控制內(nèi)核的中斷處理的中斷控制器,其特4正在于,所述裝置包括配置才莫塊,用于預(yù)先配置中斷i殳備對應(yīng)的調(diào)度內(nèi)核組和默認(rèn)處理內(nèi)核,其中,所述默i人處理內(nèi)核是所述調(diào)度內(nèi)核組中的一個內(nèi)核;第一調(diào)控模塊,用于控制所述中斷控制器將中斷設(shè)備路由到對應(yīng)的默認(rèn)處理內(nèi)核;第二調(diào)控^^莫塊,用于控制所述中斷控制器將所述中斷設(shè)備3各由到所述默i人處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述第二調(diào)控模塊具體包括第一調(diào)控子模塊,用于控制所述中斷控制器采用輪轉(zhuǎn)方式將所述中斷設(shè)備路由到所述的調(diào)度內(nèi)核組中的其他內(nèi)核;第二調(diào)控子模塊,用于控制所述中斷控制器采用輪轉(zhuǎn)方式將所述中斷設(shè)備路由到所述的調(diào)度內(nèi)核組中的包括所述默認(rèn)處理內(nèi)核在內(nèi)的部分或全部內(nèi)核。11.根據(jù)權(quán)利要求9或IO所述的裝置,其特征在于,進(jìn)一步包括第一判斷模塊,用于判斷所述中斷設(shè)備向路由到的每個內(nèi)核分配的中斷個數(shù)是否超過所述中斷閥值;第二判斷模塊,用于對于所述中斷設(shè)備路由到的每個內(nèi)核,判斷其處理量是否超過其中斷負(fù)載;處理模塊,連接至所述第一判斷模塊和所述第二判斷模塊,用于根據(jù)所述第一判斷模塊和/或所述第二判斷模塊的判斷結(jié)果,采用4侖詢方式處理所述中斷i殳備的中斷。全文摘要本發(fā)明公開了一種多核處理器中斷負(fù)載均衡方法和裝置,其中,多核處理器包括多個內(nèi)核以及用于控制內(nèi)核的中斷處理的中斷控制器,上述方法包括預(yù)先配置中斷設(shè)備對應(yīng)的調(diào)度內(nèi)核組和默認(rèn)處理內(nèi)核,其中,默認(rèn)處理內(nèi)核是調(diào)度內(nèi)核組中的一個內(nèi)核;將中斷控制器配置為將中斷設(shè)備路由到對應(yīng)的默認(rèn)處理內(nèi)核;當(dāng)中斷設(shè)備的中斷個數(shù)超過中斷閥值或默認(rèn)處理內(nèi)核的處理量超過中斷負(fù)載時,控制中斷控制器將中斷設(shè)備路由到默認(rèn)處理內(nèi)核所屬的調(diào)度內(nèi)核組中的一個或多個內(nèi)核。本發(fā)明實現(xiàn)了中斷的均衡處理。文檔編號G06F9/50GK101354664SQ20081013552公開日2009年1月28日申請日期2008年8月19日優(yōu)先權(quán)日2008年8月19日發(fā)明者理肖,陽趙申請人:中興通訊股份有限公司