亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

短任務(wù)處理方法、裝置及操作系統(tǒng)的制作方法

文檔序號(hào):8339451閱讀:295來(lái)源:國(guó)知局
短任務(wù)處理方法、裝置及操作系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及操作系統(tǒng)技術(shù),尤其涉及一種短任務(wù)處理方法、裝置及操作系統(tǒng)。
【背景技術(shù)】
[0002]大規(guī)模并行計(jì)算逐漸代替串行計(jì)算已經(jīng)成為必然趨勢(shì),現(xiàn)有的應(yīng)用程序和操作系統(tǒng)只有最大程度挖掘其并行性,才能提高運(yùn)行性能并高效利用硬件資源。為此,應(yīng)用程序通過(guò)并行編程方法或編譯器技術(shù)將任務(wù)分解為多個(gè)并行的短任務(wù)。
[0003]傳統(tǒng)的操作系統(tǒng)(如Linux)中,應(yīng)用程序在向操作系統(tǒng)發(fā)出運(yùn)行一個(gè)任務(wù)的請(qǐng)求后,操作系統(tǒng)首先為該任務(wù)創(chuàng)建一個(gè)線程,再調(diào)度到硬件線程的可執(zhí)行隊(duì)列中,并在運(yùn)行結(jié)束后釋放該線程。
[0004]這種運(yùn)行方式可以高效運(yùn)行長(zhǎng)任務(wù),但是對(duì)于短任務(wù)則非常低效,因?yàn)椴煌趥鹘y(tǒng)的串行任務(wù),短任務(wù)的執(zhí)行過(guò)程非常短,其開(kāi)銷主要在于系統(tǒng)創(chuàng)建和釋放線程數(shù)據(jù)結(jié)構(gòu)的過(guò)程。尤其是在大規(guī)模短任務(wù)系統(tǒng)環(huán)境中,操作系統(tǒng)將耗費(fèi)大量資源用于線程的創(chuàng)建和釋放過(guò)程,這將極大影響并行計(jì)算環(huán)境下短任務(wù)的運(yùn)行效率。

【發(fā)明內(nèi)容】

