新四季網

一種對稱多處理系統中進程與中斷的處理方法及裝置的製作方法

2023-06-29 07:57:51 6

專利名稱:一種對稱多處理系統中進程與中斷的處理方法及裝置的製作方法
技術領域:
本發明涉及對稱多處理器系統領域,特別是一種對稱多處理器系統中進程 與中斷的處理方法及裝置。
背景技術:
隨著多處理器技術的迅速發展,多處理器平臺正越來越廣泛地應用在工業 自動化、電子通訊、家電等各個領域。同時,多處理器平臺對各種進程調度和 中斷源的處理也越來越複雜。在這種情況下,為了保證多處理器平臺在進程調 度和中斷處理過程中的系統穩定性和實時性,原來的進程調度和中斷處理技術 也隨之不斷發展。多處理系統包括對稱多處理系統和非對稱多處理系統。目前用於對稱多處理系統中的中斷處理方法主要包括以下流程(1)如附圖1所示,硬體設備產 生外部IRQs (中斷請求)信號,並上報給I/O APIC (I/O高級可編程中斷控制 器),由I/OAPIC進行中斷優先級判斷以及屏蔽控制後,根據I/OAPIC中的編 程邏輯,通過中斷控制器通信總線,動態的將外部IRQs分發到某個CPU的本 地APIC (高級可編程中斷控制器),由該CPU處理接收到的外部IRQs及自己 的本地IRQs; (2)附圖2是中斷根據中斷處理原則被分發到具體的某一個CPU 上後進行軟體處理的流程圖,獲得外部IRQs的CPU^4居該IRQs對應的中斷 向量查找中斷向量表,確定中斷類型,然後跳轉至ISR (中斷服務例程),執行 用戶設定的中斷響應代碼進行中斷處理;並在底層的中斷服務例程中調用上層 註冊的回調函數,處理上層中斷業務或分發業務,底層中斷上下文中執行完上 層的代碼後中斷返回。目前對稱多處理系統中的進程調度方法主要有基於優先級的調度算法、基於比例共享的調度算法、基於時間的進程調度算法等,但最通用的還是基於優 先級的調度算法。對稱多處理系統中的進程調度主要包括以下流程(l)用戶創建進程,該進程最初在某個處理器A上開始運行;(2)多個處理器獨立進行 進程調度,在處理器A下次調度到該進程的時候根據負載均衡原則將進程分發 到負載輕的處理器B上;(3)依此類推,該進程將在多個處理器上輪轉執行。 但是隨著掛接中斷的設備越來越多,及用戶進程數的不斷增多,現有的多 處理器系統的進程調度和中斷處理方法在穩定性和實時性方面正面臨各種挑 戰。首先,由於每個處理器都是既處理中斷又運行用戶進程,如果某種設備中 斷過於頻繁,處理器在執行進程的時候要不斷的進入中斷,中斷處理完後再切 換回進程,周而復始,對於搶佔式作業系統,CPU佔有率將維持4艮高的水平, 導致進程處理延遲,直觀上看是作業系統對用戶的輸入反應遲鈍,影響了系統 的實時性。其次,由於進程和中斷都是均衡分發到各個處理器,頻繁的產生中 斷和調度較多的進程,就會在處理器上頻繁切換;由於高速緩存總是把訪問率 高的數據或者正在運行的程序下一步要調用的數據存入其中,如果作業頻繁切 換,對於處理器高速緩存而言,就需要在將運行中斷要涉及的相關數據調入和 將運行進程要涉及的相關數據調入之間頻繁切換,這對處理器的高速緩存而言 是個災難,將不能保證較高的命中率,在某些情況下會嚴重影響系統的穩定性 和實時性。現有的申請號為CN200710066924的中國專利申請"面向異構多核體系的 進程調度方法,,中,由於該專利申請將中斷和進程放在同一個核上處理,無法 避免在進程數較多和中斷頻繁的情況下頻繁切換帶來的系統開銷, 一定程度上 影響了系統的實時性。申請號為US20050246461的美國專利申請"Scheduling threads in a multi-processor computer"(在多處理器CPU之間調度線程),雖然在該專利 中,對進程和中斷在多個核上進行了均衡分發,但是它不能根本性的解決同一 個核上進程和中斷頻繁切換帶來的系統開銷;因而在中斷設備多樣、中斷處理 複雜以及進程數較多的情況下,會影響系統響應中斷和處理進程的實時性。發明內容有鑑於此,本發明的主要目的在於提供一種對稱多處理系統中進程與中斷 的處理方法及裝置,以防止系統在進程較多和中斷頻繁的情況下的處理遲滯和 系統穩定性下降。為達到上述目的,本發明的技術方案是這樣實現的本發明公開了 一種對稱多處理系統中進程與中斷的處理方法,該方法採用 中斷處理和進程處理在處理器級上相分離的辦法,用一個或一組處理器專門處 理中斷,其餘的處理器專門處理進程;並且進一步地,對進程和中斷處理進行 監控,對兩組處理器中的處理器數進行動態調整。該方法包括a. 中斷信號產生以後,綁定中斷到中斷處理器組,所述中斷處理器組對中 斷進行處理;b. 將產生的進程綁定到進程處理器組,所述進程處理器組對進程進行處c. 對中斷處理器組和進程處理器組進行監控,計算每組處理器的負載指 數,並根據負載指數對兩組處理器中的處理器數進行動態調整。進一步的,在步驟a中所述中斷處理器組對中斷進行處理,為根據中斷 處理器組內CPU負載情況將中斷均衡地在本組CPU間動態分發,並根據中斷 親和性原則讓同 一個CPU處理同 一類型中斷。在步驟c中所述計算中斷處理器組處理器的負載指數,為A=(intLoad 1 +intLoad2+...十intLoadn) /n,其中intLoad 1 intLoadn為中斷處理器 組內每個CPU的負載指數,n指中斷處理器組內當前的CPU個數;或者,在 步驟c中所述計算進程處理器組處理器的負載指數,為B=(processLoadl+processLoad2+…+processLoadm ) /m , 其中 processLoad1 processLoadm為進程處理器組內每個CPU的負載指數,m指進程處理器組內當 前的CPU個數。在步驟c中所述根據負載指數對兩組處理器中的處理器數進行 動態調整,為如果監控到中斷處理器組負載指數大於進程處理器組負載指數,則將進程處理器組中負載指數最小的處理器綁定到中斷處理器組;如果中斷處 理器組負載指數小於進程處理器組負載指數,則將中斷處理器組內負載指數最 小的處理器綁定到進程處理器組。本發明還公開了 一種對稱多處理系統中進程與中斷的處理裝置,包括中斷處理模塊,用於中斷信號產生以後,根據系統需要進行中斷綁定分發 處理,包括配置I/OAPIC、綁定中斷到中斷處理器組;進程處理模塊,用於將產生的進程綁定到進程處理器組及在進程處理器組 的CPU之間調度進程;中斷處理器組,用於對中斷進行處理;進程處理器組,用於對進程進行處理,所述進程處理器組中包含的處理器 與中斷處理器組中包含的處理器不相同。該裝置還包括進程和中斷監控模塊,用於對進程處理器組和中斷處理器 組進行統計,計算每組處理器的負載能力,並根據負載指數對兩組處理器中的 處理器數進行動態調整。與現有技術相比,本發明所提供的對稱多處理系統中進程與中斷的處理方 法和裝置,具有以下的優點和特點由於採用了進程處理和中斷處理在處理器一級相分離的方法, 一方面保證 了進程處理和中斷處理互相不受幹擾,確保進程和中斷的處理都能夠得到及時 響應,保證系統的實時性要求;另一方面,如果將中斷或進程綁定到一個(或 一組)處理器上,CPU高速緩存保存當前運行程序下一步要調用的數據、或訪 問率高的數據,並且不用頻繁大量讀入或移出,可以避免或降低在多個處理器上分發造成的高速緩存問題,確保高速緩存始終保持高命中率。此外,本發明還提供了進程和中斷監控模塊,進行兩組處理器相關信息的 統計,並根據統計的結果進行中斷處理和進程處理的重新綁定,令多處理器系 統即使在設備中斷過於頻繁,或者進程急劇增多的情況下(如電子通訊領域), 也會自動啟動負載均衡機制,避免進程或中斷處理延誤,從而顯著提高系統在 處理進程和中斷時的穩定性和實時性。


