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

一種基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度方法及系統(tǒng)的制作方法

文檔序號(hào):6499222閱讀:183來(lái)源:國(guó)知局
一種基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出了一種基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度系統(tǒng)及方法,所述系統(tǒng)包含:消息接收模塊、任務(wù)調(diào)度模塊、任務(wù)處理模塊以及消息發(fā)送模塊;所述消息接收模塊,用于主動(dòng)從多核網(wǎng)絡(luò)處理器獲取消息,并將獲取的消息傳輸至任務(wù)調(diào)度模塊;所述任務(wù)調(diào)度模塊,用于將接收到的消息存入多級(jí)工作隊(duì)列并為每個(gè)消息維護(hù)一個(gè)任務(wù)狀態(tài)機(jī);所述任務(wù)處理模塊,用于按照輪詢的方式處理多級(jí)工作隊(duì)列中的消息;所述消息發(fā)送模塊,用于將處理后的消息發(fā)送出去。本發(fā)明的有益效果是:在多核網(wǎng)絡(luò)處理平臺(tái)上,充分利用和整合了多核處理器上的各種硬件資源,實(shí)現(xiàn)了一種高效的任務(wù)調(diào)度機(jī)制,提高了多核處理器上的任務(wù)處理軟件的處理性能。
【專利說(shuō)明】—種基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于多核網(wǎng)絡(luò)處理器平臺(tái)的任務(wù)調(diào)度方法,具體涉及一種基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著芯片制造工藝的不斷進(jìn)步,傳統(tǒng)的單核處理器體系結(jié)構(gòu)技術(shù)已面臨瓶頸,晶體管的集成度已超過(guò)上億個(gè),很難單純地通過(guò)提高主頻來(lái)提升性能,而且主頻的提高同時(shí)也帶來(lái)功耗的提高。所以,多核處理器應(yīng)運(yùn)而生,通過(guò)增加計(jì)算機(jī)中物理處理器的數(shù)量,能夠有效地利用線程的并行性,實(shí)現(xiàn)真正意義上的并行執(zhí)行。
[0003]片上多核處理器(CMP)是將多個(gè)計(jì)算內(nèi)核集成在一個(gè)片處理器芯片中,從而提高計(jì)算能力。每個(gè)微處理器核心實(shí)質(zhì)上都是一個(gè)相對(duì)簡(jiǎn)單的單線程微處理器或者比較簡(jiǎn)單的多線程微處理器,這樣多個(gè)微處理器核心就可以并行地執(zhí)行程序代碼,因而具有了較高的線程級(jí)并行性。由于CMP采用了相對(duì)簡(jiǎn)單的微處理器作為處理器核心,使得CMP具有高主頻、設(shè)計(jì)和驗(yàn)證周期短、控制邏輯簡(jiǎn)單、擴(kuò)展性好、易于實(shí)現(xiàn)、功耗低、通信延遲低等優(yōu)點(diǎn)。
[0004]按照CPU核的對(duì)等與否,CMP可分為同構(gòu)多核和異構(gòu)多核。計(jì)算內(nèi)核相同,地位對(duì)等的稱為同構(gòu)多核。同構(gòu)CMP大多數(shù)由通用的處理器組成,多個(gè)處理器執(zhí)行相同或者類似的任務(wù)。計(jì)算內(nèi)核不同,地位不對(duì)等的稱為異構(gòu)多核,異構(gòu)多核通常采用主處理核+協(xié)處理核的設(shè)計(jì)。
[0005]多核網(wǎng)絡(luò)處理器,如Cavium公司、RMI公司提供多核網(wǎng)絡(luò)處理器。這些處理器基于MIPS64架構(gòu)的多核通用型CPU。OCTEON系列芯片內(nèi)部集成了 L3-L7硬件加速處理單元。
[0006]網(wǎng)絡(luò)多核處理器軟件系統(tǒng)實(shí)現(xiàn)的一個(gè)挑戰(zhàn)在于軟件設(shè)計(jì)與網(wǎng)絡(luò)處理器的硬件結(jié)構(gòu)關(guān)系非常緊密,必須面向網(wǎng)絡(luò)處理器的硬件體系結(jié)構(gòu)編程,通過(guò)合理分配和使用網(wǎng)絡(luò)處理器為數(shù)據(jù)包處理的各種硬件資源,例如多處理引擎、專用硬件處理單元、各類寄存器、片上內(nèi)存和其它硬件單元,才能得到一個(gè)高性能的系統(tǒng)。
[0007]所以,需要一種實(shí)時(shí)軟件框架,來(lái)充分利用和整合多核處理器上的各種硬件資源,實(shí)現(xiàn)一種高效的任務(wù)調(diào)度機(jī)制,從而提高多核處理器上的任務(wù)處理軟件的性能。

