国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

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

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

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

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