圖1為傳統對稱多處理器系統中斷、進程處理流程框圖; 圖2為在某一個CPU上對中斷進行軟體處理的流程圖; 圖3為本發明對稱多處理器系統中斷、進程處理相分離原理圖; 圖4為本發明的對稱多處理器進程和中斷主要處理流程圖。
具體實施方式
本發明利用對稱多處理系統進程與中斷的處理裝置進行進程和中斷處理包 括以下步驟步驟A.多處理系統啟動過程中,由搡作系統內核調用中斷處理模塊接口, 中斷處理模塊啟動,之後中斷處理模塊進行中斷綁定分發處理,包括配置I/O APIC、綁定中斷到一個或一組處理器,這組處理器就成為中斷處理器組,餘下 的沒有綁定中斷的處理器將成為進程處理器組;步驟B.多處理系統啟動過程中,由作業系統內核調用進程和中斷監控模 塊接口啟動監控程序,實時監控中斷處理器組和進程處理器組的負載情況;步驟C.多處理系統啟動後,由用戶程序調用進程處理模塊接口,進程處 理模塊啟動後,將產生的所有進程綁定到進程處理器組;步驟D.進程和中斷監控模塊根據監控到的每組處理器的負載情況,動態 的對兩組處理器進行重新配置,包括如果檢測進程處理器組負載指數大於中斷 處理器組,則將中斷處理器組中負載指數最小的處理器綁定到進程處理器組, 反之如果進程處理器組負載指數小於中斷處理器組,則將進程處理器組中負載 指數最小的處理器綁定到中斷處理器組。下面結合附圖對本發明對稱多處理器系統中斷和進程處理方法及裝置進行 詳細說明。如圖3所示,本發明的對稱多處理器系統中斷及進程處理裝置的結構包括 進程和中斷監控模塊301 ,這部分負責在系統運行時監控進程處理器組305 和中斷處理器組304的負載情況,並且根據進程處理器組305和中斷處理器組進程處理器組305的負載指數大於中斷處理器組304的負載指數,則通過進程 和中斷監控模塊301在進程處理模塊303和中斷處理模塊302之間的調度,將 中斷處理器組304負載指數最小的處理器綁定到進程處理器組305;如果進程 處理器組305的負載指數小於中斷處理器組304的負載指數,則通過進程和中 斷監控模塊301在進程處理模塊303和中斷處理模塊302之間的調度,將進程 處理器組305負載指數最小的處理器綁定到中斷處理器組304;中斷處理模塊302,該部分負責在中斷信號產生以後,根據系統需要進行 中斷綁定分發處理,包括配置I/OAPIC、綁定中斷到一個或一組中斷處理器。 該部分的中斷處理由中斷處理器組304的CPU完成,對於多種中斷類型,根據 中斷親和性原則儘可能讓同一個CPU處理同一類型中斷,並根據組內CPU負 載情況均衡地在本組CPU間動態分發;在上述中斷處理模塊302中,在本組CPU間動態分發中斷的實現方法是 首先軟體對I/O APIC編程,根據本CPU的負載指數轉換成優先級值寫入I/O APIC的中斷重定向表,這樣I/O APIC就會根據中斷重定向表把中斷送給優先 級最低的CPU,在運行過程中中斷重定向表被動態的調整,因此中斷就會動態 的分發到各CPU;進程處理模塊303,該部分負責在進程創建後,將進程綁定到相應的進程 處理器組305,並且在進程處理器組305內的CPU之間調度進程,採用通用的 進程調度方法,比如基於優先級的調度算法、基於比例共享的調度算法、基於 時間的進程調度算法等。如圖4所示,本發明的主要處理流程步驟401:多處理器啟動;步驟402:中斷處理模塊被作業系統內核調用啟動,然後執行步驟405; 步驟403:進程和中斷監控模塊被搡作系統內核調用啟動,然後分別執行 步驟409和步-腺414;步驟404:進程處理模塊由用戶程序調用啟動,然後執行步驟407;步驟405:中斷處理模塊綁定中斷到中斷處理器組;步驟406:中斷處理模塊在中斷處理器組內的中斷根據組內CPU負載情況, 動態分發,進行中斷處理;步驟407:進程處理模塊綁定進程到進程處理器組;度方法調度進程;步驟409:進程和中斷監控模塊啟動中斷監控任務; 步驟410:定時,如1S輪詢中斷組內每個CPU;步驟411:檢測該組內每個CPU在1S內處理中斷的數量IntNum及CPU 佔有率CpuPercent;步驟412:根據公式intLoad= IntNum* CpuPercent計算出該組內每個CPU 的負載指數intLoad;步驟413:根據該CPU組內每個CPU的負載指數求出該組CPU的平均負 載指數A:A= (intLoadl+intLoad2+…+intLoadn) /n,其中n指該中斷處理器組內當前 的CPU個數;然後執行步驟419;步驟414:與步驟409同時,進程和中斷監控模塊啟動進程監控任務;步驟415:定時,如1S輪詢進程處理器組內每個CPU;步驟416:4全測該組內每個CPU在IS內處理進程的數量ProcessNum及CPU 佔有率CpuPercent;步驟417:根據公式processLoad二ProcessNun^CpuPercent計算出該組內每 個CPU的負載指數processLoad;步驟418:根據該組內每個CPU的負載指數求出該組CPU的平均負載指數B:B= ( processLoadl+processLoad2+...十processLoadm ) /m, 其中m指該進禾呈 組內當前的CPU個數;步驟419:比較A和B的值,如果A大於B,說明中斷處理器組的CPU負載過重,因此執行步驟421,將進程處理器組內CPU負載指數最小的CPU 綁定到中斷處理器組,對於^L綁定到中斷處理器組的該CPU上原有的任務轉移 到進程處理器組內負載指數最小的CPU上;
步驟420:如果A小於B,說明進程處理器組CPU負載過重,將中斷處理 器組內CPU負載指數最小的CPU綁定到進程處理器組,對於被綁定到進程處 理器組的該CPU上原有的任務轉移到中斷處理器組內負載指數最小的CPU上; 如果A等於B,不做任何處理。
然後從步驟409、 414開始,繼續輪詢每組CPU,長時間運行後,兩組CPU 負載總體處於均衡水平,進程和中斷都得到及時有效的處理。
圖4中,步驟402、步驟405、步驟406為相關的中斷處理流程,步驟404、 步驟407、步驟408為相關的進程處理流程,步驟403、及步驟409-421為進 程和中斷監控模塊處理流程。
以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。
權利要求
1、一種對稱多處理系統中進程與中斷的處理方法,其特徵在於,該方法包括a.中斷信號產生以後,綁定中斷到中斷處理器組,所述中斷處理器組對中斷進行處理;b.將產生的進程綁定到進程處理器組,所述進程處理器組對進程進行處理,所述進程處理器組中的處理器與中斷處理器組中的處理器不相同。
2、 根據權利要求1所述的方法,其特徵在於,該方法進一步包括c. 對中斷處理器組和進程處理器組進行監控,計算每組處理器的負載指 數,並根據負載指數對兩組處理器中的處理器數進行動態調整。
3、 根據權利要求1所述的方法,其特徵在於,在步驟a中所述中斷處理器 組對中斷進行處理,為根據中斷處理器組內CPU負載情況將中斷均衡地在本 組CPU間動態分發,並根據中斷親和性原則讓同 一個CPU處理同 一類型中斷。
4、 根據權利要求2所述的方法,其特徵在於,在步驟c中所述計算中斷處理器組處理器的負載指數,為A-(intLoadl+intLoad2+…+intLoadn) /n,其中intLoad1 intLoadn為中斷處理器 組內每個CPU的負載指數,n指中斷處理器組內當前的CPU個數;或者,在步驟c中所述計算進程處理器組處理器的負載指數,為B= (processLoadl+processLoad2+…+processLoadm ) /m , 其中 processLoad1 processLoadm為進程處理器組內每個CPU的負載指數,m指進程處理器組內當 前的CPU個數。
5、 根據權利要求2所述的方法,其特徵在於,在步驟c中所述根據負載指 數對兩組處理器中的處理器數進行動態調整,為如果監控到中斷處理器組負 載指數大於進程處理器組負載指數,則將進程處理器組中負載指數最小的處理 器綁定到中斷處理器組;如果中斷處理器組負載指數小於進程處理器組負載指數,則將中斷處理器組內負載指數最小的處理器綁定到進程處理器組。
6、 一種對稱多處理系統中進程與中斷的處理裝置,其特徵在於,該裝置包括中斷處理模塊,用於中斷信號產生以後,根據系統需要進行中斷綁定分發 處理,包括配置I/OAPIC、綁定中斷到中斷處理器組;進程處理模塊,用於將產生的進程綁定到進程處理器組及在進程處理器組 的CPU之間調度進程;中斷處理器組,用於對中斷進行處理;進程處理器組,用於對進程進行處理,所述進程處理器組中包含的處理器 與中斷處理器組中包含的處理器不相同。
7、 根據權利要求6所述的裝置,其特徵在於,該裝置進一步包括 進程和中斷監控模塊,用於對進程處理器組和中斷處理器組進行統計,計算每組處理器的負載能力,並根據負載指數對兩組處理器中的處理器數進行動 態調整。
全文摘要
本發明公開了一種對稱多處理系統中進程與中斷的處理方法,該方法採用中斷處理和進程處理在處理器級上相分離的辦法,用一個或一組處理器專門處理中斷,其餘的處理器專門處理進程;並且進一步地,對進程和中斷處理進行監控,根據進程或中斷處理器組的負載指數,對兩組處理器中的處理器數進行動態調整。本發明還公開了一種對稱多處理系統中進程與中斷的處理裝置,該裝置包括中斷處理模塊、進程處理模塊,並進一步包括進程和中斷監控模塊,確保系統的進程處理和中斷處理相互不幹擾,提高了高速緩存的命中率,保證了系統的穩定性和實時性要求。
文檔編號G06F9/46GK101246438SQ20081000773
公開日2008年8月20日 申請日期2008年3月7日 優先權日2008年3月7日
發明者尹旭全 申請人:中興通訊股份有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