[發明專利]一種任務處理的方法和虛擬機有效
| 申請號: | 201210543870.4 | 申請日: | 2012-12-14 |
| 公開(公告)號: | CN103049334A | 公開(公告)日: | 2013-04-17 |
| 發明(設計)人: | 顧磷;馬志強;盛中華;文劉飛 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/455 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 黃厚剛 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 任務 處理 方法 虛擬機 | ||
1.一種任務處理的方法,其特征在于,所述方法包括:
當接收到虛擬指令層下發的創建任務的指令時,為所述任務選取一個用于執行所述任務的空閑資源,其中所述指令中至少包括所述任務運行時的起始地址,所述任務涉及的全局變量的地址信息和同步變量的地址信息;
根據所述全局變量的地址信息獲取與所述全局變量地址信息對應的全局變量狀態信息;
根據全局變量狀態信息為全局變量創建本地全局變量快照;
根據所述本地全局變量快照在選取的所述空閑資源中預先分配的私有內存空間中執行所述任務;
當所述任務執行完畢后,獲取所述全局變量對應的新的全局變量快照,根據所述本地全局變量快照以及所述新的全局變量快照獲取已更新的全局變量;
判斷同步任務等待隊列中的待執行任務的同步變量是否包括了現在已更新的全局變量,如果有,把這個任務放入執行任務等待隊列;
其中所述同步任務等待隊列中的任務是等待同步變量觸發的任務所在的隊列,當同步任務等待隊列中的任務的同步變量觸發后,將任務放入所述執行任務等待隊列中排隊等待調度;所述執行任務等待隊列中的任務是等待調度執行的任務所在的隊列。
2.根據權利要求1所述的方法,其特征在于,所述判斷同步任務等待隊列中的待執行任務的同步變量是否包括了現在已更新的全局變量,如果有,把這個任務放入執行任務等待隊列,包括:
在執行任務等待隊列中選取一個第一特定任務由第一空閑資源來運行,其中,所述第一特定任務涉及的全局變量的地址信息與當前執行的所有任務所涉及的全局變量的地址信息不沖突;或,
在執行任務等待隊列中選取一個第二特定任務由第二空閑資源來運行,其中,所述第二特定任務涉及的全局變量的地址信息與第二空閑資源已執行完畢的任務所涉及的全局變量的地址信息盡可能多的相同或相近,以增加數據親和性。
3.根據權利要求1所述的方法,其特征在于,所述全局變量狀態信息包括所述全局變量的內存地址,創建時間以及版本標記,所述根據全局變量狀態信息為全局變量創建全局變量快照包括:根據所述全局變量狀態信息,將所述全局變量狀態信息進行復制,生成所述全局變量的全局變量快照;
相應的,所述根據所述本地全局變量快照以及所述新的全局變量快照獲取已更新的全局變量包括:
判斷所述本地全局變量快照中的版本標記與所述新的全局變量快照的版本標記是否相同,如果相同則表示所述全局變量未被其他任務更新;如果不相同則表示所述全局變量已被其他任務更新。
4.根據權利要求3所述的方法,其特征在于,所述根據所述本地全局變量快照以及所述新的全局變量快照獲取已更新的全局變量之后,所述方法還包括:
當全局變量未被其他任務更新時,在執行所述任務的資源中的公用內存空間中保存所述本地全局變量快照,并更新全局變量的內存地址為執行所述任務的資源中的公用內存空間中保存所述全局變量快照的內存地址,將所述本地全局變量快照更新為所述本地全局變量快照。
5.根據權利要求1-3任一項所述的方法,其特征在于,所述根據所述全局變量快照在選取的所述空閑資源中預先分配的私有內存空間中執行所述任務之后,所述方法還包括:
執行所述任務發生缺頁錯誤時,則查詢所述全局變量快照的內存地址實際的狀態;
當所述任務對應的全局變量快照的內存地址在其他資源的公用內存空間中,將所述全局變量快照的內存地址對應的實際內容拷貝到本地;
當所述任務對應的全局變量快照的內存地址在本地的公用內存空間中,則在本地的公用內存空間中進行獲取。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210543870.4/1.html,轉載請聲明來源鉆瓜專利網。





