專利名稱:一種多任務并行調度機制的制作方法
技術領域:
本發(fā)明涉及節(jié)目制作技術領域,尤其涉及一種多任務并行調度方法。
背景技術:
在圖像/視頻后期處理軟件中,由于軟件的特殊性,有各種硬件資源,包括CPU、 GPU、高速硬盤、視音頻板卡等。在后期處理軟件中需要對這些硬件資源進行訪問,比如需要從磁盤中讀取素材數(shù)據(jù),需要使用CPU執(zhí)行算法和界面現(xiàn)實,需要GPU來進行圖形渲染,需要用視音頻板卡來進行圖像和聲音的輸出。然而本發(fā)明發(fā)明人在實現(xiàn)本發(fā)明時,發(fā)現(xiàn)現(xiàn)有技術中至少存在如下技術缺陷 CPU、GPU、高速硬盤、視音頻板卡等硬件資源是相對獨立的,一般情況下,這些資源都是串行進行使用的,在使用一種資源的時候,要等到這種資源使用完才能使用下一種資源,這樣, 將極大浪費硬件資源,節(jié)目制作的效率將很低。
發(fā)明內容
本發(fā)明提供一種多任務并行調度方法,從而解決了現(xiàn)有CPU、GPU、高速硬盤、視音頻板卡等硬件資源是相對獨立工作的,這樣將極大浪費硬件資源,導致節(jié)目制作的效率很低的問題。為達到上述目的,本發(fā)明提出一種統(tǒng)一的特技調節(jié)方法,包括接收帶有函數(shù)和標注了類型的多個任務;檢查所述多個任務是否具備執(zhí)行條件;同時啟動多個線程調度硬件資源。本發(fā)明實施例還提供一種多任務并行調度裝置,包括接收任務模塊,用于接收帶有函數(shù)和標注了類型的多個任務;任務檢查模塊,用于檢查所述多個任務是否具備執(zhí)行條件;硬件資源調度模塊,用于同時啟動多個線程調度硬件資源。本發(fā)明實施例的技術方案具有以下優(yōu)點本發(fā)明實施例通過使現(xiàn)有CPU、GPU、高速硬盤、視音頻板卡等硬件資源并行調度,讓它們同時工作,從而大大提高了資源的利用率,使節(jié)目制作的效率得以提升。
圖1為本發(fā)明實施例多任務并行調度方法流程圖1 ;圖2為本發(fā)明實施例多任務并行調度方法流程圖2 ;圖3為本發(fā)明實施例多任務并行調度裝置示意圖。
具體實施例方式本發(fā)明發(fā)明人針對現(xiàn)有圖像/視頻后期處理軟件中CPU、GPU、高速硬盤、視音頻板卡等硬件資源是相對獨立工作的,這樣將極大浪費硬件資源,導致節(jié)目制作的效率很低的問題。通過一種多任務并行調度方法,將現(xiàn)有CPU、GPU、高速硬盤、視音頻板卡等硬件資源并行調度,讓他們同時工作,從而大大的提高了資源的利用率,使節(jié)目制作的效率得以提升。一般來講,使不同的硬件能夠并行工作是指把能在時間上可以同時工作的硬件資源同時調度起來,讓它們在同一時間完成不同的工作,比如可以在CPU執(zhí)行算法的時候, 同時調度硬盤讓它可以開始讀寫素材文件。針對不同硬件的工作分為不同類型的任務 (task),一類任務完成針對一種硬件資源的工作,比如硬盤讀寫定義為Disk任務,算法定義為CPU任務,圖像渲染定義為GPU任務等等。針對使用同一類硬件資源任務的調度叫作任務執(zhí)行器,它是一個線程,負責將所有到來的任務推送到相應的硬件資源并執(zhí)行上述任務。下面結合附圖和實施例,對本發(fā)明的具體實施方式
作進一步詳細描述如圖1所示,為本發(fā)明實施例一種多任務并行調度方法流程圖,包括步驟S101,接收帶有函數(shù)和標注了類型的多個任務。首先需要產生多個任務,每個任務帶有一個函數(shù)代表了該任務想做的工作,同時需要將每個任務標注一個類型,該類型可以用Disk、CPU、GPU等來標識,表示希望這個任務在哪種硬件資源上運行。同時需要設定這個任務被執(zhí)行的先決條件。將帶有函數(shù)的任務推送到任務分發(fā)中心,分發(fā)中心將檢測是否有相應的執(zhí)行器存在,如果存在,將把任務放入相應執(zhí)行器的任務隊列中,如果不存在將負責創(chuàng)建一個這種類型的執(zhí)行器出來,并把任務發(fā)發(fā)送到相應的執(zhí)行器中。執(zhí)行器在創(chuàng)建的時候同時將創(chuàng)建一個線程,這個線程通過調用任務帶有的函數(shù),將任務執(zhí)行起來。步驟S102,檢查所述多個任務是否具備執(zhí)行條件。執(zhí)行器檢查是否有任務到達,如果到達將檢查任務是否具備執(zhí)行條件,如果是則把任務推送相應的硬件資源,讓硬件資源啟動;如果不具備執(zhí)行條件,則等待任務條件的滿足;如果執(zhí)行器發(fā)現(xiàn)沒有任務將進入休眠狀態(tài)。步驟S103,同時啟動多個線程調度硬件資源。執(zhí)行器不斷接到不同類型的任務,這些任務將能同時啟動多個線程,這些線程將能同時將所有硬件資源調度出來,這樣就實現(xiàn)了所有硬件資源的并行功能。當所有任務調度結束后,回收銷毀任務和任務執(zhí)行器。本發(fā)明實施例通過通過一種多任務并行調度方法,將現(xiàn)有CPU、GPU、高速硬盤、視音頻板卡等硬件資源并行調度,讓他們同時工作,從而大大的節(jié)約了硬件的資源,使節(jié)目制作的效率得以提升。如圖2所示,為本發(fā)明實施例一種多任務并行調度裝置的結構圖,包括任務接收模塊2,用于接收帶有函數(shù)和標注了類型的多個任務;任務檢查模塊3,用于檢查所述多個任務是否具備執(zhí)行條件;硬件資源調度模塊4,用于同時啟動多個線程調度硬件資源。通過以上實施例提供的裝置,可以將現(xiàn)有CPU、GPU、高速硬盤、視音頻板卡等硬件資源并行調度,讓他們同時工作,從而大大的節(jié)約了硬件的資源,使節(jié)目制作的效率得以提升。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺終端設備(可以是手機,個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。 以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。
權利要求
1.一種多任務并行調度方法,其特征在于,包括如下步驟接收帶有函數(shù)和標注了類型的多個任務;檢查所述多個任務是否具備執(zhí)行條件;同時啟動多個線程調度硬件資源。
2.如權利要求1所述的多任務并行調度方法,其特征在于,所述在所述接收帶有函數(shù)和標注了類型的多個任務之前,還包括將所述任務推送到任務分發(fā)中心,并檢驗是否有相應的執(zhí)行器存在,如果存在,將把所述任務放入相應的任務隊列中,如果不存在,則創(chuàng)建新的這種類型的執(zhí)行器。
3.如權利要求2所述的多任務并行調度方法,其特征在于,所述創(chuàng)建一個新的這種類型的執(zhí)行器,還包括同時創(chuàng)建一個線程,所述線程調用所述任務帶有的函數(shù)。
4.如權利要求1所述的多任務并行調度方法,其特征在于,所述任務的類型,用Disk、 CPU、GPU等來標識。
5.如權利要求1所述的多任務并行調度方法,其特征在于,所述檢查多個任務是否具備執(zhí)行條件,具體包括如果所述多個任務符合執(zhí)行條件,則把任務推送至相應的硬件資源,同時啟動所述硬件資源;如果沒有發(fā)現(xiàn)任務,則執(zhí)行器進入休眠狀態(tài)。
6.一種多任務并行調度裝置,包括接收任務模塊,用于接收帶有函數(shù)和標注了類型的多個任務;任務檢查模塊,用于檢查所述多個任務是否具備執(zhí)行條件;硬件資源調度模塊,用于同時啟動多個線程調度硬件資源。
全文摘要
本發(fā)明實施例公開了一種多任務并行調度方法,包括接收帶有函數(shù)和標注了類型的多個任務;檢查所述多個任務是否具備執(zhí)行條件;同時啟動多個線程調度硬件資源。本發(fā)明還公開了一種多任務并行調度裝置。通過應用本發(fā)明,能夠使現(xiàn)有CPU、GPU、高速硬盤、視音頻板卡等硬件資源并行調度,讓它們同時工作,從而大大提高了資源的利用率,使節(jié)目制作的效率得以提升。
文檔編號G06F9/46GK102567084SQ20101061785
公開日2012年7月11日 申請日期2010年12月31日 優(yōu)先權日2010年12月31日
發(fā)明者劉鐵華, 徐進, 見良, 鄭鵬程 申請人:新奧特(北京)視頻技術有限公司