本發(fā)明涉及任務(wù)分配領(lǐng)域,具體是一種雙核芯片任務(wù)協(xié)同分配方法。
背景技術(shù):
1、在許多場(chǎng)景中,需要主控芯片具有高算力,并行處理的能力,而異構(gòu)雙核芯片就符合上述要求。在異構(gòu)雙核芯片中,兩個(gè)核可以獨(dú)立處理信息并執(zhí)行不同的任務(wù)。外界會(huì)有操作系統(tǒng)按照調(diào)度算法將任務(wù)組按照一個(gè)規(guī)則分配給雙核。為了確保雙核芯片性能穩(wěn)定,這種調(diào)度算法一般考慮因素過(guò)多且其極為復(fù)雜。對(duì)外,調(diào)度機(jī)制要保證整體系統(tǒng)的吞吐量和響應(yīng)速度,對(duì)內(nèi),調(diào)度機(jī)制要考慮到雙核之間的同步性,來(lái)確保任務(wù)之間的正確順序和數(shù)據(jù)信息的一致性。
2、具體來(lái)說(shuō),外界操作系統(tǒng)的調(diào)度機(jī)制在多電機(jī)協(xié)同控制等復(fù)雜場(chǎng)景中需考慮多種因素,例如將大任務(wù)劃分為小任務(wù),使用合理判斷機(jī)制判斷任務(wù)之間是否具有依賴性,考慮任務(wù)組中每類任務(wù)的優(yōu)先級(jí),實(shí)時(shí)監(jiān)控芯片內(nèi)部情況,以防止雙核芯片信息出現(xiàn)“偽共享”狀態(tài),考慮系統(tǒng)性能和系統(tǒng)能耗問(wèn)題之間的平衡問(wèn)題等等。諸如上述許多問(wèn)題,調(diào)度機(jī)制復(fù)雜程度急劇上升,且其也不能保證將所有問(wèn)題都考慮百分之百全面。在處理復(fù)雜調(diào)度難題時(shí),反而可能會(huì)忽視一些簡(jiǎn)單的雙核調(diào)度需求。不僅如此,隨著外界操作系統(tǒng)中的調(diào)度算法復(fù)雜化,運(yùn)行調(diào)度算法時(shí)對(duì)外界系統(tǒng)的硬件要求也越來(lái)越高。特別是隨著人工智能核機(jī)器學(xué)習(xí)的興起,開(kāi)啟了研究基于ai的調(diào)度算法熱潮。這類算法對(duì)操作系統(tǒng)硬件需求越來(lái)越大。與此同時(shí),在考慮芯片內(nèi)部處理器負(fù)載時(shí),外界操作系統(tǒng)要先向內(nèi)部詢問(wèn)雙核負(fù)載情況,雙核進(jìn)行中斷查詢繼而再向外部傳遞信息。在這樣的流程中,大大的降低了雙核的運(yùn)行速度,且浪費(fèi)了大量傳遞數(shù)據(jù)的時(shí)間。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種雙核芯片任務(wù)協(xié)同分配方法,雙核芯片任務(wù)協(xié)同分配方法應(yīng)用于雙核芯片系統(tǒng);雙核芯片系統(tǒng)包括異構(gòu)雙核芯片和雙核協(xié)同單元;所述異構(gòu)雙核芯片包括主核a和副核b;
2、雙核芯片任務(wù)協(xié)同分配方法包括以下步驟:
3、1)接收來(lái)自外部的運(yùn)算請(qǐng)求,創(chuàng)建運(yùn)算任務(wù)及任務(wù)分配情況,并傳輸至主核a的任務(wù)協(xié)同分配表;
4、2)任務(wù)協(xié)同分配表對(duì)創(chuàng)建的運(yùn)算任務(wù)及任務(wù)分配情況進(jìn)行分析,判斷任務(wù)分配請(qǐng)求是否均衡雙核負(fù)載,若是,則進(jìn)入步驟3),否則,進(jìn)入步驟4);
5、3)按照步驟1)的任務(wù)分配情況,將運(yùn)算任務(wù)分配給主核a和/或副核b執(zhí)行,并進(jìn)入步驟5);
6、4)利用任務(wù)協(xié)同分配表對(duì)運(yùn)算請(qǐng)求進(jìn)行再分配,得到任務(wù)再分配情況;按照任務(wù)再分配情況,將運(yùn)算任務(wù)分配給主核a和/或副核b執(zhí)行,并進(jìn)入步驟5);
7、5)運(yùn)算任務(wù)執(zhí)行后,判斷主核a和副核b之間是否需要進(jìn)行運(yùn)算結(jié)果分享,若是,則通過(guò)雙核協(xié)同單元實(shí)現(xiàn)運(yùn)算結(jié)果分享。
8、進(jìn)一步,步驟4)中,利用任務(wù)協(xié)同分配表對(duì)運(yùn)算請(qǐng)求進(jìn)行再分配的步驟包括:
9、4.1)根據(jù)事先設(shè)定好的任務(wù)完成時(shí)限,將運(yùn)算請(qǐng)求中任務(wù)實(shí)時(shí)要求高的運(yùn)算任務(wù)作為緊急任務(wù),將運(yùn)算請(qǐng)求中的其余任務(wù)作為非緊急任務(wù);任務(wù)實(shí)時(shí)要求高是指當(dāng)前時(shí)間與完成時(shí)限之差小于預(yù)設(shè)值;
10、4.2)判斷主核a是否處于空閑狀態(tài),若是,則將緊急任務(wù)分配給主核a,若否,則向主核a發(fā)送中斷請(qǐng)求;主核a接收到中斷請(qǐng)求后,將當(dāng)前處理運(yùn)算任務(wù)的已處理數(shù)據(jù)和運(yùn)算進(jìn)度傳輸至雙核協(xié)同單元的共享內(nèi)存區(qū)域,然后執(zhí)行緊急任務(wù),執(zhí)行緊急任務(wù)后,再執(zhí)行雙核協(xié)同單元的當(dāng)前處理運(yùn)算任務(wù);
11、4.3)判斷非緊急任務(wù)之間是否具有強(qiáng)依賴性,若是,則將具有強(qiáng)依賴性的非緊急任務(wù)打包為非緊急任務(wù)組合,從而構(gòu)建多個(gè)非緊急任務(wù)簇;
12、4.4)根據(jù)任務(wù)數(shù)據(jù)量大小,數(shù)據(jù)復(fù)雜程度和數(shù)據(jù)類型,將非緊急任務(wù)中的簡(jiǎn)單任務(wù)寫(xiě)入主核a運(yùn)算任務(wù)集合;
13、簡(jiǎn)單任務(wù)為:處理數(shù)據(jù)大小在10mb以內(nèi);
14、根據(jù)任務(wù)請(qǐng)求頻率,將非緊急任務(wù)中頻繁請(qǐng)求的任務(wù)寫(xiě)入主核a運(yùn)算任務(wù)集合;頻繁請(qǐng)求是指:在1秒內(nèi)請(qǐng)求次數(shù)超過(guò)10次;
15、4.5)判斷主核a運(yùn)算任務(wù)集合中的運(yùn)算任務(wù)是否位于非緊急任務(wù)簇內(nèi),若是,則將該非緊急任務(wù)簇的其他非緊急任務(wù)寫(xiě)入主核a運(yùn)算任務(wù)集合;
16、4.6)將主核a運(yùn)算任務(wù)集合分配至主核a執(zhí)行,將非緊急任務(wù)中除主核a運(yùn)算任務(wù)集合以外的其他任務(wù)分配至副核b執(zhí)行。
17、進(jìn)一步,利用任務(wù)協(xié)同分配表對(duì)運(yùn)算請(qǐng)求進(jìn)行再分配的過(guò)程中,對(duì)主核a和副核b的運(yùn)算負(fù)載進(jìn)行實(shí)時(shí)監(jiān)測(cè),若主核a運(yùn)算負(fù)載嚴(yán)重超載,則將當(dāng)前任務(wù)分配給副核b;若副核b算負(fù)載嚴(yán)重超載,則將當(dāng)前任務(wù)分配給主核a。
18、其中,運(yùn)算負(fù)載嚴(yán)重超載是指負(fù)載利用率超過(guò)90%;
19、負(fù)載利用率如下所示:
20、
21、進(jìn)一步,步驟5)中,通過(guò)雙核協(xié)同單元實(shí)現(xiàn)運(yùn)算結(jié)果分享的步驟如下:
22、若主核a需要將運(yùn)算結(jié)果與副核b分享,則將運(yùn)算結(jié)果傳輸至雙核協(xié)同單元進(jìn)行存儲(chǔ);待副核b進(jìn)入空閑狀態(tài),雙核協(xié)同單元將主核a的運(yùn)算結(jié)果傳輸至副核b;
23、若副核b需要將運(yùn)算結(jié)果與主核a分享,則將運(yùn)算結(jié)果傳輸至雙核協(xié)同單元進(jìn)行存儲(chǔ);待主核a進(jìn)入空閑狀態(tài),雙核協(xié)同單元將副核b的運(yùn)算結(jié)果傳輸至主核a。
24、進(jìn)一步,所述雙核協(xié)同單元具有用于存儲(chǔ)運(yùn)算結(jié)果的共享內(nèi)存區(qū)域;共享內(nèi)存區(qū)域與異構(gòu)雙核芯片獨(dú)立。
25、進(jìn)一步,所述主核a包括:程序運(yùn)算區(qū)和與已運(yùn)行程序備份區(qū);
26、所述程序運(yùn)算區(qū)用于執(zhí)行任務(wù);
27、所述已運(yùn)行程序備份區(qū)通過(guò)已設(shè)置的參數(shù)和歷史數(shù)據(jù)構(gòu)建雙核任務(wù)協(xié)同分配表,以進(jìn)行任務(wù)再分配。
28、進(jìn)一步,所述已設(shè)置的參數(shù)包括任務(wù)數(shù)據(jù)復(fù)雜程度劃分標(biāo)準(zhǔn)、數(shù)據(jù)量大小劃分標(biāo)準(zhǔn)、數(shù)據(jù)類型分類標(biāo)準(zhǔn)、判斷該任務(wù)是否緊急的標(biāo)準(zhǔn),以及判斷任務(wù)之間是否具有強(qiáng)依賴性的標(biāo)準(zhǔn)。
29、進(jìn)一步,非緊急任務(wù)之間是否具有強(qiáng)依賴性的判斷標(biāo)準(zhǔn)為:兩個(gè)任務(wù)分別分配給主核a和副核b單獨(dú)執(zhí)行時(shí),若執(zhí)行時(shí)間增加、等待時(shí)間大于t或資源沖突,則非緊急任務(wù)之間具有強(qiáng)依賴性。
30、進(jìn)一步,所述雙核任務(wù)協(xié)同分配表存儲(chǔ)的歷史數(shù)據(jù)包括歷史任務(wù)的頻繁程度、數(shù)據(jù)量大小、復(fù)雜度、分配任務(wù)的實(shí)時(shí)性和任務(wù)之間的依賴性、雙核實(shí)時(shí)的負(fù)載程度。
31、進(jìn)一步,所述任務(wù)包括機(jī)器人關(guān)節(jié)運(yùn)動(dòng)的控制任務(wù)。
32、本發(fā)明的技術(shù)效果是毋庸置疑的,本發(fā)明的異構(gòu)雙核芯片任務(wù)再分配系統(tǒng)考慮核間的數(shù)據(jù)交互效率和任務(wù)的有效分配,通過(guò)引入一個(gè)軟硬件綜合體,提高了雙核芯片在處理復(fù)雜任務(wù)時(shí)的整體效率和響應(yīng)速度。
33、具體的,本發(fā)明的有益效果如下所示:
34、1.提高任務(wù)處理效率
35、通過(guò)在雙核芯片上設(shè)立共享內(nèi)存區(qū)域,本發(fā)明顯著降低了核a和核b之間的等待時(shí)間。當(dāng)一個(gè)核完成任務(wù)后,可以迅速將結(jié)果存入共享內(nèi)存,無(wú)需等待另一個(gè)核的響應(yīng)。這種設(shè)計(jì)有效避免了核之間的阻塞,提高了每個(gè)核自身的運(yùn)算效率,從而加速了整個(gè)系統(tǒng)的響應(yīng)速度。
36、2.實(shí)時(shí)自學(xué)習(xí)與動(dòng)態(tài)調(diào)整
37、本發(fā)明中的雙核任務(wù)協(xié)同分配表依賴于自學(xué)習(xí)程序,能夠?qū)崟r(shí)分析歷史任務(wù)數(shù)據(jù)并自動(dòng)調(diào)整任務(wù)分配策略。這種動(dòng)態(tài)調(diào)整機(jī)制使得系統(tǒng)能夠適應(yīng)不同的運(yùn)行環(huán)境和任務(wù)特性,從而確保在各種負(fù)載條件下都能保持高效的運(yùn)算。自學(xué)習(xí)程序不僅能夠?qū)崟r(shí)監(jiān)測(cè)兩個(gè)核的負(fù)載情況,還能根據(jù)歷史數(shù)據(jù)識(shí)別出頻繁請(qǐng)求的任務(wù)類型,優(yōu)化未來(lái)的任務(wù)分配。
38、3.優(yōu)化任務(wù)調(diào)度與資源利用
39、通過(guò)設(shè)定明確的任務(wù)分配規(guī)則,系統(tǒng)能夠在高負(fù)載狀態(tài)下有效管理資源。例如,在核a忙碌時(shí),緊急任務(wù)能夠優(yōu)先分配給核a,或在核b負(fù)載過(guò)重時(shí)將任務(wù)調(diào)度至核a。這種智能化的任務(wù)調(diào)度策略確保了各個(gè)核的運(yùn)算負(fù)載均衡,從而最大限度地提高了雙核芯片的資源利用率。
40、4.降低核間數(shù)據(jù)交互的開(kāi)銷
41、針對(duì)任務(wù)組之間的強(qiáng)依賴性,系統(tǒng)在任務(wù)協(xié)同分配表中優(yōu)先考慮將相關(guān)任務(wù)分配給同一個(gè)核執(zhí)行。這種設(shè)計(jì)減少了核a和核b之間的頻繁數(shù)據(jù)交互,降低了數(shù)據(jù)傳輸?shù)拈_(kāi)銷,從而提升了雙核運(yùn)算效率。這對(duì)于需要大量數(shù)據(jù)交換的復(fù)雜任務(wù)尤其重要。
42、5.增強(qiáng)系統(tǒng)的實(shí)時(shí)性與靈活性
43、由于系統(tǒng)能夠?qū)崟r(shí)分析任務(wù)的緊急程度和依賴性,它在處理需要快速響應(yīng)的實(shí)時(shí)任務(wù)時(shí)展現(xiàn)出了極大的靈活性。對(duì)于那些要求高實(shí)時(shí)性的任務(wù),系統(tǒng)會(huì)優(yōu)先分配到空閑核,確保任務(wù)能夠在最短的時(shí)間內(nèi)得到處理。這一特性使得本發(fā)明適用于對(duì)實(shí)時(shí)性要求極高的應(yīng)用場(chǎng)景,比如金融交易、自動(dòng)駕駛等領(lǐng)域。
44、6.提升整體系統(tǒng)的穩(wěn)定性
45、在任務(wù)調(diào)度過(guò)程中,系統(tǒng)不僅考慮任務(wù)的復(fù)雜度和優(yōu)先級(jí),還根據(jù)歷史數(shù)據(jù)分析任務(wù)的執(zhí)行頻率。這種對(duì)歷史數(shù)據(jù)的重視使得系統(tǒng)能夠在面對(duì)突發(fā)的負(fù)載增加時(shí),快速做出合理的調(diào)整,提升整體系統(tǒng)的穩(wěn)定性,減少因負(fù)載過(guò)重引起的崩潰或響應(yīng)延遲現(xiàn)象。
46、7.支持多種應(yīng)用場(chǎng)景
47、本發(fā)明的異構(gòu)雙核芯片任務(wù)再分配系統(tǒng)具有較強(qiáng)的通用性,適用于多種不同的計(jì)算場(chǎng)景。無(wú)論是在移動(dòng)設(shè)備、服務(wù)器還是邊緣計(jì)算環(huán)境中,該系統(tǒng)都能有效發(fā)揮其優(yōu)勢(shì)。其設(shè)計(jì)理念的靈活性和擴(kuò)展性使得系統(tǒng)能夠適應(yīng)未來(lái)更復(fù)雜的應(yīng)用需求。
48、8.促進(jìn)技術(shù)的可持續(xù)發(fā)展
49、隨著對(duì)計(jì)算能力和效率要求的不斷提高,傳統(tǒng)的處理器架構(gòu)面臨著巨大的挑戰(zhàn)。本發(fā)明的異構(gòu)雙核芯片設(shè)計(jì)通過(guò)智能任務(wù)分配和高效的資源利用,為芯片技術(shù)的發(fā)展提供了新的思路。這不僅有助于提升現(xiàn)有設(shè)備的性能,還有助于推動(dòng)新一代計(jì)算技術(shù)的誕生,促進(jìn)整個(gè)行業(yè)的可持續(xù)發(fā)展。
50、綜上所述,本發(fā)明的異構(gòu)雙核芯片任務(wù)再分配系統(tǒng)通過(guò)多項(xiàng)創(chuàng)新設(shè)計(jì)和機(jī)制,顯著提高了任務(wù)處理效率、降低了核間數(shù)據(jù)交互的開(kāi)銷、增強(qiáng)了系統(tǒng)的實(shí)時(shí)性與靈活性,并支持多種應(yīng)用場(chǎng)景。這些技術(shù)效果將為現(xiàn)代計(jì)算系統(tǒng)的高效運(yùn)行提供強(qiáng)有力的支持,推動(dòng)更高效能的計(jì)算架構(gòu)的發(fā)展。