[發(fā)明專利]在多個(gè)處理器之間快速轉(zhuǎn)移工作負(fù)載有效
| 申請(qǐng)?zhí)枺?/td> | 201780022012.6 | 申請(qǐng)日: | 2017-03-24 |
| 公開(kāi)(公告)號(hào): | CN108885559B | 公開(kāi)(公告)日: | 2021-12-03 |
| 發(fā)明(設(shè)計(jì))人: | O·卡甘 | 申請(qǐng)(專利權(quán))人: | 微軟技術(shù)許可有限責(zé)任公司 |
| 主分類號(hào): | G06F9/48 | 分類號(hào): | G06F9/48 |
| 代理公司: | 上海專利商標(biāo)事務(wù)所有限公司 31100 | 代理人: | 陳斌;胡利鳴 |
| 地址: | 美國(guó)華*** | 國(guó)省代碼: | 暫無(wú)信息 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 處理器 之間 快速 轉(zhuǎn)移 工作 負(fù)載 | ||
1.一種用于多個(gè)處理器之轉(zhuǎn)移工作負(fù)載的方法,包括:
由在第一處理器上運(yùn)行的生產(chǎn)者線程檢測(cè)外部中斷;
由所述生產(chǎn)者線程獲取自旋鎖;
響應(yīng)于獲取所述自旋鎖,由所述生產(chǎn)者線程發(fā)送事件到消費(fèi)者線程;
在所述消費(fèi)者線程喚醒的同時(shí):
由所述生產(chǎn)者線程創(chuàng)建任務(wù);以及
由所述生產(chǎn)者線程發(fā)布所創(chuàng)建的任務(wù);
響應(yīng)于發(fā)布所創(chuàng)建的任務(wù),由所述生產(chǎn)者線程釋放所述自旋鎖;
響應(yīng)于釋放所述自旋鎖,由在第二處理器上運(yùn)行的消費(fèi)者線程檢索所發(fā)布的任務(wù);以及
由所述消費(fèi)者線程執(zhí)行所檢索到的任務(wù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括:
在檢索所述任務(wù)之前,由所述消費(fèi)者線程接收所述事件;以及
響應(yīng)于接收到所述事件,由所述消費(fèi)者線程獲取所述自旋鎖。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,其中所述消費(fèi)者線程在所述生產(chǎn)者線程釋放所述自旋鎖之前獲取所述自旋鎖,并且其中由所述消費(fèi)者線程獲取所述自旋鎖包括由所述消費(fèi)者線程迭代地檢查與所述自旋鎖相關(guān)聯(lián)的自旋鎖參數(shù)的值。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述消費(fèi)者線程在所述生產(chǎn)者線程釋放所述自旋鎖之后獲取所述自旋鎖。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于:
所述消費(fèi)者線程是消費(fèi)者線程池中的多個(gè)消費(fèi)者線程之一;
所述生產(chǎn)者線程是生產(chǎn)者線程池中的多個(gè)生產(chǎn)者線程之一;
所述任務(wù)是多個(gè)任務(wù)之一;以及
所述事件包括具有等于所述消費(fèi)者線程池中的所述多個(gè)消費(fèi)者線程的數(shù)量的計(jì)數(shù)的信號(hào)標(biāo)。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,發(fā)布所述任務(wù)包括將被用于執(zhí)行所述任務(wù)的信息儲(chǔ)存在能由所述第二處理器經(jīng)由所述消費(fèi)者線程訪問(wèn)的共享存儲(chǔ)器中。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括由所述消費(fèi)者線程在所述生產(chǎn)者線程創(chuàng)建所述任務(wù)并發(fā)布所述任務(wù)的同時(shí)執(zhí)行加載操作,其中所述加載操作:
使所述消費(fèi)者線程準(zhǔn)備好執(zhí)行所述任務(wù);并且
至少部分地基于所述消費(fèi)者線程對(duì)所述事件的接收來(lái)被執(zhí)行。
8.一種用于多個(gè)處理器之轉(zhuǎn)移工作負(fù)載的系統(tǒng),包括:
包括第一處理器和第二處理器的多個(gè)處理器;以及
存儲(chǔ)器,所述存儲(chǔ)器儲(chǔ)存計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令在由所述多個(gè)處理器中的至少一個(gè)處理器執(zhí)行時(shí)致使所述至少一個(gè)處理器執(zhí)行包括以下的操作:
由所述第二處理器執(zhí)行致使所述第二處理器等待事件的指令;
至少部分地基于由所述第一處理器檢測(cè)到的中斷在所述第一處理器上執(zhí)行生產(chǎn)者線程;
由所述生產(chǎn)者線程將與同步原語(yǔ)相關(guān)聯(lián)的參數(shù)設(shè)置為第一值;
響應(yīng)于將所述參數(shù)設(shè)置為所述第一值,由所述生產(chǎn)者線程將所述事件發(fā)送到所述第二處理器;
至少部分地基于所述第二處理器接收到所述事件而在所述第二處理器上執(zhí)行消費(fèi)者線程;
由所述消費(fèi)者線程執(zhí)行加載操作;
當(dāng)所述消費(fèi)者線程執(zhí)行所述加載操作的同時(shí):
由所述生產(chǎn)者線程創(chuàng)建任務(wù);
由所述生產(chǎn)者線程發(fā)布所述任務(wù)以供消費(fèi);以及
由所述生產(chǎn)者線程將所述參數(shù)設(shè)置為第二值;
響應(yīng)于將所述參數(shù)設(shè)置為所述第二值,由所述消費(fèi)者線程檢索所述任務(wù);以及
由所述消費(fèi)者線程執(zhí)行所述任務(wù)。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述同步原語(yǔ)包括自旋鎖。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述操作進(jìn)一步包括:
由所述消費(fèi)者線程迭代地檢查與所述自旋鎖相關(guān)聯(lián)的所述參數(shù),以確定所述參數(shù)是否已被設(shè)置為所述第二值;以及
響應(yīng)于所述生產(chǎn)者線程將所述參數(shù)設(shè)置為所述第二值,由所述消費(fèi)者線程獲取所述自旋鎖。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于微軟技術(shù)許可有限責(zé)任公司,未經(jīng)微軟技術(shù)許可有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201780022012.6/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 轉(zhuǎn)移支撐件及轉(zhuǎn)移模塊
- 轉(zhuǎn)移頭及其制備方法、轉(zhuǎn)移方法、轉(zhuǎn)移裝置
- 器件轉(zhuǎn)移裝置、轉(zhuǎn)移系統(tǒng)及轉(zhuǎn)移方法
- 轉(zhuǎn)移設(shè)備和轉(zhuǎn)移系統(tǒng)
- 轉(zhuǎn)移基板及制備方法、轉(zhuǎn)移裝置、轉(zhuǎn)移方法
- 轉(zhuǎn)移裝置與轉(zhuǎn)移方法
- 轉(zhuǎn)移系統(tǒng)和轉(zhuǎn)移方法
- 轉(zhuǎn)移膜、轉(zhuǎn)移組件和微器件曲面轉(zhuǎn)移方法
- 轉(zhuǎn)移頭、轉(zhuǎn)移裝置和轉(zhuǎn)移方法
- 轉(zhuǎn)移工具及轉(zhuǎn)移方法