【發(fā)明內(nèi)容】

[0008]本發(fā)明的目的在于,為克服上述問(wèn)題,本發(fā)明提出了一種基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度方法及系統(tǒng)。
[0009]為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度系統(tǒng),所述系統(tǒng)包含:消息接收模塊、任務(wù)調(diào)度模塊、任務(wù)處理模塊以及消息發(fā)送模塊;
[0010]所述消息接收模塊,用于主動(dòng)從多核網(wǎng)絡(luò)處理器獲取消息,并將獲取的消息傳輸至任務(wù)調(diào)度模塊;
[0011]所述任務(wù)調(diào)度模塊,用于將接收到的消息存入多級(jí)工作隊(duì)列并為每個(gè)消息維護(hù)一個(gè)任務(wù)狀態(tài)機(jī);[0012]所述任務(wù)處理模塊,用于按照輪詢的方式處理多級(jí)工作隊(duì)列中的消息;
[0013]所述消息發(fā)送模塊,用于將處理后的消息發(fā)送出去。
[0014]上述任務(wù)調(diào)度模塊進(jìn)一步包含:
[0015]封裝子模塊,用于按照優(yōu)先級(jí)將消息接收模塊獲取的消息封裝成任務(wù);
[0016]任務(wù)狀態(tài)機(jī)維護(hù)更新子模塊,用于為每個(gè)封裝的任務(wù)維護(hù)一個(gè)任務(wù)狀態(tài)機(jī),并采用狀態(tài)機(jī)轉(zhuǎn)移的方式完成對(duì)每個(gè)任務(wù)的處理狀態(tài)的實(shí)時(shí)跟蹤;
[0017]輸出子模塊,用于將封裝子模塊封裝成的任務(wù)輸出至具有不同優(yōu)先級(jí)的多級(jí)工作隊(duì)列中供任務(wù)處理模塊處理;
[0018]其中,所述任務(wù)狀態(tài)機(jī)記錄的任務(wù)狀態(tài)包含:排隊(duì)待處理狀態(tài)、在處理狀態(tài),處理出錯(cuò)狀態(tài)、排隊(duì)待發(fā)送狀態(tài)以及處理完成狀態(tài)。
[0019]上述任務(wù)處理模塊進(jìn)一步包含:
[0020]獲取任務(wù)的子模塊,用于按照自身的優(yōu)先級(jí)權(quán)限從所述多級(jí)工作隊(duì)列中獲取任務(wù),并對(duì)任務(wù)進(jìn)行解析;
[0021]第二處理子模塊,用于按照任務(wù)中提供的任務(wù)類型對(duì)任務(wù)進(jìn)行相應(yīng)的處理;
[0022]其中,所述任務(wù)類型包括:系統(tǒng)控制任務(wù)、協(xié)議數(shù)據(jù)任務(wù)以及定時(shí)處理任務(wù)。
[0023]基于上述系統(tǒng)本發(fā)明還提供了一種基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度方法,該方法基于權(quán)利要求1所述的系統(tǒng),所述方法包含:
[0024]步驟101)消息接收模塊主動(dòng)從多核處理器獲取消息,當(dāng)獲取到消息時(shí)進(jìn)入下一步驟;
[0025]步驟102)任務(wù)調(diào)度模塊按照優(yōu)先級(jí)將獲取消息封裝成任務(wù),并將該任務(wù)按照優(yōu)先級(jí)存入多級(jí)工作隊(duì)列,即優(yōu)先級(jí)高的任務(wù)存入較高優(yōu)先級(jí)的工作隊(duì)列并將優(yōu)先級(jí)低的任務(wù)存入較低優(yōu)先級(jí)的工作隊(duì)列,該任務(wù)的狀態(tài)機(jī)進(jìn)入排隊(duì)待處理狀態(tài);
[0026]步驟103)任務(wù)處理模塊按照優(yōu)先級(jí)順序輪詢多級(jí)工作隊(duì)列,并從多級(jí)工作隊(duì)列中獲取并解析任務(wù),按照任務(wù)中提供的任務(wù)類型對(duì)各任務(wù)進(jìn)行相應(yīng)的處理,該任務(wù)進(jìn)入處理狀態(tài);
[0027]步驟104)當(dāng)任務(wù)進(jìn)入處理完成狀態(tài)后,任務(wù)處理模塊將任務(wù)封裝成相應(yīng)的消息裝入發(fā)送隊(duì)列,由消息發(fā)送模塊發(fā)送該消息;當(dāng)任務(wù)處理發(fā)生錯(cuò)誤時(shí)返回步驟103)直至該任務(wù)處理成功。
[0028]步驟103)所述相應(yīng)處理進(jìn)一步包含:
[0029]步驟103-1)當(dāng)任務(wù)中包含系統(tǒng)控制任務(wù)時(shí),任務(wù)處理模塊執(zhí)行相應(yīng)的系統(tǒng)控制動(dòng)作;
[0030]步驟103-2)當(dāng)任務(wù)中包含協(xié)議數(shù)據(jù)任務(wù)時(shí),任務(wù)處理模塊將任務(wù)進(jìn)行本層的協(xié)議處理后,將數(shù)據(jù)提交給上層應(yīng)用的CPU核處理;
[0031]步驟103-3)當(dāng)任務(wù)中包含定時(shí)處理任務(wù)時(shí),任務(wù)處理模塊將任務(wù)掛載到要求的Timer時(shí)間片上;
[0032]步驟103-4)在步驟103-1)、103-2)和103_3)中,當(dāng)對(duì)任務(wù)的處理過(guò)程中發(fā)生錯(cuò)誤,則將該任務(wù)轉(zhuǎn)移到處理出錯(cuò)狀態(tài),回到步驟102);
[0033]步驟103-5)在步驟103-1)、103-2)和103_3)中,當(dāng)對(duì)任務(wù)的處理成功,則將任務(wù)轉(zhuǎn)移到處理完成狀態(tài)。[0034]上述消息接收模塊主動(dòng)地從多核處理器的所有CPU核、系統(tǒng)定時(shí)器或網(wǎng)絡(luò)端口處獲取消息。
[0035]上述消息發(fā)送模塊根據(jù)不同的隊(duì)列優(yōu)先級(jí)和定時(shí)器時(shí)間片要求發(fā)送其獲取的消
肩、O
[0036]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:在多核網(wǎng)絡(luò)處理平臺(tái)上,充分利用和整合了多核處理器上的各種硬件資源,實(shí)現(xiàn)了一種高效的任務(wù)調(diào)度機(jī)制,提高了多核處理器上的任務(wù)處理軟件的處理性能。
【專利附圖】

