專利名稱:基于存儲(chǔ)器要求在多處理器系統(tǒng)中進(jìn)行任務(wù)調(diào)度的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種資源管理的方法和設(shè)備,特別但非排他性地適用于多處理器實(shí)時(shí)系統(tǒng)的資源管理。
背景技術(shù):
對(duì)于硅片上系統(tǒng)(systems-on-silicon,SoS)或者芯片上系統(tǒng)(systems-on-chip,SoC)來(lái)說(shuō),因?yàn)閺乃枰墓柙亓可峡?,存?chǔ)器變成主要限制因素,所以添加另一處理核心不再是問(wèn)題。因此,SoS或者SoC可以包含多個(gè)處理器核心。
對(duì)多處理器系統(tǒng)來(lái)說(shuō)存儲(chǔ)器的管理是資源管理的關(guān)鍵方面。已經(jīng)開(kāi)發(fā)了各種方法來(lái)優(yōu)化單處理器系統(tǒng)的存儲(chǔ)器使用,包括統(tǒng)一主存儲(chǔ)器管理的搶占點(diǎn)的使用,特別是在實(shí)時(shí)系統(tǒng)中的。在這些方法中,那些任務(wù)優(yōu)選地基于其存儲(chǔ)器使用只在專用搶占點(diǎn)搶占,而不是在其執(zhí)行期間在任意時(shí)刻搶占任務(wù)。
在典型的現(xiàn)有技術(shù)的方法中,任務(wù)掛起稱為任務(wù)搶占,或者任務(wù)的搶占,并且術(shù)語(yǔ)″任務(wù)”用來(lái)表示可在其自身上競(jìng)爭(zhēng)諸如存儲(chǔ)器、CPU、I/O設(shè)備等系統(tǒng)資源的執(zhí)行單位。為了論述,將任務(wù)假定為一連串連續(xù)執(zhí)行的作業(yè),其均包括一個(gè)或多個(gè)子作業(yè)。例如,任務(wù)可以包括″多路分解視頻流”,并且涉及讀入輸入流、處理所述流并且輸出相應(yīng)的數(shù)據(jù)。這些步驟是相對(duì)于每一輸入數(shù)據(jù)流執(zhí)行的,因此相對(duì)于單個(gè)流的讀取、處理和輸出對(duì)應(yīng)于執(zhí)行一個(gè)作業(yè),每個(gè)作業(yè)均具有三個(gè)子作業(yè)。由此,當(dāng)存在多個(gè)數(shù)據(jù)包待讀入和處理時(shí),所述作業(yè)將會(huì)被執(zhí)行相應(yīng)多次。子作業(yè)可以被認(rèn)為涉及作業(yè)的功能組件,并且在多處理器系統(tǒng)中,每一流將會(huì)被分配給不同的處理器或者處理器子集。
在數(shù)據(jù)處理系統(tǒng)中調(diào)度多個(gè)任務(wù)的已知方法要求任務(wù)的每一子作業(yè)具有掛起標(biāo)準(zhǔn)集合,即掛起數(shù)據(jù),該集合基于其存儲(chǔ)器使用[4][5]指定用于子作業(yè)掛起的處理?yè)屨键c(diǎn)和相應(yīng)條件。因此,由數(shù)據(jù)處理系統(tǒng)使用的存儲(chǔ)器量通過(guò)經(jīng)由這些搶占點(diǎn)被此掛起數(shù)據(jù)間接控制,所述掛起數(shù)據(jù)指定在作業(yè)的執(zhí)行中在這些搶占點(diǎn)要求的存儲(chǔ)器量。
由此,這些搶占點(diǎn)可以用于避免數(shù)據(jù)處理系統(tǒng)因缺乏存儲(chǔ)器而崩潰。當(dāng)實(shí)時(shí)任務(wù)具有包括多個(gè)子作業(yè)的特性時(shí),其搶占點(diǎn)優(yōu)選地與所述任務(wù)的子作業(yè)邊界一致。
例如表示任務(wù)的存儲(chǔ)器使用的數(shù)據(jù)可以經(jīng)由要求解調(diào)度事件的代碼行嵌入到任務(wù)中,所述任務(wù)遵循與任務(wù)的每一子作業(yè)相關(guān)聯(lián)的掛起數(shù)據(jù),所述解調(diào)度事件規(guī)定在任務(wù)的處理中已經(jīng)到達(dá)搶占點(diǎn),即已經(jīng)到達(dá)子作業(yè)邊界。也就是說(shuō),任務(wù)子作業(yè)的起點(diǎn)集合構(gòu)成該任務(wù)的搶占點(diǎn)集合。任務(wù)τi的第j個(gè)搶占點(diǎn)Pi,j通過(guò)涉及搶占點(diǎn)自身的信息和涉及后繼非搶占的子作業(yè)間隔Ii,j的信息來(lái)特征化,所述間隔Ii,j是第j個(gè)搶占點(diǎn)和下一搶占點(diǎn),即第(j+1)個(gè)搶占點(diǎn)之間的間隔。
在運(yùn)行時(shí),當(dāng)任務(wù)到達(dá)搶占點(diǎn),例如當(dāng)它啟動(dòng)子作業(yè)、在子作業(yè)之間切換并且完成子作業(yè)時(shí),任務(wù)通知正控制的操作系統(tǒng),并且所述操作系統(tǒng)決定何時(shí)以及何地?fù)屨既蝿?wù)的執(zhí)行。理想地,搶占可能出現(xiàn)在搶占點(diǎn)或者在任務(wù)執(zhí)行期間的任何其它點(diǎn)。然而,搶占選擇的這種靈活性是以一致性為代價(jià)的,因此搶占被限制在搶占點(diǎn)以保持一致性。
基于主存儲(chǔ)器需求的不危害系統(tǒng)的一致性的現(xiàn)有技術(shù)的搶占點(diǎn)方法,必然將所有任務(wù)的搶占限制在其搶占點(diǎn),并且限制在兩個(gè)子作業(yè)邊界內(nèi)用于控制資源專用的同步原語(yǔ)相匹配。如在所述領(lǐng)域中已知的,組件(例如,可以包括一個(gè)或多個(gè)任務(wù)的軟件組件)可以具有可編程接口,所述可編程接口包括組件定義[6]的屬性、功能或者方法和事件。為了論述,假定任務(wù)伴有接口100,所述接口100至少包括所述任務(wù)要求的主存儲(chǔ)器數(shù)據(jù)MPi,j101b,如圖1中所示。
為了論述,任務(wù)假定為周期性的和實(shí)時(shí)的,并且通過(guò)周期T和定相F來(lái)特征化,其中0<=F<T,其意味著任務(wù)包括子作業(yè)序列,每個(gè)子作業(yè)在時(shí)間F+nT被釋放,其中n=0...N。只作為一個(gè)例子并且如圖2中所示,機(jī)頂盒200被假定為執(zhí)行三個(gè)任務(wù)(1)在用戶接口205上顯示菜單,(2)從內(nèi)容提供商203檢索文本信息,并且(3)處理一些視頻信號(hào),并且這3項(xiàng)任務(wù)的每一項(xiàng)均被假定為包括多個(gè)子作業(yè)。為便于介紹,假定所述子作業(yè)被順序地執(zhí)行。
至少一些子作業(yè)可以被搶占,并且可以搶占的這些子作業(yè)之間的邊界提供搶占點(diǎn)并且在表1中概括
表1還參照?qǐng)D3,對(duì)于每個(gè)任務(wù)來(lái)說(shuō),掛起數(shù)據(jù)101包括涉及搶占點(diǎn)Pi,j301的信息,諸如在搶占點(diǎn)需要的存儲(chǔ)器最大量MPi,j302,以及涉及連續(xù)搶占點(diǎn)之間的間隔Ii,j303的信息,諸如在搶占點(diǎn)內(nèi)部間隔中需要的最壞情況的存儲(chǔ)器數(shù)量MIi,j304(i表示任務(wù)τi而j表示搶占點(diǎn))。
更具體地說(shuō),掛起數(shù)據(jù)101包括規(guī)定如下內(nèi)容的數(shù)據(jù)1.任務(wù)τi(Pi,j)的搶占點(diǎn)j 101a;2.在該任務(wù)的搶占點(diǎn)j處的任務(wù)τi的最大存儲(chǔ)器需求MPi,j,其中1≤j≤m(i)101b;3.對(duì)應(yīng)于任務(wù)τi的子作業(yè)的連續(xù)搶占點(diǎn)j和(j+1)之間的間隔Ii,j,其中1≤j≤m(i)101c;以及4.在該任務(wù)的間隔j中任務(wù)τi的最大(即最壞情況下的)存儲(chǔ)器需求Mi,j,其中1≤j≤m(i)101d。
表2舉例說(shuō)明了用于當(dāng)前例子的掛起數(shù)據(jù)101(每一任務(wù)均具有其自己的接口,因此在當(dāng)前例子中,對(duì)應(yīng)于第一任務(wù)τ1的掛起數(shù)據(jù)101包括表2第一行中的數(shù)據(jù),對(duì)應(yīng)于第二任務(wù)τ2的掛起數(shù)據(jù)101包括表2的第二行,等等。)
表2
假定機(jī)頂盒200具有1.5兆字節(jié)的存儲(chǔ)器。在正常情況下,或者基于非存儲(chǔ)器的搶占條件下,此機(jī)頂盒200作用如下。
現(xiàn)在參考圖4A,可期待處理器401依照某種時(shí)間分片或基于優(yōu)先級(jí)的搶占來(lái)調(diào)度任務(wù),意味著所有3個(gè)任務(wù)并發(fā)運(yùn)行,即同時(shí)有效。因此,可能的是,每一任務(wù)可以被調(diào)度以便同時(shí)運(yùn)行其最存儲(chǔ)器集中的子作業(yè)。這三個(gè)任務(wù)的最壞情況下的存儲(chǔ)器需求MP由如下公式給出MP=Σi=13maxj=1m(i)MIi,j]]>(公式1)因此,對(duì)于任務(wù)τ1、τ2和τ3來(lái)說(shuō),MP是τ1的最大存儲(chǔ)器需求(MI1,1)加上任務(wù)τ2的最大存儲(chǔ)器需求(MI2,2)加上任務(wù)τ3的最大存儲(chǔ)器需求(MI3,2)。這些最大需求由表2中粗體的條目表明MP=0.6+0.8+0.3=1.7兆字節(jié)。
這超出了機(jī)頂盒200可以利用的存儲(chǔ)器0.2兆字節(jié),因此,在缺少任何預(yù)防措施的情況下并且如果這些子作業(yè)將會(huì)同時(shí)被處理,那么機(jī)頂盒200將崩潰。
現(xiàn)在參考圖5,假定任務(wù)是依照調(diào)度算法來(lái)調(diào)度,并且在其已經(jīng)創(chuàng)建之后為每一任務(wù)τi提供一個(gè)數(shù)據(jù)結(jié)構(gòu),并且資源專用的原語(yǔ)匹配對(duì)沒(méi)有跨越子作業(yè)邊界。還假定調(diào)度器501采用常規(guī)的基于優(yōu)先級(jí)的搶占調(diào)度算法,其基本上確保在時(shí)間的任一點(diǎn),當(dāng)前運(yùn)行的任務(wù)在系統(tǒng)中所有運(yùn)行就緒的任務(wù)中是具有最高優(yōu)先級(jí)的一個(gè)。正如本領(lǐng)域已知的那樣,調(diào)度行為可以通過(guò)有選擇地允許和禁止對(duì)正在運(yùn)行或運(yùn)行就緒的任務(wù)的搶占來(lái)修改。
任務(wù)管理器503接收對(duì)應(yīng)于最近接收到的任務(wù)的掛起數(shù)據(jù)101,并且評(píng)估是否需要搶占,并且如果需要,把此最近接收到的信息傳遞到請(qǐng)求搶占的調(diào)度器501。假定任務(wù)的細(xì)節(jié)如表2中所定義的,并且假定當(dāng)前正在處理任務(wù)τ1(并且只有τ1)并且調(diào)度器最初在沒(méi)有基于存儲(chǔ)器限制的模式中操作。
現(xiàn)在假定任務(wù)τ2是由任務(wù)管理器503接收到的,所述任務(wù)管理器503從其接口Int2100讀取掛起數(shù)據(jù)101,并且識(shí)別調(diào)度器501是否依照基于存儲(chǔ)器的搶占來(lái)工作。在此例子中,由于不是,所以任務(wù)管理器503評(píng)估調(diào)度器501是否需要改變?yōu)榛诖鎯?chǔ)器的搶占。因此,這涉及任務(wù)管理器503從掛起數(shù)據(jù)存儲(chǔ)器505中檢索對(duì)應(yīng)于所有當(dāng)前執(zhí)行任務(wù)(在此例子中,是任務(wù)τ1)的最壞情況的掛起數(shù)據(jù),評(píng)估公式1并將評(píng)估出的最壞情況的存儲(chǔ)器需求與可利用的存儲(chǔ)器資源進(jìn)行比較。繼續(xù)利用表2中引入的例子,對(duì)于τ1和τ2來(lái)說(shuō),公式1是 其小于可用存儲(chǔ)器,因此不必將調(diào)度器501的操作模式改變?yōu)榛诖鎯?chǔ)器的搶占(即不需要基于存儲(chǔ)器使用來(lái)限制調(diào)度器)。由此,如果調(diào)度器501將在任務(wù)τ1和任務(wù)τ2之間切換,例如,為了滿足任務(wù)τ2的執(zhí)行時(shí)間限制,意味著兩個(gè)任務(wù)同時(shí)有效地駐留在存儲(chǔ)器中,那么處理器決不訪問(wèn)比可利用的更多的存儲(chǔ)器。
接下來(lái),并且在完成任務(wù)τ1和τ2以前,接收另一任務(wù)τ3。任務(wù)管理器503從與任務(wù)τ3相關(guān)聯(lián)的接口Int3讀取掛起數(shù)據(jù)101,評(píng)估調(diào)度器501是否需要改變?yōu)榛诖鎯?chǔ)器的搶占。假定調(diào)度器501正在多任務(wù)操作任務(wù)τ1和τ2,那么所有三個(gè)任務(wù)的最壞情況的存儲(chǔ)器需求現(xiàn)在是 這超出了可用存儲(chǔ)器,因此任務(wù)管理器503請(qǐng)求并且從掛起數(shù)據(jù)存儲(chǔ)器505中檢索所有三個(gè)任務(wù)的存儲(chǔ)器使用數(shù)據(jù)MPi,j,MIi,j101b、101d,并且基于此檢索的存儲(chǔ)器使用數(shù)據(jù)來(lái)評(píng)估是否存在足夠的存儲(chǔ)器資源來(lái)執(zhí)行所有三個(gè)任務(wù)。這可以通過(guò)評(píng)估如下公式來(lái)確定MD=Σi=13maxj=1m(i)MPi,j+maxi=13(maxj=1m(i)MIi,j-maxj=1m(i)MPi,j)]]>=0.2+0.2+0.1+max(0.6-0.2,0.8-0.2,0.3-0.1)]]> (公式2)此存儲(chǔ)器需求低于可用存儲(chǔ)器,意味著所提供的任務(wù)基于其存儲(chǔ)器使用被搶占,可以并發(fā)執(zhí)行所有三個(gè)任務(wù)。
因此,任務(wù)管理器503通過(guò)命令任務(wù)在其指定的搶占點(diǎn)MPi,j向調(diào)度器501傳輸解調(diào)度指令來(lái)啟動(dòng)“基于存儲(chǔ)器的搶占模式”。在此模式中,依照在任一時(shí)間點(diǎn),每次最多一個(gè)任務(wù)可處于不同于其搶占點(diǎn)之一的點(diǎn)的限制,調(diào)度器501允許每一任務(wù)非搶占地從一個(gè)搶占點(diǎn)到下一搶占點(diǎn)運(yùn)行。假定最近到達(dá)的任務(wù)在搶占點(diǎn)開(kāi)始,那么調(diào)度器501確保此條件對(duì)當(dāng)前運(yùn)行的任務(wù)繼續(xù),由此限制只有一個(gè)任務(wù)將處于搶占點(diǎn)。
由此,在一個(gè)已知的基于存儲(chǔ)器的搶占模式中,只允許調(diào)度器501在其存儲(chǔ)器搶占點(diǎn)搶占任務(wù)(即響應(yīng)于來(lái)自處于其基于存儲(chǔ)器的搶占點(diǎn)的任務(wù)的解調(diào)度請(qǐng)求)。
當(dāng)任務(wù)之一已經(jīng)終止時(shí),正在終止的任務(wù)通知任務(wù)管理器503它正在終止,引起任務(wù)管理器503評(píng)估公式1并且如果最壞情況的存儲(chǔ)器使用(考慮此任務(wù)的移除)低于調(diào)度器501可用的存儲(chǔ)器使用,那么任務(wù)管理器503可以取消基于存儲(chǔ)器的搶占,這樣做有益于使系統(tǒng)能夠?qū)ν獠渴录涌焖俚刈鞒龇磻?yīng)(因?yàn)樘幚砥髟谧幼鳂I(yè)持續(xù)時(shí)間內(nèi)不再“阻塞”)。總體上講,任務(wù)的終止通常由其環(huán)境引起,例如用戶切換頻道或者在采用了編碼的數(shù)據(jù)流的變化(要求另一種解碼),意味著任務(wù)管理器503和/或調(diào)度器501應(yīng)該意識(shí)到任務(wù)的終止并且可能甚至命令任務(wù)終止。
應(yīng)該注意的是,當(dāng)啟動(dòng)時(shí),基于存儲(chǔ)器的搶占的限制是必須的。
已經(jīng)作為軟件任務(wù)描述了任務(wù),但是任務(wù)還可以用硬件來(lái)實(shí)現(xiàn)。通常,硬件設(shè)備(如硬件任務(wù)作用)由軟件任務(wù)控制,其分配硬件設(shè)備需要的(最壞情況的)存儲(chǔ)器,并且隨后命令硬件任務(wù)運(yùn)行。當(dāng)硬件任務(wù)完成時(shí),它通知軟件任務(wù),其隨后取消分配該存儲(chǔ)器。因此,通過(guò)具有控制軟件任務(wù),硬件任務(wù)可以如上所述簡(jiǎn)單地得以處理。
此方法適用于單處理器系統(tǒng),并且沒(méi)有為多處理器系統(tǒng)進(jìn)行優(yōu)化,由此需要多處理器優(yōu)化。
本發(fā)明為多處理器系統(tǒng)提供了對(duì)上述基于存儲(chǔ)器的資源管理的單處理器方法的優(yōu)化。假定n個(gè)任務(wù)τi(1≤i≤n)的集合Γ和p個(gè)處理器πk(1≤k≤p)的集合P,其中n通常遠(yuǎn)大于p,并且對(duì)非限制模式假定固定優(yōu)先級(jí)的搶占調(diào)度(FPPS)方案,而對(duì)基于存儲(chǔ)器的搶占模式假定具有延遲搶占的固定優(yōu)先級(jí)調(diào)度(FPDP)方案。
根據(jù)任務(wù)對(duì)處理器分配,存在三個(gè)可選的優(yōu)選實(shí)施例
1.固定分配把每個(gè)任務(wù)τi分配給特定處理器πk,即任務(wù)τi將只在處理器πk上執(zhí)行。當(dāng)處理器是專用的,即每一處理器基本上各不相同時(shí),優(yōu)選此實(shí)施例。
2.可變分配每個(gè)任務(wù)τi可以在每個(gè)處理器πk上執(zhí)行。在運(yùn)行時(shí),所述調(diào)度器確定哪個(gè)處理器執(zhí)行哪個(gè)任務(wù)。任務(wù)在一個(gè)處理器上運(yùn)行時(shí)可被搶占,并且稍后在另一個(gè)上繼續(xù)。當(dāng)所有處理器均相同時(shí)優(yōu)選此實(shí)施例。
3.混合分配把每個(gè)任務(wù)τi分配給處理器的子集。當(dāng)可以把處理器集合劃分為子集時(shí),這是一種自然的方法,處于所述子集中的處理器相同。
從隨后的如附圖中舉例說(shuō)明的優(yōu)選實(shí)施例的詳細(xì)描述中,本發(fā)明的上述和其它特征和優(yōu)勢(shì)將顯而易見(jiàn),在所述附圖中,遍及各個(gè)視圖的參考字符指相同的部分。
圖1舉例說(shuō)明了依照本發(fā)明實(shí)施例的任務(wù)接口組件的示意圖;圖2舉例說(shuō)明了本發(fā)明實(shí)施例可在其中操作的數(shù)字電視系統(tǒng)的一個(gè)例子的示意圖;圖3舉例說(shuō)明了對(duì)于單處理器而言,圖1所示例的任務(wù)接口組件之間的關(guān)系的示意圖。
圖4A舉例說(shuō)明了單處理器系統(tǒng)的構(gòu)成圖2的機(jī)頂盒的組件。
圖4B舉例說(shuō)明了多處理器系統(tǒng)的構(gòu)成圖2的機(jī)頂盒的組件。
圖5舉例說(shuō)明了圖2和圖4A所示例的機(jī)頂盒的處理器組件。
具體實(shí)施例方式
本領(lǐng)域普通技術(shù)人員應(yīng)該理解的是,出于舉例說(shuō)明、而非限制性的目的而提供隨后的描述。技術(shù)人員應(yīng)該理解,在本發(fā)明的精神和所附權(quán)利要求書(shū)的范圍內(nèi)存在多種變化。從當(dāng)前描述中省略了已知功能和操作的不必要的細(xì)節(jié),以免模糊本發(fā)明。
諸如數(shù)字電視機(jī)、數(shù)字改善模擬電視機(jī)和機(jī)頂盒(STB)之類的高容量電子(HVE)消費(fèi)系統(tǒng),在保持有成本效益和穩(wěn)定的同時(shí)必須提供實(shí)時(shí)服務(wù)。消費(fèi)品因其屬性受到嚴(yán)重的資源限制。因此,必須非常有效地使用可用資源,同時(shí)保持HVE消費(fèi)系統(tǒng)的諸如穩(wěn)定性的特有質(zhì)量,并且滿足嚴(yán)格的定時(shí)要求。提到穩(wěn)定性,沒(méi)有人會(huì)期待例如電視機(jī)以“請(qǐng)重新啟動(dòng)系統(tǒng)”的消息發(fā)生故障。
HVE消費(fèi)系統(tǒng)中的介質(zhì)處理的重要部分是在板上軟件中實(shí)現(xiàn)的,其用于處理多個(gè)并發(fā)的數(shù)據(jù)流,并且在多任務(wù)處理環(huán)境下,特別必須非常有效地管理系統(tǒng)資源,諸如主存儲(chǔ)器。將機(jī)頂盒作為需要實(shí)時(shí)資源管理的HVE消費(fèi)系統(tǒng)的一個(gè)例子。通常,如圖2中所示那樣,機(jī)頂盒200為電視201接收來(lái)自內(nèi)容提供商203(服務(wù)器或者電纜)以及來(lái)自用戶接口205的輸入。所述用戶接口205包括遙控接口,用于接收來(lái)自用戶控制的遠(yuǎn)程設(shè)備202的信號(hào),所述遠(yuǎn)程設(shè)備例如是手持紅外遙控發(fā)射機(jī)。機(jī)頂盒200接收來(lái)自天線和有線電視出口至少一個(gè)的至少一個(gè)數(shù)據(jù)流,并且執(zhí)行處理數(shù)據(jù)流或者向電視201轉(zhuǎn)送數(shù)據(jù)流的至少一個(gè)。用戶察看顯示在電視201上的該至少一個(gè)數(shù)據(jù)流,并且經(jīng)由用戶接口205來(lái)基于正顯示的內(nèi)容作出選擇。機(jī)頂盒200處理用戶選擇輸入,并且基于此輸入,可以把所述用戶輸入以及其它識(shí)別機(jī)頂盒200及其能力的信息傳輸給內(nèi)容提供商203。
圖4B舉例說(shuō)明了典型機(jī)頂盒200的示例性系統(tǒng)450的簡(jiǎn)化框圖,所述機(jī)頂盒200可包括由控制和分配邏輯模塊來(lái)管理的多個(gè)處理器460.1-460.3,所述控制和分配邏輯模塊給處理器460.1-460.3分配任務(wù)并且控制機(jī)頂盒200的總體操作。所述控制和分配邏輯模塊451包括用于接收來(lái)自網(wǎng)絡(luò)407和來(lái)自存儲(chǔ)器406的數(shù)據(jù)的數(shù)據(jù)接收器452、用于評(píng)估存儲(chǔ)器使用的評(píng)估器453、用于給處理器分配任務(wù)的分配器454、用于選擇任務(wù)以啟動(dòng)和終止其執(zhí)行的選擇器455以及用于調(diào)度任務(wù)以便執(zhí)行和解調(diào)度正在執(zhí)行的任務(wù)的調(diào)度器501。所述控制和分配邏輯模塊451被耦合至電視調(diào)諧器403、存儲(chǔ)器405、長(zhǎng)期存儲(chǔ)設(shè)備406、通信接口407和遠(yuǎn)程接口409。所述電視調(diào)諧器403經(jīng)由傳輸線路411接收電視信號(hào),并且這些信號(hào)可能來(lái)源于天線(未示出)和有線電視出口(未示出)的至少一個(gè)。所述控制和分配邏輯模塊451管理用戶接口205,所述用戶接口205經(jīng)由線路413給電視201提供數(shù)據(jù)、音頻和視頻輸出。所述遠(yuǎn)程接口409經(jīng)由無(wú)線連接415接收來(lái)自遙控器信號(hào)。通信接口407在機(jī)頂盒200和諸如Web服務(wù)器的至少一個(gè)遠(yuǎn)程處理系統(tǒng)之間經(jīng)由數(shù)據(jù)通路417對(duì)接。所述通信接口417是電話調(diào)制解調(diào)器、綜合業(yè)務(wù)數(shù)字網(wǎng)絡(luò)(ISDN)適配器、數(shù)字用戶線路(xDSL)、有線電視調(diào)制解調(diào)器和任何其它適合的數(shù)據(jù)通信設(shè)備之一。圖4B的示例性系統(tǒng)450僅僅是用于敘述的目的。雖然所述描述會(huì)提及在描述特殊機(jī)頂盒200中通常使用的術(shù)語(yǔ),但是所述描述和概念同樣適用于其它控制處理器,包括具有與圖4B所示不同的體系結(jié)構(gòu)的系統(tǒng)。
在優(yōu)選的實(shí)施例中,所述控制和分配邏輯模塊451被配置為給共享存儲(chǔ)器405的多個(gè)多處理器460.1-460.3分配多個(gè)實(shí)時(shí)任務(wù),所述實(shí)時(shí)任務(wù)涉及對(duì)機(jī)頂盒200的控制。這些實(shí)時(shí)任務(wù)包括改變頻道、選擇顯示在用戶接口205上的菜單選項(xiàng)、解碼輸入數(shù)據(jù)流、使用長(zhǎng)期存儲(chǔ)設(shè)備406來(lái)記錄輸入數(shù)據(jù)流和重放它們等等。機(jī)頂盒的操作基于機(jī)頂盒100的特性、經(jīng)由線路411的輸入視頻信號(hào)、經(jīng)由用戶接口205的用戶輸入以及任何其它輔助輸入,由這些實(shí)時(shí)控制任務(wù)來(lái)確定。
在優(yōu)選的實(shí)施例中,多處理器共享存儲(chǔ)器405。這些多處理器460.1-460.3均可以是CPU或者協(xié)處理器,或者是其它處理設(shè)備。在優(yōu)選的實(shí)施例中,同一任務(wù)決不會(huì)同時(shí)由兩個(gè)(或更多)處理器來(lái)執(zhí)行。在優(yōu)選的實(shí)施例中,控制和分配邏輯模塊包括用于處理器460.1-460.3的整個(gè)集合的單個(gè)任務(wù)管理器。這是一種集中式方法,僅用于論述目的。本發(fā)明不受集中式方法的限制,本領(lǐng)域內(nèi)有經(jīng)驗(yàn)的人員可很容易想到分散版本。
每當(dāng)把每個(gè)任務(wù)τ分配給特殊處理器π時(shí),任務(wù)集合??杀粍澐譃閜個(gè)不相交的集合Γ1-Γp,其中把子集Γk分配給處理器πk。在FPPS下,當(dāng)由處理器πk執(zhí)行時(shí),任務(wù)子集Γk所需的存儲(chǔ)器最大量由(公式1s’)給出,其是(公式1)的變型。(公式1s’)中的項(xiàng)nk表示分配給處理器πk的任務(wù)數(shù)(即子集Γk的基數(shù)),而變量i被假定為涉及Γk的任務(wù)。
MkP=Σi=1nkmaxj=1m(i)MIi,j]]>(公式1s′)任務(wù)的整個(gè)集合Γ的總存儲(chǔ)器需求MP是通過(guò)添加為每個(gè)任務(wù)子集得出的結(jié)果而確定的;參見(jiàn)(公式1mfix)。
MP=Σk=1pMkP]]>(公式1mfix)當(dāng)MP沒(méi)有超過(guò)可用存儲(chǔ)器Msys時(shí),不必限制任何處理器上的任務(wù)的調(diào)度。當(dāng)MP超出Msys時(shí),我們可限制一個(gè)或多個(gè)處理器上的一個(gè)或多個(gè)任務(wù)的調(diào)度。限制單個(gè)處理器上所有任務(wù)的調(diào)度的效果可以使用(公式2s′)來(lái)確定,所述(公式2s′)是(公式2s)的變型。
MkD=Σi=1nkmaxj=1m(i)MPi,j+max1≤i≤nk′(maxj=1m(i)MIi,j-maxj=1m(i)MPi,j)]]>(公式2s′)限制所有處理器上的所有任務(wù)的調(diào)度的效果可以通過(guò)(公式2mfix)來(lái)確定,其中總存儲(chǔ)器需求MD是每一集合Γk的存儲(chǔ)器需求MkD的和。
MD=Σk=1pMkD]]>(公式2mfix)顯而易見(jiàn),還存在很多中間可選實(shí)施例,諸如限制僅僅一個(gè)處理器子集上的所有任務(wù),并且只限制一個(gè)處理器子集上的一個(gè)任務(wù)子集。
作為選擇,每個(gè)任務(wù)可在每個(gè)處理器460.1-460.3上執(zhí)行,并且任務(wù)的調(diào)度由控制和分配邏輯模塊451執(zhí)行。對(duì)非限制模式最大存儲(chǔ)器需求MP保持相同,即可以使用(公式1s)來(lái)確定。
MP=Σi=1nmaxj=1m(i)MIi,j]]>(公式1s)限制的模式(即所有任務(wù)只在其搶占點(diǎn)搶占)要求(公式2s)的變型。
MD=Σi=1nmaxj=1m(i)MPi,j+maxi=13(maxj=1m(i)MIi,j-maxj=1m(i)MPi,j)]]>=0.2+0.2+0.1+max(0.6-0.2,0.8-0.2,0.3-0.1)]]> (公式2s)因?yàn)樵趐個(gè)處理器上現(xiàn)在可并行運(yùn)行p個(gè)任務(wù)??偞鎯?chǔ)器需求MD現(xiàn)在由(公式2mvar)給出。
MD=Σi=1nmaxj=1m(i)MPi,j+max1≤i1<i2<...<ip≤nΣk=1p(maxj=1m(ik)MIik,j-maxj=1m(ik)MPik,j)]]>(公式2mvar)注意,(公式2mvar)假定n≥p,并且(公式2mvar)只在n≥p時(shí)才有效。對(duì)于n<p的特殊情況來(lái)說(shuō),所述公式可以簡(jiǎn)化為MD=Σi=1nmaxj=1m(i)MIi,j]]>顯而易見(jiàn),還存在許多中間實(shí)施例,諸如只限制任務(wù)的一個(gè)子集。
作為一個(gè)例子,考慮兩個(gè)處理器(即p=2)和三個(gè)任務(wù)(即n=3)的情況。假設(shè)所述任務(wù)具有相同的特性(即存儲(chǔ)器需求),如上面表1和2及其所附討論所述。對(duì)非限制模式的最大存儲(chǔ)器需求MP保持相同,即可以使用(公式1)來(lái)確定,由此超出可用存儲(chǔ)器Msys。使用(公式2mvar),基于存儲(chǔ)器搶占的最大存儲(chǔ)器需求MD是MD=Σi=13maxj=1m(i)MPi,j+max1≤i1<i2≤3Σk=12(maxj=1m(ik)MIik,j-maxj=1m(ik)MPik,j)]]>=0.2+0.2+0.1+max(0.4+0.6,0.4+0.2,0.6+0.2)]]> 存儲(chǔ)器需求低于可用存儲(chǔ)器,意味著如果任務(wù)只在其搶占點(diǎn)搶占,那么可以并發(fā)執(zhí)行所有三個(gè)任務(wù)。
假定存在s個(gè)成對(duì)的不相交處理器子集P1,...,Ps。讓每個(gè)任務(wù)分配給處理器的特定子集P1,其中1≤1≤s。任務(wù)集合因此可以被分成s個(gè)成對(duì)的不相交的任務(wù)子集Γ1,...,Γs。為便于介紹,子集Γ1中的任務(wù)由τi表示,其中1≤i≤n1,即每一任務(wù)子集的任務(wù)有限。類似于上述的可變分配,對(duì)非限制模式的子集P1的最大存儲(chǔ)器需求M1P可以使用(公式1s″)來(lái)確定。
由處理器πk的子集P1執(zhí)行的非限制模式中的任務(wù)子集Γ1所需的存儲(chǔ)器最大量由(公式1s″)給出,其是(公式1)的變型。
M1P=Σi=1nimaxj=1m(i)MIi,j]]>(公式1s″)
注意,(公式1s″)相似于,但不同于(公式1s′)。在后者公式中,k涉及一個(gè)子集中的處理器,而在前者公式中,1涉及處理器的子集。所有s個(gè)處理器子集的總存儲(chǔ)器需求MP可以通過(guò)對(duì)各個(gè)子集的需求求和得出MP=Σl=1sMlP]]>(公式1mmix)當(dāng)MP超過(guò)Msys時(shí),限制在其相關(guān)聯(lián)的處理器子集上執(zhí)行的一個(gè)或多個(gè)任務(wù)子集的一個(gè)或多個(gè)任務(wù)的調(diào)度。限制p1個(gè)處理器的單個(gè)子集P1上的Γ1的所有n1個(gè)任務(wù)的調(diào)度的效果可以使用(公式2mmix)來(lái)確定,其與(公式2mvar)相似M1D=]]>Σi=1nimaxj=1m(i)MPi,j+max1≤i1<i2<..<ip≤niΣk=1pi(maxj=1m(ik)MIi,j-maxj=1m(ik)MPik,j)]]>(公式2mmix)類似于(公式2mvar),(公式2mmix)只在n1≥p1時(shí)有效。
限制每個(gè)處理器子集上的每個(gè)任務(wù)子集的所有任務(wù)的調(diào)度的效果可以由(公式2mmix′)來(lái)確定,其中總存儲(chǔ)器需求MD是處理器P1的每一子集的存儲(chǔ)器需求M1D的和。
MD=Σl=1sMlD]]>(公式2mmix′)就上述的固定分配和可變分配情況而言,對(duì)于混合分配來(lái)說(shuō),在非限制模式和基于存儲(chǔ)器搶占模式之間存在許多中間解,在所述基于存儲(chǔ)器搶占模式中,所有任務(wù)只在其搶占點(diǎn)搶占。
雖然已經(jīng)舉例說(shuō)明并且描述了本發(fā)明的優(yōu)選實(shí)施例,但是本領(lǐng)域技術(shù)人員將會(huì)理解,可作出各種變化和修改,并且等效手段可代替其元件,而不脫離本發(fā)明的真實(shí)范圍。另外,可作出許多修改以便使本發(fā)明的教導(dǎo)適用于特殊的情況,而不脫離其中心范圍。因此,意味著本發(fā)明不限制為實(shí)現(xiàn)本發(fā)明而構(gòu)想的最佳模式所公開(kāi)的特殊實(shí)施例,相反,本發(fā)明包括所有落入所附權(quán)利要求的范圍內(nèi)的實(shí)施例。
權(quán)利要求
1.一種在具有多個(gè)處理器的數(shù)據(jù)處理系統(tǒng)中調(diào)度多個(gè)任務(wù)的方法,包括如下步驟為多個(gè)任務(wù)的每一個(gè)提供掛起數(shù)據(jù),所述掛起數(shù)據(jù)基于由其使用的存儲(chǔ)器來(lái)規(guī)定任務(wù)的掛起;把所述多個(gè)任務(wù)中的每一個(gè)分配給所述多個(gè)處理器中的一個(gè)處理器;并且每一處理器執(zhí)行如下步驟(i)處理分配給所述處理器的其中一個(gè)任務(wù),(ii)監(jiān)控表示由所述任務(wù)使用的存儲(chǔ)器的輸入,其中所述任務(wù)與和所述任務(wù)相關(guān)聯(lián)的掛起數(shù)據(jù)匹配,(iii)根據(jù)所述監(jiān)控的輸入來(lái)掛起所述任務(wù),并且(iv)處理分配給所述處理器的一個(gè)不同的任務(wù)。
2.如權(quán)利要求1所述的方法,其中把任務(wù)分配給處理器是根據(jù)如下內(nèi)容之一a.把每個(gè)任務(wù)分配給特定處理器的固定分配;b.把每個(gè)任務(wù)分配給每個(gè)處理器的可變分配;以及c.把每個(gè)任務(wù)分配給所述多個(gè)處理器的子集的混合分配。
3.如權(quán)利要求2所述的方法,其中所述輸入包括表示掛起請(qǐng)求的數(shù)據(jù)。
4.如權(quán)利要求3所述的方法,還包括如下步驟接收用于識(shí)別與多個(gè)任務(wù)相關(guān)聯(lián)的最大存儲(chǔ)器使用的第一數(shù)據(jù);接收用于識(shí)別可用于處理多個(gè)任務(wù)的存儲(chǔ)器的第二數(shù)據(jù);根據(jù)第一和第二數(shù)據(jù)來(lái)識(shí)別是否存在足夠的存儲(chǔ)器可用來(lái)處理這些任務(wù);并且其中,所述監(jiān)控和掛起步驟只響應(yīng)于識(shí)別出存儲(chǔ)器不足時(shí)才執(zhí)行。
5.如權(quán)利要求4所述的方法,還包括如下步驟監(jiān)控任務(wù)的終止;并且響應(yīng)于任務(wù)終止,重復(fù)所述響應(yīng)于任務(wù)終止而識(shí)別存儲(chǔ)器可用性的步驟。
6.如權(quán)利要求5所述的方法,其中,響應(yīng)于識(shí)別出有足夠的存儲(chǔ)器來(lái)執(zhí)行剩余任務(wù),所述監(jiān)控步驟可認(rèn)為是不必要的。
7.如權(quán)利要求6所述的方法,還包括如下步驟接收用于識(shí)別與多個(gè)任務(wù)相關(guān)聯(lián)的最大存儲(chǔ)器使用的第一數(shù)據(jù);接收用于識(shí)別可用于處理多個(gè)任務(wù)的存儲(chǔ)器的第二數(shù)據(jù);根據(jù)第一和第二數(shù)據(jù)來(lái)識(shí)別是否存在足夠的存儲(chǔ)器可用來(lái)處理這些任務(wù);并且其中,所述監(jiān)控和掛起步驟只響應(yīng)于識(shí)別出存儲(chǔ)器不足時(shí)才執(zhí)行。
8.如權(quán)利要求7所述的方法,還包括如下步驟監(jiān)控任務(wù)的終止;并且響應(yīng)于任務(wù)終止,重復(fù)所述響應(yīng)于任務(wù)終止而識(shí)別存儲(chǔ)器可用性的步驟。
9.如權(quán)利要求8所述的方法,其中,響應(yīng)于識(shí)別出有足夠的存儲(chǔ)器來(lái)執(zhí)行剩余任務(wù),所述監(jiān)控步驟可認(rèn)為是不必要的。
10.如權(quán)利要求2所述的方法,還包括如下步驟接收用于識(shí)別與多個(gè)任務(wù)相關(guān)聯(lián)的最大存儲(chǔ)器使用的第一數(shù)據(jù);接收用于識(shí)別可用于處理多個(gè)任務(wù)的存儲(chǔ)器的第二數(shù)據(jù);根據(jù)第一和第二數(shù)據(jù)來(lái)識(shí)別是否存在足夠的存儲(chǔ)器可用來(lái)處理這些任務(wù);并且其中,所述監(jiān)控和掛起步驟只響應(yīng)于識(shí)別出存儲(chǔ)器不足時(shí)才執(zhí)行。
11.如權(quán)利要求10所述的方法,還包括如下步驟監(jiān)控任務(wù)的終止;并且響應(yīng)于任務(wù)終止,重復(fù)所述響應(yīng)于任務(wù)終止而識(shí)別存儲(chǔ)器可用性的步驟。
12.如權(quán)利要求11所述的方法,其中,響應(yīng)于識(shí)別出有足夠的存儲(chǔ)器來(lái)執(zhí)行剩余任務(wù),所述監(jiān)控步驟可認(rèn)為是不必要的。
13.一種在具有多個(gè)處理器的數(shù)據(jù)處理系統(tǒng)中調(diào)度多個(gè)任務(wù)的方法,包括如下步驟為多個(gè)任務(wù)的每一個(gè)提供掛起數(shù)據(jù),所述掛起數(shù)據(jù)基于由其使用的存儲(chǔ)器來(lái)規(guī)定任務(wù)的掛起;基于如下內(nèi)容之一,把所述多個(gè)任務(wù)中的每一個(gè)分配給所述多個(gè)處理器的一個(gè)處理器,所述內(nèi)容是-把每個(gè)任務(wù)分配給特定處理器的固定分配,-把每個(gè)任務(wù)分配給每個(gè)處理器的可變分配,以及-把每個(gè)任務(wù)分配給所述多個(gè)處理器的子集的混合分配;并且每一處理器執(zhí)行如下步驟(i)處理分配給所述處理器的其中一個(gè)任務(wù),(ii)監(jiān)控表示由所述任務(wù)使用的存儲(chǔ)器的輸入,其中所述任務(wù)與和所述任務(wù)相關(guān)聯(lián)的掛起數(shù)據(jù)匹配,(iii)根據(jù)所述監(jiān)控的輸入來(lái)掛起所述任務(wù),并且(iv)處理分配給所述處理器的一個(gè)不同的任務(wù)。
14.一種在具有多個(gè)處理器的數(shù)據(jù)處理系統(tǒng)中使用的調(diào)度器,所述數(shù)據(jù)處理系統(tǒng)被設(shè)置為在所述多個(gè)處理器上執(zhí)行多個(gè)任務(wù),并且有權(quán)訪問(wèn)執(zhí)行任務(wù)中使用的規(guī)定量的存儲(chǔ)器,所述調(diào)度器包括數(shù)據(jù)接收器,被設(shè)置為接收用于識(shí)別與任務(wù)相關(guān)聯(lián)的最大存儲(chǔ)器使用的數(shù)據(jù);評(píng)估器,被設(shè)置為根據(jù)所接收的數(shù)據(jù)來(lái)識(shí)別是否存在足夠的存儲(chǔ)器來(lái)執(zhí)行這些任務(wù);分配器,被設(shè)置為基于如下內(nèi)容之一,將所述多個(gè)任務(wù)的每一個(gè)分配給所述多個(gè)處理器的一個(gè)處理器,所述內(nèi)容是a.把每個(gè)任務(wù)分配給特定處理器的固定分配,b.把每個(gè)任務(wù)分配給每個(gè)處理器的可變分配,以及c.把每個(gè)任務(wù)分配給所述多個(gè)處理器的子集的混合分配;選擇器,被設(shè)置為在執(zhí)行任務(wù)期間選擇至少一個(gè)任務(wù)以便掛起,所述掛起與所述任務(wù)規(guī)定的存儲(chǔ)器使用相一致;和調(diào)度器501,被設(shè)置為啟動(dòng)所述分配的任務(wù)的執(zhí)行并且掛起所述選擇的任務(wù),其中,響應(yīng)于所述評(píng)估器識(shí)別出不存在足夠的存儲(chǔ)器來(lái)執(zhí)行多個(gè)任務(wù),所述選擇器根據(jù)任務(wù)所規(guī)定的存儲(chǔ)器使用以及數(shù)據(jù)處理系統(tǒng)可用的存儲(chǔ)器規(guī)定量來(lái)選擇至少一個(gè)任務(wù)以便掛起,并且所述調(diào)度器響應(yīng)于使用規(guī)定存儲(chǔ)器的任務(wù)來(lái)掛起至少一個(gè)所選任務(wù)的執(zhí)行。
15.如權(quán)利要求14所述的調(diào)度器,其中所述評(píng)估器被設(shè)置為監(jiān)控任務(wù)的終止,并且響應(yīng)于任務(wù)終止來(lái)識(shí)別是否存在足夠的存儲(chǔ)器來(lái)執(zhí)行剩余任務(wù)。
16.如權(quán)利要求15所述的調(diào)度器,其中,響應(yīng)于所述評(píng)估器識(shí)別出有足夠的存儲(chǔ)器來(lái)執(zhí)行剩余任務(wù),所述選擇器被設(shè)置為對(duì)所述選擇的至少一個(gè)任務(wù)取消選擇。
17.一種具有多個(gè)處理器的數(shù)據(jù)處理系統(tǒng),其中所述處理器被設(shè)置為執(zhí)行多個(gè)任務(wù),所述數(shù)據(jù)處理系統(tǒng)包括存儲(chǔ)器,被設(shè)置為在任務(wù)執(zhí)行期間保存指令和數(shù)據(jù);接收裝置,被設(shè)置為接收用于識(shí)別與任務(wù)相關(guān)聯(lián)的最大存儲(chǔ)器使用的數(shù)據(jù)和規(guī)定任務(wù)搶占能力的數(shù)據(jù);評(píng)估裝置,被設(shè)置為根據(jù)所接收的數(shù)據(jù)來(lái)識(shí)別是否存在足夠的存儲(chǔ)器來(lái)執(zhí)行這些任務(wù);分配器,被設(shè)置為基于如下內(nèi)容之一,把所述多個(gè)任務(wù)的每一個(gè)分配給所述多個(gè)處理器的一個(gè)處理器,所述內(nèi)容是-把每個(gè)任務(wù)分配給特定處理器的固定分配,-把每個(gè)任務(wù)分配給每個(gè)處理器的可變分配,以及-把每個(gè)任務(wù)分配給所述多個(gè)處理器的子集的混合分配;和調(diào)度器,被設(shè)置為根據(jù)從評(píng)估裝置接收的輸入來(lái)調(diào)度任務(wù)的執(zhí)行,其中,響應(yīng)于識(shí)別出不具有足夠的存儲(chǔ)器來(lái)執(zhí)行多個(gè)任務(wù),所述調(diào)度器被設(shè)置為根據(jù)所述任務(wù)的存儲(chǔ)器使用來(lái)掛起至少一個(gè)任務(wù)的執(zhí)行。
18.一種向具有多個(gè)處理器的數(shù)據(jù)處理系統(tǒng)傳輸數(shù)據(jù)的方法,所述方法包括基于如下內(nèi)容之一,把多個(gè)任務(wù)的每個(gè)任務(wù)分配給所述多個(gè)處理器的一個(gè)處理器,所述內(nèi)容是-把每個(gè)任務(wù)分配給特定處理器的固定分配,-把每個(gè)任務(wù)分配給每個(gè)處理器的可變分配,以及-把每個(gè)任務(wù)分配給所述多個(gè)處理器的子集的混合分配;傳輸數(shù)據(jù),以便在處理所述多個(gè)任務(wù)的每一任務(wù)中由數(shù)據(jù)處理系統(tǒng)使用;傳輸掛起數(shù)據(jù),所述掛起數(shù)據(jù)基于對(duì)其處理期間的存儲(chǔ)器使用來(lái)規(guī)定所述多個(gè)任務(wù)的每一任務(wù)的掛起;其中,所述數(shù)據(jù)處理系統(tǒng)被配置為執(zhí)行一過(guò)程,所述過(guò)程包括監(jiān)控表示每一任務(wù)的存儲(chǔ)器使用的輸入,其中所述每一任務(wù)與和所述任務(wù)相關(guān)聯(lián)的掛起數(shù)據(jù)相匹配;并且根據(jù)所監(jiān)控的輸入來(lái)掛起對(duì)所述每一任務(wù)的處理。
19.如權(quán)利要求18所述的方法,其中所述掛起數(shù)據(jù)包括識(shí)別與所述每一任務(wù)相關(guān)聯(lián)的最大存儲(chǔ)器使用的數(shù)據(jù)。
20.如權(quán)利要求18所述的方法,其中所述掛起數(shù)據(jù)基于所述每一任務(wù)的存儲(chǔ)器使用來(lái)識(shí)別至少一個(gè)點(diǎn),在該點(diǎn)處可以掛起每一任務(wù)的處理。
21.如權(quán)利要求20所述的方法,其中所述每一任務(wù)包括多個(gè)子作業(yè),并且識(shí)別至少一個(gè)點(diǎn)的所述數(shù)據(jù)對(duì)應(yīng)于每一個(gè)這種子作業(yè),在所述點(diǎn)可以掛起所述每一任務(wù)的處理。
22.如權(quán)利要求20所述的方法,其中所述掛起數(shù)據(jù)包括識(shí)別與所述每一任務(wù)相關(guān)聯(lián)的最大存儲(chǔ)器使用的數(shù)據(jù)。
23.如權(quán)利要求22所述的方法,其中所述每一任務(wù)包括多個(gè)子作業(yè),并且識(shí)別至少一個(gè)點(diǎn)的所述數(shù)據(jù)對(duì)應(yīng)于每一個(gè)這種子作業(yè),在所述點(diǎn)可以掛起所述每一任務(wù)的處理。
24.一種配置多個(gè)任務(wù)以供具有多個(gè)處理器的數(shù)據(jù)處理系統(tǒng)使用的方法,所述方法包括把掛起數(shù)據(jù)與所述任務(wù)相關(guān)聯(lián),所述掛起數(shù)據(jù)基于與之關(guān)聯(lián)的存儲(chǔ)器使用來(lái)規(guī)定任務(wù)的掛起,其中所述數(shù)據(jù)處理系統(tǒng)被設(shè)置為相對(duì)于在多個(gè)處理器上執(zhí)行的多個(gè)任務(wù)來(lái)執(zhí)行一過(guò)程,所述過(guò)程包括基于如下內(nèi)容之一,把所述多個(gè)任務(wù)的每個(gè)任務(wù)分配給所述多個(gè)處理器的一個(gè)處理器,所述內(nèi)容是-把每個(gè)任務(wù)分配給特定處理器的固定分配,-把每個(gè)任務(wù)分配給每個(gè)處理器的可變分配,以及-把每個(gè)任務(wù)分配給所述多個(gè)處理器的子集的混合分配;監(jiān)控表示所述任務(wù)的存儲(chǔ)器使用的輸入,其中所述任務(wù)與和所述任務(wù)相關(guān)聯(lián)的掛起數(shù)據(jù)相匹配;并且根據(jù)所述監(jiān)控的輸入來(lái)掛起對(duì)所述任務(wù)的處理。
25.一種計(jì)算機(jī)程序,包括被設(shè)置為令處理系統(tǒng)執(zhí)行如權(quán)利要求1所述方法的指令集。
26.一種計(jì)算機(jī)程序,包括被設(shè)置為令處理系統(tǒng)執(zhí)行如權(quán)利要求2所述方法的指令集。
全文摘要
提供了一種供多處理器數(shù)據(jù)處理系統(tǒng)的調(diào)度器基于主存儲(chǔ)器要求來(lái)選擇任務(wù)搶占點(diǎn)的方法和設(shè)備。根據(jù)對(duì)處理器的任務(wù)分配,存在三種可選的優(yōu)選實(shí)施例(1)固定分配把每個(gè)任務(wù)分配給特定處理器,即每一任務(wù)只在給定處理器上執(zhí)行。當(dāng)處理器是專用的,即每一處理器基本上各不相同時(shí),優(yōu)選此實(shí)施例;(2)可變分配每個(gè)任務(wù)可在每個(gè)處理器上執(zhí)行。在運(yùn)行時(shí),所述調(diào)度器確定哪個(gè)處理器執(zhí)行哪個(gè)任務(wù)。任務(wù)在一個(gè)處理器上運(yùn)行時(shí)可被搶占,并且稍后在另一個(gè)上繼續(xù)。當(dāng)所有處理器相同時(shí)優(yōu)選此實(shí)施例;以及(3)混合分配把每個(gè)任務(wù)分配給處理器的一個(gè)子集。當(dāng)可以把處理器集合劃分為子集時(shí),這是一種自然的方法,處于所述子集中的處理器相同。
文檔編號(hào)G06F9/48GK1910553SQ200580002081
公開(kāi)日2007年2月7日 申請(qǐng)日期2005年1月5日 優(yōu)先權(quán)日2004年1月8日
發(fā)明者R·J·布里爾, D·J·C·洛維特 申請(qǐng)人:皇家飛利浦電子股份有限公司