[發(fā)明專利]一種在多核多線程處理器中的核間消息通信方法有效
| 申請(qǐng)?zhí)枺?/td> | 200810067040.2 | 申請(qǐng)日: | 2008-04-29 |
| 公開(公告)號(hào): | CN101266561A | 公開(公告)日: | 2008-09-17 |
| 發(fā)明(設(shè)計(jì))人: | 趙陽(yáng);過(guò)仕好 | 申請(qǐng)(專利權(quán))人: | 中興通訊股份有限公司 |
| 主分類號(hào): | G06F9/54 | 分類號(hào): | G06F9/54 |
| 代理公司: | 深圳市君勝知識(shí)產(chǎn)權(quán)代理事務(wù)所 | 代理人: | 楊宏 |
| 地址: | 518057廣東省深圳市南山*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 多核 多線程 處理器 中的 消息 通信 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及多核多線程處理器領(lǐng)域,尤其涉及一種利用多核多線程處理器的處理器間中斷進(jìn)行內(nèi)核線程間同步和異步消息通信方法的改進(jìn)。
背景技術(shù)
隨著多核處理器被逐漸廣泛的應(yīng)用到更多的技術(shù)領(lǐng)域,其強(qiáng)大的并行計(jì)算能力、低功耗以及高集成度的優(yōu)點(diǎn)也開始逐漸被人們所認(rèn)知;尤其在幾個(gè)主要的多核處理器廠商生產(chǎn)的產(chǎn)品系列中,雙核、四核、八核、十六核已經(jīng)成為各種應(yīng)用開發(fā)平臺(tái)的主流;甚至有的多核處理器在一個(gè)處理器內(nèi)核中還包含了多個(gè)內(nèi)核硬線程,能夠獨(dú)立運(yùn)行操作系統(tǒng)實(shí)例,給應(yīng)用開發(fā)帶來(lái)了極大的靈活性,但同時(shí)也帶來(lái)了一系列問(wèn)題,例如在充分發(fā)揮多核處理器并行計(jì)算優(yōu)勢(shì)的條件下,如何保持核間或線程間的互斥和同步關(guān)系,如何保證核間或者線程間通信的及時(shí)性和可靠性等問(wèn)題。
上述多核處理器中的內(nèi)核根據(jù)產(chǎn)品的不同可能僅存在一個(gè)內(nèi)核硬線程或者包含有多個(gè)內(nèi)核硬線程,為保持本文的一致性,下文中都用內(nèi)核線程來(lái)說(shuō)明。
多核處理器的應(yīng)用開發(fā)模式主要有以下三種:
1.非對(duì)稱多處理模式AMP(Asymmetric?multiprocessing),即每個(gè)內(nèi)核線程運(yùn)行一個(gè)獨(dú)立的操作系統(tǒng),根據(jù)所運(yùn)行的操作系統(tǒng)是否相同還可細(xì)分為同構(gòu)AMP和異構(gòu)AMP;
2.對(duì)稱多處理模式SMP(Symmetric?multiprocessing),即所有內(nèi)核線程只運(yùn)行在一個(gè)操作系統(tǒng)管理之下,可以在不同的內(nèi)核線程上調(diào)度任務(wù);
3.混合多處理模式BMP(Bound?multiprocessing),即所有內(nèi)核線程只運(yùn)行在一個(gè)操作系統(tǒng)管理之下,可以根據(jù)應(yīng)用的需要,指定到某個(gè)固定的內(nèi)核線程運(yùn)行任務(wù),避免由于任務(wù)在不同內(nèi)核線程間的切換而帶來(lái)的性能下降;
在多核處理器中,操作系統(tǒng)需要在多個(gè)內(nèi)核線程之間協(xié)調(diào)操作,芯片內(nèi)部一個(gè)內(nèi)核線程常常要向系統(tǒng)中的其他內(nèi)核線程發(fā)出中斷請(qǐng)求,這通常是靠處理器間中斷IPI(Interprocessor?interrupt)實(shí)現(xiàn)的,即處理器間中斷可以被用來(lái)進(jìn)行內(nèi)核線程間的同步或異步消息通信。例如當(dāng)檢測(cè)到目的內(nèi)核線程的就緒隊(duì)列中有更高優(yōu)先等級(jí)的任務(wù)等待調(diào)度時(shí),當(dāng)前的源內(nèi)核線程就發(fā)送處理器間中斷來(lái)指示目標(biāo)內(nèi)核線程,可能會(huì)需要一次任務(wù)的調(diào)度,目的內(nèi)核線程收到中斷后,還需要根據(jù)自身的情況作進(jìn)一步判定,是否進(jìn)行所述任務(wù)的切換。這說(shuō)明在該消息的處理中,源內(nèi)核線程消息發(fā)送和目的內(nèi)核線程進(jìn)行任務(wù)調(diào)度操作是異步關(guān)系。
再者,當(dāng)某個(gè)內(nèi)存頁(yè)面映射的屬性發(fā)生改變時(shí),例如內(nèi)存頁(yè)面屬性由可寫變?yōu)橹蛔x時(shí),就需要更新其它內(nèi)核線程的旁路轉(zhuǎn)換緩沖映射TLB(Translation?Lookaside?Buffer),必須向所有的內(nèi)核線程發(fā)送處理器間中斷來(lái)刷新各內(nèi)核線程中TLB內(nèi)容,此時(shí),源內(nèi)核線程消息的發(fā)送和目的內(nèi)核線程刷新TLB的處理必須是同步關(guān)系;否則,就會(huì)造成各內(nèi)核線程對(duì)內(nèi)存訪問(wèn)屬性不一致,從而可能會(huì)導(dǎo)致訪問(wèn)內(nèi)存數(shù)據(jù)的錯(cuò)誤。
在現(xiàn)有技術(shù)的多核處理器間的消息通信方法中,例如中國(guó)專利文件CN200510087321所述的一種嵌入式實(shí)時(shí)操作系統(tǒng)中多核處理器的核間通信方法,表述了源內(nèi)核線程將待發(fā)送消息封裝后,放入內(nèi)存的某個(gè)位置,然后觸發(fā)目的內(nèi)核線程虛中斷,通過(guò)管道通知目的內(nèi)核線程有消息到達(dá);目的內(nèi)核線程從管道中解析出待處理消息的位置后,對(duì)消息進(jìn)行解包處理,并進(jìn)行下一步的操作。此時(shí)內(nèi)核線程間的消息通信方式是異步關(guān)系,而這種核間通信方法只能適用于不同內(nèi)核線程間運(yùn)行的操作系統(tǒng)任務(wù)或者內(nèi)核線程間的異步消息通信過(guò)程。
通過(guò)上述的舉例說(shuō)明,只有在多核處理器中根據(jù)一些關(guān)鍵的操作應(yīng)用類型,同時(shí)選擇內(nèi)核線程間同步或異步的消息通信,才能更好地提高多核處理器程序應(yīng)用的實(shí)時(shí)性、穩(wěn)定性和可靠性,特別當(dāng)在某種操作下不同內(nèi)核線程間既存在同步也存在異步關(guān)系時(shí),或者內(nèi)核線程處于不同的狀態(tài)下接收到相同的消息時(shí),依靠現(xiàn)有的內(nèi)核線程間消息通信方法就會(huì)有較為明顯的局限性。因?yàn)樵诂F(xiàn)有的多核多線程處理器系統(tǒng)消息通信方式中,還尚未考慮源內(nèi)核線程與目的內(nèi)核線程之間的消息發(fā)送和執(zhí)行操作的同步關(guān)系,以及各內(nèi)核線程之間在消息觸發(fā)下的相對(duì)關(guān)系。可見(jiàn),在一些關(guān)鍵的應(yīng)用開發(fā)平臺(tái)中,內(nèi)核線程間這種單一的異步執(zhí)行操作往往無(wú)法滿足需要,而且由于操作的不同步還可能會(huì)帶來(lái)嚴(yán)重的后果。
因此,現(xiàn)有技術(shù)尚有待改進(jìn)和發(fā)展。
發(fā)明內(nèi)容
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中興通訊股份有限公司,未經(jīng)中興通訊股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810067040.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 多線程應(yīng)用系統(tǒng)的異常處理方法和異常處理裝置
- 一種面向片上網(wǎng)絡(luò)的多線程調(diào)度實(shí)現(xiàn)方法
- 基于計(jì)算機(jī)多線程多核顯微鏡細(xì)胞圖像快速掃描處理方法
- 一種基于同步鎖的多線程處理方法、終端以及存儲(chǔ)介質(zhì)
- 多線程并發(fā)處理系統(tǒng)及方法
- 海外控股估值流程控制方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 讀數(shù)方法、電子裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種基于云平臺(tái)多線程調(diào)度的方法、系統(tǒng)、設(shè)備及介質(zhì)
- 一種基于云平臺(tái)的前端多線程調(diào)度方法和系統(tǒng)
- 多線程調(diào)度方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)