【附圖說(shuō)明】
[0037]圖1是本發(fā)明提供的基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度系統(tǒng)的組成框圖;
[0038]圖2是本發(fā)明提供的基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度方法的流程圖;
[0039]圖3是本發(fā)明實(shí)施例提供的軟件框架結(jié)構(gòu)示意圖;
[0040]圖4是本發(fā)明實(shí)施例提供的具體的工作流程圖。
【具體實(shí)施方式】
[0041]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明所述方法進(jìn)行詳細(xì)說(shuō)明。
[0042]本發(fā)明提出了一種實(shí)時(shí)任務(wù)調(diào)度系統(tǒng),該系統(tǒng)充分利用和整合多核處理器上的各種硬件資源,實(shí)現(xiàn)一種高效的任務(wù)調(diào)度機(jī)制,從而提高多核處理器上的任務(wù)處理軟件的性倉(cāng)泛。
[0043]本發(fā)明是通過(guò)下述技術(shù)方案實(shí)現(xiàn)的:
[0044]通過(guò)消息驅(qū)動(dòng)的任務(wù)調(diào)度機(jī)制,在多核處理器上實(shí)現(xiàn)高效的任務(wù)處理流程。該軟件框架包括消息接收模塊、任務(wù)調(diào)度模塊、任務(wù)處理模塊以及消息發(fā)送模塊。該軟件框架的工作流程由消息接收模塊獲取到的消息觸發(fā),任務(wù)調(diào)度模塊將接收到的消息存入多級(jí)工作隊(duì)列并為每個(gè)消息維護(hù)一個(gè)任務(wù)狀態(tài)機(jī),任務(wù)處理模塊按照輪詢的方式處理多級(jí)工作隊(duì)列中的消息,最后通過(guò)消息發(fā)送模塊將處理后的消息發(fā)送出去。
[0045]消息接收模塊主動(dòng)地從多核處理器上的其他CPU核、系統(tǒng)定時(shí)器(Timer)或網(wǎng)絡(luò)端口等處獲取消息,并由獲取到的消息觸發(fā)該軟件框架的后續(xù)工作流程。
[0046]任務(wù)調(diào)度模塊按照優(yōu)先級(jí)將消息接收模塊獲取的消息封裝成任務(wù)(WORK),并存入具有不同優(yōu)先級(jí)的多級(jí)工作隊(duì)列。同時(shí),任務(wù)調(diào)度模塊要為每個(gè)WORK維護(hù)一個(gè)任務(wù)狀態(tài)機(jī),主要包括排隊(duì)待處理狀態(tài)、在處理狀態(tài),處理出錯(cuò)狀態(tài)、排隊(duì)待發(fā)送狀態(tài)以及處理完成狀態(tài),系統(tǒng)中每個(gè)WORK的處理通過(guò)狀態(tài)機(jī)轉(zhuǎn)移的方式完成。
[0047]任務(wù)處理模塊按照自身的優(yōu)先級(jí)權(quán)限從多級(jí)工作隊(duì)列中獲取WORK,對(duì)WORK進(jìn)行解析,按照WORK中提供的任務(wù)類型對(duì)WORK進(jìn)行相應(yīng)的處理,主要任務(wù)類型包括:系統(tǒng)控制任務(wù)、協(xié)議數(shù)據(jù)任務(wù)以及定時(shí)處理任務(wù)。
[0048]該軟件框架實(shí)現(xiàn)消息驅(qū)動(dòng)的任務(wù)調(diào)度的工作流程是:
[0049]步驟1:在初始化階段,消息接收模塊主動(dòng)地從多核處理器的其他CPU核、Timer或網(wǎng)絡(luò)端口等處獲取消息,由獲取到的消息觸發(fā)該軟件框架的后續(xù)工作流程。
[0050]步驟2:任務(wù)調(diào)度模塊按照優(yōu)先級(jí)將消息接收模塊獲取的消息封裝成W0RK,并按照優(yōu)先級(jí)存入多級(jí)工作隊(duì)列,該WORK的狀態(tài)機(jī)進(jìn)入排隊(duì)待處理狀態(tài);[0051]步驟3:任務(wù)處理模塊按照自身的優(yōu)先級(jí)權(quán)限從響應(yīng)工作隊(duì)列中獲取并解析WORK,按照WORK中提供的任務(wù)類型對(duì)該WORK進(jìn)行相應(yīng)的處理,該WORK進(jìn)入在處理狀態(tài)。
[0052]步驟3-1:當(dāng)WORK中包含系統(tǒng)控制任務(wù)時(shí),任務(wù)處理模塊執(zhí)行相應(yīng)的系統(tǒng)控制動(dòng)作;
[0053]步驟3-2:當(dāng)WORK中包含協(xié)議數(shù)據(jù)任務(wù)時(shí),任務(wù)處理模塊將WORK進(jìn)行本層的協(xié)議處理后,將數(shù)據(jù)提交給上層應(yīng)用的CPU核處理;
[0054]步驟3-3:當(dāng)WORK中包含定時(shí)處理任務(wù)時(shí),任務(wù)處理模塊將任務(wù)掛載到要求的Timer時(shí)間片上;
[0055]步驟3-4:在步驟3-1、3-2、3-3中,當(dāng)對(duì)WORK的處理過(guò)程中發(fā)生錯(cuò)誤,則將WORK轉(zhuǎn)移到處理出錯(cuò)狀態(tài),回到步驟2。
[0056]步驟3-5:在步驟3-1、3-2、3_3中,當(dāng)對(duì)WORK的處理成功,則將WORK轉(zhuǎn)移到處理完成狀態(tài)。
[0057]步驟4:當(dāng)WORK進(jìn)入處理完成狀態(tài)后,任務(wù)處理模塊將WORK封裝成相應(yīng)的消息裝入發(fā)送隊(duì)列,消息發(fā)送模塊根據(jù)不同的隊(duì)列優(yōu)先級(jí)和Timer時(shí)間片要求發(fā)送該消息。最后轉(zhuǎn)入步驟I繼續(xù)獲取系統(tǒng)中待處理的消息。
[0058]實(shí)施例
[0059]實(shí)施例的軟件框架結(jié)構(gòu)如圖3所示,該軟件框架包括消息接收模塊301、任務(wù)調(diào)度模塊309、任務(wù)處理模塊303以及消息發(fā)送模塊308等。該軟件框架的工作流程由消息接收模塊301獲取到的消息觸發(fā),任務(wù)調(diào)度模塊309將接收到的消息存入多級(jí)工作隊(duì)列302并為每個(gè)消息維護(hù)一個(gè)任務(wù)狀態(tài)機(jī)310,任務(wù)處理模塊303按照輪詢的方式處理多級(jí)工作隊(duì)列302中的消息,最后通過(guò)消息發(fā)送模塊308將處理后的消息發(fā)送出去。
[0060]實(shí)施例的任務(wù)調(diào)度工作流程如圖4所示,本發(fā)明所述軟件框架在本實(shí)施例中的工作流程是:
[0061]步驟401、402,整個(gè)系統(tǒng)初始化后,消息接收模塊301主動(dòng)地從多核處理器的其他CPU核、Timer或網(wǎng)絡(luò)端口等處獲取消息。
[0062]步驟403,當(dāng)獲取到一條消息311后,該軟件框架的后續(xù)工作流程被觸發(fā)開(kāi)始工作。
[0063]步驟404,任務(wù)調(diào)度模塊309按照優(yōu)先級(jí)將消息接收模塊301獲取的消息311封裝成任務(wù)(W0RK),并按照優(yōu)先級(jí)存入多級(jí)工作隊(duì)列302,該WORK的任務(wù)狀態(tài)機(jī)310進(jìn)入排隊(duì)待處理狀態(tài)。
[0064]步驟405,任務(wù)處理模塊303按照自身的優(yōu)先級(jí)權(quán)限從多級(jí)工作隊(duì)列302中獲取并解析W0RK,該WORK進(jìn)入在處理狀態(tài)。通過(guò)解析得到該WORK的類型是iSCSI協(xié)議處理任務(wù),則由任務(wù)處理模塊303對(duì)WORK中包含的iSCSI PDU進(jìn)行相應(yīng)的協(xié)議處理。
[0065]步驟406,如果在任務(wù)處理過(guò)程中出現(xiàn)錯(cuò)誤,則該WORK的任務(wù)狀態(tài)機(jī)310進(jìn)入處理出錯(cuò)狀態(tài),之后回到步驟405 ;如果任務(wù)處理成功,則將WORK的任務(wù)狀態(tài)機(jī)310轉(zhuǎn)移到處理完成狀態(tài),進(jìn)入步驟408。
[0066]步驟408,當(dāng)WORK處于處理完成狀態(tài),任務(wù)處理模塊303將WORK封裝成相應(yīng)的消息312裝入消息發(fā)送隊(duì)列307,之后WORK進(jìn)入排隊(duì)待發(fā)送狀態(tài)。
[0067]步驟409、410,消息發(fā)送模塊308根據(jù)消息312的隊(duì)列優(yōu)先級(jí)和Timer時(shí)間片要求發(fā)送消息312。如果發(fā)送失敗,則回到步驟409重新發(fā)送;如果發(fā)送成功,該軟件框架對(duì)消息311的處理完成,工作流程回到步驟401。
[0068]總之,本發(fā)明提供的一種實(shí)時(shí)任務(wù)調(diào)度方法及系統(tǒng),涉及基于多核網(wǎng)絡(luò)處理器平臺(tái)的任務(wù)調(diào)度方法。本發(fā)明提出了一種實(shí)時(shí)任務(wù)調(diào)度方法,通過(guò)消息驅(qū)動(dòng)的任務(wù)調(diào)度機(jī)制實(shí)現(xiàn)高效的任務(wù)處理流程。該方法包括消息接收模塊、任務(wù)調(diào)度模塊、任務(wù)處理模塊以及消息發(fā)送模塊。該方法的工作流程由消息接收模塊獲取到的消息觸發(fā),任務(wù)調(diào)度模塊將接收到的消息存入多級(jí)工作隊(duì)列并為每個(gè)消息維護(hù)一個(gè)任務(wù)狀態(tài)機(jī),任務(wù)處理模塊按照輪詢的方式處理多級(jí)工作隊(duì)列中的消息,最后通過(guò)消息發(fā)送模塊將處理后的消息發(fā)送出去。本發(fā)明網(wǎng)絡(luò)處理器的硬件資源,實(shí)現(xiàn)一種高效的任務(wù)調(diào)度機(jī)制,從而提高多核網(wǎng)絡(luò)處理器的任務(wù)處理軟件的處理能力。
[0069]最后所應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制。盡管參照實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【權(quán)利要求】
1.一種基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度系統(tǒng),所述系統(tǒng)包含:消息接收模塊、任務(wù)調(diào)度模塊、任務(wù)處理模塊以及消息發(fā)送模塊; 所述消息接收模塊,用于主動(dòng)從多核網(wǎng)絡(luò)處理器獲取消息,并將獲取的消息傳輸至任務(wù)調(diào)度模塊; 所述任務(wù)調(diào)度模塊,用于將接收到的消息存入多級(jí)工作隊(duì)列并為每個(gè)消息維護(hù)一個(gè)任務(wù)狀態(tài)機(jī); 所述任務(wù)處理模塊,用于按照輪詢的方式處理多級(jí)工作隊(duì)列中的消息; 所述消息發(fā)送模塊,用于將處理后的消息發(fā)送出去。
2.根據(jù)權(quán)利要求1所述的基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度系統(tǒng),其特征在于,所述任務(wù)調(diào)度模塊進(jìn)一步包含: 封裝子模塊,用于按照優(yōu)先級(jí)將消息接收模塊獲取的消息封裝成任務(wù); 任務(wù)狀態(tài)機(jī)維護(hù)更新子模塊,用于為每個(gè)封裝的任務(wù)維護(hù)一個(gè)任務(wù)狀態(tài)機(jī),并采用狀態(tài)機(jī)轉(zhuǎn)移的方式完成對(duì)每個(gè)任務(wù)的處理狀態(tài)的實(shí)時(shí)跟蹤; 輸出子模塊,用于將封 裝子模塊封裝成的任務(wù)輸出至具有不同優(yōu)先級(jí)的多級(jí)工作隊(duì)列中供任務(wù)處理模塊處理; 其中,所述任務(wù)狀態(tài)機(jī)記錄的任務(wù)狀態(tài)包含:排隊(duì)待處理狀態(tài)、在處理狀態(tài),處理出錯(cuò)狀態(tài)、排隊(duì)待發(fā)送狀態(tài)以及處理完成狀態(tài)。
3.根據(jù)權(quán)利要求2所述的基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度系統(tǒng),其特征在于,所述任務(wù)處理模塊進(jìn)一步包含: 獲取任務(wù)的子模塊,用于按照自身的優(yōu)先級(jí)權(quán)限從所述多級(jí)工作隊(duì)列中獲取任務(wù),并對(duì)任務(wù)進(jìn)行解析; 第二處理子模塊,用于按照任務(wù)中提供的任務(wù)類型對(duì)任務(wù)進(jìn)行相應(yīng)的處理; 其中,所述任務(wù)類型包括:系統(tǒng)控制任務(wù)、協(xié)議數(shù)據(jù)任務(wù)以及定時(shí)處理任務(wù)。
4.一種基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度方法,該方法基于權(quán)利要求1所述的系統(tǒng),所述方法包含: 步驟101)消息接收模塊主動(dòng)從多核處理器獲取消息,當(dāng)獲取到消息時(shí)進(jìn)入下一步驟;步驟102)任務(wù)調(diào)度模塊按照優(yōu)先級(jí)將獲取消息封裝成任務(wù),并將該任務(wù)按照優(yōu)先級(jí)存入多級(jí)工作隊(duì)列,即優(yōu)先級(jí)高的任務(wù)存入較高優(yōu)先級(jí)的工作隊(duì)列并將優(yōu)先級(jí)低的任務(wù)存入較低優(yōu)先級(jí)的工作隊(duì)列,該任務(wù)的狀態(tài)機(jī)進(jìn)入排隊(duì)待處理狀態(tài); 步驟103)任務(wù)處理模塊按照優(yōu)先級(jí)順序輪詢多級(jí)工作隊(duì)列,并從多級(jí)工作隊(duì)列中獲取并解析任務(wù),按照任務(wù)中提供的任務(wù)類型對(duì)各任務(wù)進(jìn)行相應(yīng)的處理,該任務(wù)進(jìn)入處理狀態(tài); 步驟104)當(dāng)任務(wù)進(jìn)入處理完成狀態(tài)后,任務(wù)處理模塊將任務(wù)封裝成相應(yīng)的消息裝入發(fā)送隊(duì)列,由消息發(fā)送模塊發(fā)送該消息;當(dāng)任務(wù)處理發(fā)生錯(cuò)誤時(shí)返回步驟103)直至該任務(wù)處理成功。
5.根據(jù)權(quán)利要求4所述的基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度方法,其特征在于,步驟103)所述相應(yīng)處理進(jìn)一步包含: 步驟103-1)當(dāng)任務(wù)中包含系統(tǒng)控制任務(wù)時(shí),任務(wù)處理模塊執(zhí)行相應(yīng)的系統(tǒng)控制動(dòng)作; 步驟103-2)當(dāng)任務(wù)中包含協(xié)議數(shù)據(jù)任務(wù)時(shí),任務(wù)處理模塊將任務(wù)進(jìn)行本層的協(xié)議處理后,將數(shù)據(jù)提交給上層應(yīng)用的CPU核處理; 步驟103-3)當(dāng)任務(wù)中包含定時(shí)處理任務(wù)時(shí),任務(wù)處理模塊將任務(wù)掛載到要求的Timer時(shí)間片上; 步驟103-4)在步驟103-1)、103-2)和103-3)中,當(dāng)對(duì)任務(wù)的處理過(guò)程中發(fā)生錯(cuò)誤,則將該任務(wù)轉(zhuǎn)移到處理出錯(cuò)狀態(tài),回到步驟102); 步驟103-5)在步驟103-1)、103-2)和103-3)中,當(dāng)對(duì)任務(wù)的處理成功,則將任務(wù)轉(zhuǎn)移到處理完成狀態(tài)。
6.根據(jù)權(quán)利要求4所述的基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度方法,其特征在于,所述消息接收模塊主動(dòng)地從多核處理器的所有CPU核、系統(tǒng)定時(shí)器或網(wǎng)絡(luò)端口處獲取消息。
7.根據(jù)權(quán)利要求4所述的基于多核網(wǎng)絡(luò)處理器的實(shí)時(shí)任務(wù)調(diào)度方法,其特征在于,所述消息發(fā)送模塊根據(jù)不同 的隊(duì)列優(yōu)先級(jí)和定時(shí)器時(shí)間片要求發(fā)送其獲取的消息。
【文檔編號(hào)】G06F15/167GK103942101SQ201310022689
【公開(kāi)日】2014年7月23日 申請(qǐng)日期:2013年1月21日 優(yōu)先權(quán)日:2013年1月21日
【發(fā)明者】張武, 尚秋里, 郭秀巖, 查奇文 申請(qǐng)人:中國(guó)科學(xué)院聲學(xué)研究所, 北京中科華影傳媒技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
聂拉木县| 墨玉县| 静乐县| 凤山县| 科技| 营山县| 井陉县| 米脂县| 霸州市| 丹东市| 丰原市| 西青区| 临夏县| 遂溪县| 新邵县| 丁青县| 台山市| 南涧| 梓潼县| 嘉定区| 越西县| 南乐县| 奉节县| 双江| 西青区| 莱西市| 诸暨市| 翁牛特旗| 聊城市| 长汀县| 成安县| 改则县| 盱眙县| 奈曼旗| 阳西县| 绿春县| 荆门市| 凤翔县| 乐至县| 长宁县| 榆社县|