專利名稱:多核dsp系統(tǒng)中自適應的任務調(diào)度方法
技術領域:
本發(fā)明涉及一種多核DSP系統(tǒng)中的任務調(diào)度方法。
背景技術:
多核DSP系統(tǒng)相對于單核DSP系統(tǒng),它面臨的一個新的問題是如何將多媒 體處理任務(以下簡稱任務)合理地在各個核上進行分配。其中多媒體處理任 務包括對多媒體進行編碼、解碼、去噪、增強、識別等一系列的操作。傳統(tǒng)的 解決方案是將多核系統(tǒng)中的一個核設置為主核(它同時也可以是從核),其他 的核設置為從核。由主核負責接收任務,并負責對任務進行分配,指揮、通知 其他從核進行任務處理。為了有效地利用DSP運算資源,在這種方案中,主核 必須得到一系列的先驗知識,比如從核的運算能力,每個任務占用的運算量。同 時,主核必須實時監(jiān)控每個從核的剩余運算能力,以便給從核分配合適的任務。傳統(tǒng)的解決方案,符合通常的邏輯,條理清楚,比較簡單。當每個任務所 需的運算資源相對比較固定時,這種方法是比較適用的。比如在傳統(tǒng)的語音信 號處理過程中,尤其是語音信號的編解碼處理,每種處理所需要的運算量是固 定的。所以很容易根據(jù)任務的情況進行從核的任務分配,即將每個任務需要的 運算量和每個從核的運算能力比較,總是可以簡單的先驗知道每個從核的任務 處理能力的。然而隨著多媒體處理技術的發(fā)展,尤其是視頻信號處理的不斷發(fā)展,并在 DSP中不斷地得到應用,每個任務的運算量變化非常大,所以所獲得先驗知識 往往是不可靠的。使用這種不可靠的先驗知識進行任務管理,要么造成DSP系 統(tǒng)資源的浪費,要么導致任務無法正常執(zhí)行。為了得到相對可靠的每種任務的 運算量,必須進行大量的試驗,從而加大了開發(fā)周期。同時,這種傳統(tǒng)的解決方案,每個從核的負載總是不均衡的。這是因為一 旦某個任務被主核分配到某個從核時,主核就不再重新對它進行調(diào)度了。另外, 傳統(tǒng)的方法,依然把一個多核DSP系統(tǒng)中各個核當作一個獨立的個體來看待,沒有利用在一個系統(tǒng)中,各個核之間的高速互聯(lián),共享內(nèi)存等優(yōu)勢。所以,為 了充分利用多核DSP系統(tǒng)的系統(tǒng)資源,實現(xiàn)各核之間的負載均衡,必須對現(xiàn)有 的任務調(diào)度方式加以改進。發(fā)明內(nèi)容為了克服現(xiàn)有技術存在的不足,本發(fā)明提供一種能有效降低多核DSP系統(tǒng) 對先驗知識的可靠性要求,提高其負載均衡能力的自適應的任務管理方法。為了達到上述發(fā)明目的,本發(fā)明的技術方案是采取如下的步驟實現(xiàn)多核 DSP系統(tǒng)中自適應的任務調(diào)度A、 在多核DSP系統(tǒng)的共享內(nèi)存中建立一個共享任務池,所述的任務池為 將任務按時間排序的單向任務鏈表;B、 向鏈表的尾部添加表項,將任務輸入到任務池中;C、 對任務池中的任務進行分類、編號和狀態(tài)設置處理,所述的分類處理 是將任務分類為時間相關和時間不相關兩種;所述的編號處理是將每一項任務 編號,時間相關的任務具有相同的編號,時間不相關的任務單獨編號;所述的 狀態(tài)設置處理為將每項不同編號的任務的初始狀態(tài)設置為非鎖定狀態(tài);D、 每個空閑從核的任務獲取裝置向共享任務池進行査詢;E、 對任務池中的任務按兩種不同的分類分別進行操作-① 任務是時間不相關的,則直接獲取任務,進行當前任務的處理;② 任務是時間相關的,則獲取任務的編號查詢?nèi)蝿諣顟B(tài),若為非鎖定狀態(tài) 則將當前任務先鎖定,再獲取任務,進行任務的處理,任務處理完成后對任務 進行解鎖;若為鎖定狀態(tài),則跳轉(zhuǎn)到步驟D。所述的獲取任務的方式為直接將任務從任務鏈表中刪除。由于所有從核只有在處理完當前的任務之后,才繼續(xù)從共享任務池中獲取 新的任務,同時,所獲取的任務總是那些沒有被鎖定的,因此,任務池中的任 務總是被最空閑的核進行處理,從而自動地實現(xiàn)了各個核之間的負載均衡,只 要任務池中的任務總量不超過所有從核的處理能力總和,任務總是可以被實時 地處理完成的。本發(fā)明改變了傳統(tǒng)的多核DSP系統(tǒng)用主核來分配任務的技術方案,采用從核主動地在自己空閑的時候去獲取任務的方法,它實現(xiàn)了將系統(tǒng)不再孤立地看 待成為一個多核系統(tǒng)中的每個單獨的核的組合,而是將它們看作一個整體,利 用它們共享的系統(tǒng)內(nèi)存和高速互聯(lián)進行設計。采用該方法,系統(tǒng)可以有效地降 低對先驗知識的可靠性要求,實現(xiàn)多核系統(tǒng)的負載均衡。
圖1是本發(fā)明實施例任務輸入到任務池的工作流程圖;圖2是本發(fā)明實施例從核的任務獲取裝置向任務池獲取任務的工作流程圖;圖3是本發(fā)明實施例從核處理任務裝置的工作流程圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步描述 實施例1:多核DSP系統(tǒng)在接受到新的任務后,將所有任務輸入到共享任務池中,所 述的任務為對各種多媒體進行處理,如對音視頻進行編、解碼操作,對圖像進 行增強,對語音進行去噪處理,對語音進行識別等。本實施例采用在多核DSP系統(tǒng)的共享內(nèi)存中創(chuàng)建一個共享任務池,用于 緩存外界輸入的所有任務,并可以被所有從核同時訪問。任務池是按照時間排 序的任務單向鏈表,向任務池中加入任務的方式為向任務鏈表的尾部添加表 項。參見附圖l,它是本實施例的任務池的工作流程圖。任務池對輸入的新任 務進行分類、編號和狀態(tài)設置處理。分類將任務分成時間相關和不相關兩類,若這個任務的下一個時間段的 處理必須依賴上一次處理的結(jié)果則被分類為"時間相關"的,這類任務多是對 一個語音流或者視頻流的連續(xù)處理,比如采用了實踐預測方法的編輯碼操作, 增強等;如果任務在處理上不依賴于任何上一次的操作,則這個任務被分類為 "時間不相關"的,比如一次識別操作。編號時間相關的任務具有相同的編號,時間不相關的任務單獨編號。編號具有唯一性。編號可以是順序的,也可以是不順序的。編號可以回收重復利 用。狀態(tài)設置每項不同編號的任務的初始狀態(tài)設置為非鎖定狀態(tài),時間相關 的相同編號的任務的非初始狀態(tài)設置為鎖定狀態(tài)。參見附圖2,它是本實施例從核向任務池獲取任務的工作流程圖;位于各 個核上的任務獲取裝置總是在當前從核空閑的時候被執(zhí)行,它不斷的輪詢?nèi)蝿?池。如果有任務在任務池中,它首先查詢?nèi)蝿盏姆诸?,如果是時間不相關的, 則直接獲取任務,獲取任務的方式為將任務從任務鏈表中刪除。如果是時間相 關的,則獲得任務號,并檢查當前任務狀態(tài)是否被鎖定,如果沒有被鎖定,則 首先鎖定任務,然后獲取任務。如果任務是已經(jīng)被鎖定的,則繼續(xù)向任務池的 尾部査詢,直到查詢到時間不相關的或者時間相關但未被鎖定的任務。如果遇 到任務池尾,則繼續(xù)返回任務池頭部繼續(xù)查詢。參見附圖3,它是本實施例從核處理任務的工作流程圖;由各個從核上的 任務處理裝置負責對獲取到的任務進行處理。任務處理完畢后,如果當前的任 務是時間相關的,則對任務進行解鎖,繼續(xù)返回到任務獲取裝置向任務池繼續(xù) 査詢。
權利要求
1. 一種多核DSP系統(tǒng)中自適應的任務調(diào)度方法,其特點在于它包括以下步驟A、在多核DSP系統(tǒng)的共享內(nèi)存中建立一個共享任務池,所述的任務池為將任務按時間排序的單向任務鏈表;B、向鏈表的尾部添加表項,將任務輸入到任務池中;C、對任務池中的任務進行分類、編號和狀態(tài)設置處理,所述的分類處理是將任務分類為時間相關和時間不相關兩種;所述的編號處理是將每一項任務編號,時間相關的任務具有相同的編號,時間不相關的任務單獨編號;所述的狀態(tài)設置處理為將每項不同編號的任務的初始狀態(tài)設置為非鎖定狀態(tài);D、每個空閑從核的任務獲取裝置向共享任務池進行查詢;E、對任務池中的任務按兩種不同的分類分別進行操作①任務是時間不相關的,則直接獲取任務,進行當前任務的處理;②任務是時間相關的,則獲取任務的編號查詢?nèi)蝿諣顟B(tài),若為非鎖定狀態(tài)則將當前任務先鎖定,再獲取任務,進行任務的處理,任務處理完成后對任務進行解鎖;若為鎖定狀態(tài),則跳轉(zhuǎn)到步驟D。
2. 根據(jù)權利要求1所述的一種多核DSP系統(tǒng)中自適應的任務調(diào)度方法,其特點在于所述的獲取任務的方式為直接將任務從任務鏈表中刪除。
全文摘要
本發(fā)明涉及一種多核DSP系統(tǒng)中的任務調(diào)度方法。在多核DSP系統(tǒng)的共享內(nèi)存中建立一個共享任務池,把任務輸入到任務池中,先將任務分類為時間相關和時間不相關兩種,再將每一項任務編號,時間相關的任務具有相同的編號,時間不相關的任務單獨編號,并將每項不同編號的任務的初始狀態(tài)設置為非鎖定狀態(tài);每個空閑從核的任務獲取裝置向共享任務池進行查詢,獲取任務后進行任務的處理。本發(fā)明改變了傳統(tǒng)的多核DSP系統(tǒng)用主核來分配任務的技術方案,采用從核主動地在自己空閑的時候去獲取任務的方法,可以有效地降低對先驗知識的可靠性要求,實現(xiàn)多核系統(tǒng)的負載均衡。
文檔編號G06F9/48GK101261591SQ20081003671
公開日2008年9月10日 申請日期2008年4月28日 優(yōu)先權日2008年4月28日
發(fā)明者繆春波 申請人:艾諾通信系統(tǒng)(蘇州)有限責任公司