[0005]本發(fā)明實(shí)施例提供一種短任務(wù)處理方法、裝置及操作系統(tǒng),以解決在大規(guī)模短任務(wù)系統(tǒng)環(huán)境中,操作系統(tǒng)將耗費(fèi)大量資源用于線程的創(chuàng)建和釋放過(guò)程的問(wèn)題,以實(shí)現(xiàn)提高并行計(jì)算環(huán)境下短任務(wù)的運(yùn)行效率。
[0006]第一方面,本發(fā)明實(shí)施例提供一種短任務(wù)處理方法,包括:
[0007]根據(jù)接收應(yīng)用程序發(fā)送的請(qǐng)求設(shè)置預(yù)留硬件線程的申請(qǐng)消息,將普通硬件線程設(shè)置成預(yù)留硬件線程,所述預(yù)留硬件線程只用于執(zhí)行短任務(wù);
[0008]所述應(yīng)用程序運(yùn)行時(shí),將所述預(yù)留硬件線程分配給所述應(yīng)用程序;
[0009]將所述應(yīng)用程序下發(fā)的待執(zhí)行的短任務(wù)直接裝載在所述預(yù)留硬件線程上執(zhí)行。
[0010]在第一方面第一種可能的實(shí)現(xiàn)方式中,在所述將所述預(yù)留硬件線程分配給所述應(yīng)用程序之后,還包括:
[0011]創(chuàng)建空白的線程數(shù)據(jù)結(jié)構(gòu);
[0012]則所述將所述應(yīng)用程序中待執(zhí)行的短任務(wù)直接裝載在所述預(yù)留硬件線程上執(zhí)行產(chǎn)生異常時(shí),將執(zhí)行中的短任務(wù)的運(yùn)行時(shí)狀態(tài)恢復(fù)到所述空白的線程數(shù)據(jù)結(jié)構(gòu)中以使所述短任務(wù)參與正常的線程調(diào)度執(zhí)行。
[0013]根據(jù)第一方面第一種可能的實(shí)現(xiàn)方式,在第一方面第二種可能的實(shí)現(xiàn)方式中,還包括:
[0014]若所述將所述應(yīng)用程序中待執(zhí)行的短任務(wù)直接裝載在所述預(yù)留硬件線程上正常執(zhí)行完畢后,則釋放所述空白的線程數(shù)據(jù)結(jié)構(gòu)。
[0015]在第一方面第三種可能的實(shí)現(xiàn)方式中,所述將所述預(yù)留硬件線程分配給所述應(yīng)用程序之前,還包括:
[0016]判斷是否存在空閑的所述預(yù)留硬件線程,若不存在,則向所述應(yīng)用程序發(fā)送申請(qǐng)失敗的消息以使所述應(yīng)用程序創(chuàng)建正常的線程調(diào)度執(zhí)行。
[0017]根據(jù)第一方面、第一方面第一種至第三種任意可能的實(shí)現(xiàn)方式,在第一方面第四種可能的實(shí)現(xiàn)方式中,所述將所述應(yīng)用程序中待執(zhí)行的短任務(wù)直接裝載在所述預(yù)留硬件線程上執(zhí)行,包括:
[0018]若待執(zhí)行的短任務(wù)數(shù)目超過(guò)所述應(yīng)用程序所占有的預(yù)留硬件線程的處理能力時(shí),則向所述應(yīng)用程序發(fā)送提示信息。
[0019]根據(jù)第一方面、第一方面第一種至第四種任意可能的實(shí)現(xiàn)方式,在第一方面第五種可能的實(shí)現(xiàn)方式中,還包括:
[0020]在所述應(yīng)用程序執(zhí)行完畢之后,釋放所述預(yù)留硬件線程以使所述預(yù)留硬件線程成為普通硬件線程。
[0021]第二方面,本發(fā)明實(shí)施例提供一種短任務(wù)處理方法,包括:
[0022]向操作系統(tǒng)發(fā)送請(qǐng)求設(shè)置預(yù)留硬件線程的申請(qǐng)消息;
[0023]向所述操作系統(tǒng)下發(fā)待執(zhí)行的短任務(wù),以使所述操作系統(tǒng)將所述待執(zhí)行的短任務(wù)直接裝載在所述預(yù)留硬件線程上執(zhí)行。
[0024]在第二方面第一種可能的實(shí)現(xiàn)方式中,所述向操作系統(tǒng)發(fā)送請(qǐng)求設(shè)置預(yù)留硬件線程的申請(qǐng)消息包括:
[0025]在初始化時(shí),向操作系統(tǒng)發(fā)送請(qǐng)求設(shè)置預(yù)留硬件線程的申請(qǐng)消息;或者,
[0026]當(dāng)短任務(wù)的數(shù)目超過(guò)預(yù)設(shè)的閾值時(shí),向操作系統(tǒng)發(fā)送請(qǐng)求設(shè)置預(yù)留硬件線程的申請(qǐng)消息。
[0027]根據(jù)第二方面或第二方面第一種可能的實(shí)現(xiàn)方式,在第二方面第二種可能的實(shí)現(xiàn)方式中,還包括:
[0028]在接收所述操作系統(tǒng)發(fā)送的待執(zhí)行的短任務(wù)的數(shù)目超過(guò)所占有的預(yù)留硬件線程的處理能力的提示消息時(shí),向所述操作系統(tǒng)繼續(xù)發(fā)送請(qǐng)求設(shè)置預(yù)留硬件線程的申請(qǐng)消息以使所述操作系統(tǒng)繼續(xù)將普通硬件線程設(shè)置成預(yù)留硬件線程。
[0029]第三方面,本發(fā)明實(shí)施例提供一種短任務(wù)處理裝置,包括:
[0030]設(shè)置模塊,用于根據(jù)接收應(yīng)用程序發(fā)送的請(qǐng)求設(shè)置預(yù)留硬件線程的申請(qǐng)消息,將普通硬件線程設(shè)置成預(yù)留硬件線程,所述預(yù)留硬件線程只用于執(zhí)行短任務(wù);
[0031]分配模塊,用于所述應(yīng)用程序運(yùn)行時(shí),將所述預(yù)留硬件線程分配給所述應(yīng)用程序;
[0032]執(zhí)行模塊,用于將所述應(yīng)用程序下發(fā)的待執(zhí)行的短任務(wù)直接裝載在所述預(yù)留硬件線程上執(zhí)行。
[0033]在第三方面第一種可能的實(shí)現(xiàn)方式中,還包括:
[0034]創(chuàng)建模塊,用于在所述分配模塊將所述預(yù)留硬件線程分配給所述應(yīng)用程序之后,創(chuàng)建空白的線程數(shù)據(jù)結(jié)構(gòu);
[0035]恢復(fù)模塊,用于所述執(zhí)行模塊將所述應(yīng)用程序中待執(zhí)行的短任務(wù)直接裝載在所述預(yù)留硬件線程上執(zhí)行產(chǎn)生異常時(shí),將執(zhí)行中的短任務(wù)的運(yùn)行時(shí)狀態(tài)恢復(fù)到所述空白的線程數(shù)據(jù)結(jié)構(gòu)中以使所述短任務(wù)參與正常的線程調(diào)度執(zhí)行。
[0036]根據(jù)第三方面第一種可能的實(shí)現(xiàn)方式,在第三方面第二種可能的實(shí)現(xiàn)方式中,還包括:
[0037]第一釋放模塊,用于若所述執(zhí)行模塊將所述應(yīng)用程序中待執(zhí)行的短任務(wù)直接裝載在所述預(yù)留硬件線程上正常執(zhí)行完畢后,則釋放所述空白的線程數(shù)據(jù)結(jié)構(gòu)。
[0038]在第三方面第三種可能的實(shí)現(xiàn)方式中,還包括:
[0039]判斷模塊,用于所述分配模塊將所述預(yù)留硬件線程分配給所述應(yīng)用程序之前,判斷是否存在空閑的所述預(yù)留硬件線程,若不存在,則向所述應(yīng)用程序發(fā)送申請(qǐng)失敗的消息以使所述應(yīng)用程序創(chuàng)建正常的線程調(diào)度執(zhí)行。
[0040]根據(jù)第三方面、第三方面第一種至第三種任意可能的實(shí)現(xiàn)方式,在第三方面第四種可能的實(shí)現(xiàn)方式中,所述執(zhí)行模塊,具體用于:
[0041]若待執(zhí)行的短任務(wù)數(shù)目超過(guò)所述應(yīng)用程序所占有的預(yù)留硬件線程的處理能力時(shí),則向所述應(yīng)用程序發(fā)送提示信息。
[0042]根據(jù)第三方面、第三方面第一種至第四種任意可能的實(shí)現(xiàn)方式,在第三方面第五種可能的實(shí)現(xiàn)方式中,還包括:
[0043]第二釋放模塊,用于在所述應(yīng)用程序執(zhí)行完畢之后,釋放所述預(yù)留硬件線程以使所述預(yù)留硬件線程成為普通硬件線程。
[0044]第四方面,本發(fā)明實(shí)施例提供一種短任務(wù)處理裝置,包括:
[0045]申請(qǐng)模塊,用于向操作系統(tǒng)發(fā)送請(qǐng)求設(shè)置預(yù)留硬件線程的申請(qǐng)消息;
[0046]下發(fā)任務(wù)模塊,用于向所述操作系統(tǒng)下發(fā)待執(zhí)行的短任務(wù),以使所述操作系統(tǒng)將所述待執(zhí)行的短任務(wù)直接裝載在所述預(yù)留硬件線程上執(zhí)行。
[0047]在第四方面第一種可能的實(shí)現(xiàn)方式中,所述申請(qǐng)模塊,具體用于:
[0048]在初始化時(shí),向操作系統(tǒng)發(fā)送請(qǐng)求設(shè)置預(yù)留硬件線程的申請(qǐng)消息;或者,
[0049]當(dāng)短任務(wù)的數(shù)目超過(guò)預(yù)設(shè)的閾值時(shí),向操作系統(tǒng)發(fā)送請(qǐng)求設(shè)置預(yù)留硬件線程的申請(qǐng)消息。
[0050]根據(jù)第四方面或第四方面第一種可能的實(shí)現(xiàn)方式,在第四方面第二種可能的實(shí)現(xiàn)方式中,所述申請(qǐng)模塊,還用于:
[0051]在接收所述操作系統(tǒng)發(fā)送的待執(zhí)行的短任務(wù)的數(shù)目超過(guò)所占有的預(yù)留硬件線程的處理能力的提示消息時(shí),向所述操作系統(tǒng)繼續(xù)發(fā)送請(qǐng)求設(shè)置預(yù)留硬件線程的申請(qǐng)消息以使所述操作系統(tǒng)繼續(xù)將普通硬件線程設(shè)置成預(yù)留硬件線程。
[0052]第五方面,本發(fā)明實(shí)施例提供一種操作系統(tǒng),其中包括:
[0053]如第三方面、第三方面第一種至第五種任意可能的實(shí)現(xiàn)方式所
當(dāng)前第1頁(yè)1 2 3 4 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1