[發明專利]短任務處理方法、裝置及操作系統有效
| 申請號: | 201310598394.0 | 申請日: | 2013-11-22 |
| 公開(公告)號: | CN104657204B | 公開(公告)日: | 2018-05-04 |
| 發明(設計)人: | 解壁偉;張立新;譚崇康;臧秀濤 | 申請(專利權)人: | 華為技術有限公司;中國科學院計算技術研究所 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司11205 | 代理人: | 劉芳 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 任務 處理 方法 裝置 操作系統 | ||
技術領域
本發明實施例涉及操作系統技術,尤其涉及一種短任務處理方法、裝置及操作系統。
背景技術
大規模并行計算逐漸代替串行計算已經成為必然趨勢,現有的應用程序和操作系統只有最大程度挖掘其并行性,才能提高運行性能并高效利用硬件資源。為此,應用程序通過并行編程方法或編譯器技術將任務分解為多個并行的短任務。
傳統的操作系統(如Linux)中,應用程序在向操作系統發出運行一個任務的請求后,操作系統首先為該任務創建一個線程,再調度到硬件線程的可執行隊列中,并在運行結束后釋放該線程。
這種運行方式可以高效運行長任務,但是對于短任務則非常低效,因為不同于傳統的串行任務,短任務的執行過程非常短,其開銷主要在于系統創建和釋放線程數據結構的過程。尤其是在大規模短任務系統環境中,操作系統將耗費大量資源用于線程的創建和釋放過程,這將極大影響并行計算環境下短任務的運行效率。
發明內容
本發明實施例提供一種短任務處理方法、裝置及操作系統,以解決在大規模短任務系統環境中,操作系統將耗費大量資源用于線程的創建和釋放過程的問題,以實現提高并行計算環境下短任務的運行效率。
第一方面,本發明實施例提供一種短任務處理方法,包括:
根據接收應用程序發送的請求設置預留硬件線程的申請消息,將普通硬件線程設置成預留硬件線程,所述預留硬件線程只用于執行短任務;
所述應用程序運行時,將所述預留硬件線程分配給所述應用程序;
將所述應用程序下發的待執行的短任務直接裝載在所述預留硬件線程上執行。
在第一方面第一種可能的實現方式中,在所述將所述預留硬件線程分配給所述應用程序之后,還包括:
創建空白的線程數據結構;
則所述將所述應用程序中待執行的短任務直接裝載在所述預留硬件線程上執行產生異常時,將執行中的短任務的運行時狀態恢復到所述空白的線程數據結構中以使所述短任務參與正常的線程調度執行。
根據第一方面第一種可能的實現方式,在第一方面第二種可能的實現方式中,還包括:
若所述將所述應用程序中待執行的短任務直接裝載在所述預留硬件線程上正常執行完畢后,則釋放所述空白的線程數據結構。
在第一方面第三種可能的實現方式中,所述將所述預留硬件線程分配給所述應用程序之前,還包括:
判斷是否存在空閑的所述預留硬件線程,若不存在,則向所述應用程序發送申請失敗的消息以使所述應用程序創建正常的線程調度執行。
根據第一方面、第一方面第一種至第三種任意可能的實現方式,在第一方面第四種可能的實現方式中,所述將所述應用程序中待執行的短任務直接裝載在所述預留硬件線程上執行,包括:
若待執行的短任務數目超過所述應用程序所占有的預留硬件線程的處理能力時,則向所述應用程序發送提示信息。
根據第一方面、第一方面第一種至第四種任意可能的實現方式,在第一方面第五種可能的實現方式中,還包括:
在所述應用程序執行完畢之后,釋放所述預留硬件線程以使所述預留硬件線程成為普通硬件線程。
第二方面,本發明實施例提供一種短任務處理方法,包括:
向操作系統發送請求設置預留硬件線程的申請消息;
向所述操作系統下發待執行的短任務,以使所述操作系統將所述待執行的短任務直接裝載在所述預留硬件線程上執行。
在第二方面第一種可能的實現方式中,所述向操作系統發送請求設置預留硬件線程的申請消息包括:
在初始化時,向操作系統發送請求設置預留硬件線程的申請消息;或者,
當短任務的數目超過預設的閾值時,向操作系統發送請求設置預留硬件線程的申請消息。
根據第二方面或第二方面第一種可能的實現方式,在第二方面第二種可能的實現方式中,還包括:
在接收所述操作系統發送的待執行的短任務的數目超過所占有的預留硬件線程的處理能力的提示消息時,向所述操作系統繼續發送請求設置預留硬件線程的申請消息以使所述操作系統繼續將普通硬件線程設置成預留硬件線程。
第三方面,本發明實施例提供一種短任務處理裝置,包括:
設置模塊,用于根據接收應用程序發送的請求設置預留硬件線程的申請消息,將普通硬件線程設置成預留硬件線程,所述預留硬件線程只用于執行短任務;
分配模塊,用于所述應用程序運行時,將所述預留硬件線程分配給所述應用程序;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司;中國科學院計算技術研究所,未經華為技術有限公司;中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310598394.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:便攜式帶UV功能的移動電源
- 下一篇:一種充氣球體的智能充電結構





