版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
歡迎訪問Freekaoyan論文站虛擬機(jī)和隨機(jī)調(diào)度技術(shù)簡化無線設(shè)計歡迎訪問Freekaoyan論文站
一種新的無線設(shè)計方法使設(shè)計師們能將多種基于分組的標(biāo)準(zhǔn)融合到資源受限的手機(jī)硬件中。
系統(tǒng)設(shè)計人員有時將用戶設(shè)備手機(jī)的傳統(tǒng)棧開發(fā)方法稱為“基于豎井”的開發(fā)方法,因為這種開發(fā)方法在軟件和硬件之間是極端縱向集成的,而且缺乏與其它棧的橫向集成(圖1)。在實現(xiàn)多種基于分組的標(biāo)準(zhǔn)時,這種豎井方法就不適用了,因為它假設(shè)協(xié)議棧開發(fā)人員“擁有”基本的硬件資源,因而能夠做出有關(guān)資源的假定,例如臨時的和永久的緩存器分配。這些可用性假設(shè)在多模式環(huán)境中是毫無意義的,因為在基本時序上相互可能“沖突”的棧都會競相獲得各種資源,例如存儲器。
豎井方法假設(shè)你可以在設(shè)計時配置最壞情況下的系統(tǒng)裝入,從而使你可以在系統(tǒng)設(shè)計期間,而不是在運(yùn)行時分配資源。但是,這種方法基本上不適用于多通道的基于分組的系統(tǒng),因為其峰值資源裝入與平均資源裝入相差很大。另外,豎井方法還假設(shè)一個設(shè)計小組對系統(tǒng)進(jìn)行編碼,并在開發(fā)期間,標(biāo)準(zhǔn)不會發(fā)生重大變化。對于現(xiàn)代通信系統(tǒng)來說,兩種假設(shè)都可能是錯誤的。
基于豎井方式的開發(fā)常常會使各種功能實現(xiàn)方法的資源使用率、調(diào)用格式以及行為等假設(shè)泄漏到設(shè)計的其它部分中,導(dǎo)致許多不良的設(shè)計習(xí)慣打著效率的旗號而付諸實現(xiàn)。例如,由于知道各種功能要花多少時間(以周期計)來執(zhí)行,又知道每種功能函數(shù)需要多大的臨時存儲器,系統(tǒng)設(shè)計人員就會常常編寫出靜態(tài)的臨時存儲器調(diào)度程序,從而使得時間上不重疊的多個例行程序使用一個公共緩存器,由此避免代價可能很高的對malloc()和free()的不確定調(diào)用。但是,這樣的設(shè)計往往是脆弱的。如果你要重新實現(xiàn)任何引擎,造成資源分布特性、時序兩者之一或同時變更;如果基本硬件也要改變;更糟的是,如果某個棧與另一個棧一起共享基本資源(多模式問題),則從零開始的重新設(shè)計就不可避免了。圖1傳統(tǒng)豎井方式開發(fā)采用縱向?qū)崿F(xiàn)方法,缺乏與其它棧的橫向集成。替代方法
與任何極為復(fù)雜的設(shè)計問題一樣,這一問題的最佳解決方法是將問題劃分為可以自主處理的不太復(fù)雜的塊。這種替代方法的基本概念模型在本文中稱為虛擬機(jī)方法,它假設(shè)一個通信棧的第一層被分解為執(zhí)行件、虛擬機(jī)(運(yùn)行期內(nèi)核)和引擎(圖2)。圖2一種替代的開發(fā)方法將第一層軟件體系結(jié)構(gòu)建立在虛擬機(jī)的基礎(chǔ)上。對運(yùn)行中的第一層軟件的分析表明:該軟件把80~90%的執(zhí)行時間用于與無線設(shè)備相關(guān)的計算密集的信號處理變換。這些資源消耗大的功能包括傅里葉變換、矢量乘法、FIR濾波器和采樣抽取器。實際上,這些變換在不同的無線設(shè)備中表現(xiàn)出高度的共通性。這些資源消耗大、基本與應(yīng)用系統(tǒng)無關(guān)的元件,要么用專用硬件來實現(xiàn),要么用平臺高度優(yōu)化的軟件來實現(xiàn)。推薦的體系結(jié)構(gòu)用一種特殊的方式處理資源消耗大的功能,即生成“引擎”。具體地說,這種體系結(jié)構(gòu)要參照與其行為上等效的產(chǎn)品,對一些引擎進(jìn)行性能試驗,剖析其性能,實現(xiàn)獨(dú)特形式的資源仿真。
剩余的10%處理資源(即執(zhí)行元件)本質(zhì)上是一種起控制作用的狀態(tài)機(jī),可按專門的無線標(biāo)準(zhǔn)要求進(jìn)行變換。執(zhí)行程序通常是極其復(fù)雜的,但其所需的處理資源卻較少。這些資源消耗小的、基本上專用的元件很少包含天生就接合到基本硬件襯底上的資源。實際上,無論它們用硬件還是用軟件來實現(xiàn)引擎,它們都可以移植到使用相同虛擬機(jī)運(yùn)行期內(nèi)核的任何其它設(shè)計中。執(zhí)行功能的實例在第三代設(shè)計中有:一個數(shù)據(jù)平面的總數(shù)據(jù)流表達(dá)式、采集與跟蹤邏輯以及各平面的通道生成和刪除。
替代方法建立在一個以瘦虛擬機(jī)運(yùn)行期內(nèi)核為核心的體系結(jié)構(gòu)上。這種體系結(jié)構(gòu)能將執(zhí)行元件與高M(jìn)IPS引擎分開。在其最簡化的級別上,它為半導(dǎo)體硬件和RTOS提供了使用可移植基帶軟件的抽象層。這種功能并不取代RTOS;系統(tǒng)仍然使用引擎位于處理器(通常是一個DSP)中的RTOS服務(wù)。虛擬機(jī)運(yùn)行期元件需要識別公共的線程、中斷、內(nèi)存和資源>'/guanlilunwen/'target='_blank'class='infotextkey'>管理模型,然后設(shè)計師將這些模型映射到可用的原語中,以通過運(yùn)行期實現(xiàn)方法生成任何第三方RTOS。虛擬機(jī)還包括復(fù)雜的資源>'/guanlilunwen/'target='_blank'class='infotextkey'>管理功能,這些功能對于解決第一層無線開發(fā)的瓶頸是至關(guān)重要的(圖3)。圖3虛擬機(jī)運(yùn)行期具有資源>'/guanlilunwen/'target='_blank'class='infotextkey'>管理和調(diào)度功能,可將執(zhí)行元件與引擎分離開來。從資源調(diào)度的角度看,如果高層代碼要直接調(diào)用引擎的話,則所有這些努力都將是徒勞的。直接調(diào)用或多或少會影響基本的執(zhí)行順序和線程模型,而這對于高效的實現(xiàn)方法來說又非常關(guān)鍵。更糟的是,調(diào)用者要負(fù)責(zé)為基本引擎建立適當(dāng)?shù)拇鎯ζ?,這實際上導(dǎo)致顯式的資源調(diào)度。在本文所述方法中,只有一個中間件服務(wù)(即虛擬機(jī)運(yùn)行期內(nèi)核)可以調(diào)用一個引擎。具體來說,該運(yùn)行期內(nèi)核包括一個調(diào)度程序,從效果來說,這一調(diào)度程序是一個跨越所有執(zhí)行過程和邏輯線程的范例。它使用一種插入式的調(diào)度策略來決定把這些任務(wù)中的哪一個提交給基本的RTOS去執(zhí)行,決定它將使用多少RTOS線程,并決定采用哪種優(yōu)先級和邏輯時間步長。
仿真是關(guān)鍵
盡管你必須保證你的系統(tǒng)是正確的,但對資源>'/guanlilunwen/'target='_blank'class='infotextkey'>管理做出適當(dāng)判斷也是同樣必要的。當(dāng)然,最壞情況分析是不恰當(dāng)?shù)模诙嗄J皆O(shè)計時會給出過于悲觀的結(jié)果,因而造成浪費(fèi)。但是,利用性能仿真可以揭示出各種棧在時間上互相“沖突”的相關(guān)性。當(dāng)執(zhí)行元件調(diào)用引擎時,虛擬機(jī)資源仿真并不運(yùn)行引擎本身,而是相當(dāng)簡單地更新一張“資源使用記錄表”。在周期精確的仿真期間,或者在實際硬件執(zhí)行期間,你都能通過一個性能剖析過程單獨(dú)采集到各個引擎的資源使用信息。這一剖析包含了一個相應(yīng)獨(dú)立變量(例如矢量大小或位寬度)在某一范圍的數(shù)值對各種類型資源(內(nèi)存、周期、總線帶寬等)的使用記錄。它可以隨機(jī)地表達(dá)出引擎資源的概況,例如,某個任務(wù)需要的周期數(shù)并不簡單地是其輸入范圍的確定函數(shù)。(例如,一個渦輪式編碼器處理較不完整的輸入矢量就要花更多的周期。)一個參量表保存著每個引擎的資源成本,它是引擎元件化描述的一部分。仿真程序執(zhí)行“真實的”執(zhí)行代碼,但卻用引擎的執(zhí)行代替對引擎的資源使用率的粗略估算。
因為資源仿真比周期精確仿真快得多,所以允許你將大量信息通過一個候選系統(tǒng)設(shè)計,并檢查兩個棧之間交互作用的許多情況。這一優(yōu)點(diǎn)對復(fù)雜多模式系統(tǒng)和基于分組的系統(tǒng)的設(shè)計師有很大幫助。資源仿真可在一系列運(yùn)行條件下對系統(tǒng)行為作出有代表性的評估。一旦你計算出這種數(shù)據(jù),你就可以利用它做出兩種設(shè)計時間的決定,一種是跨硬件基礎(chǔ)的軟件分割;另一種則是作為運(yùn)行期預(yù)測(隨機(jī))調(diào)度程序的一個輸入。
多模系統(tǒng)
多模系統(tǒng)包括許多你必須通過單一物理線程進(jìn)行調(diào)度的獨(dú)立執(zhí)行元件。設(shè)計師可以假定:雖然引擎資源概況和引擎調(diào)用序列映射是可以實現(xiàn)的,或者無論如何是可以推導(dǎo)出來的,但明確的截止期信息卻是難以得到的。于是你的問題就變成:為一個已指定裝入的系統(tǒng)導(dǎo)出一個有效的串行調(diào)度計劃,你可以把它表述為一組系統(tǒng)參數(shù),例如有源通道數(shù)或最大吞吐比特率。每種資源都有一個100%的限制,這就約束了任何此類調(diào)度計劃在上邊界的效率。(例如,任何用到120%可用存儲器的調(diào)度計劃在某一點(diǎn)是無效的,或者至少需要進(jìn)一步的工作來闡明其互斥等待行為。)但是,低于這一點(diǎn),某些加權(quán)會決定“適合度”。例如,設(shè)計師可能認(rèn)為存儲器分配保持在50%以下的串行調(diào)度計劃是可取的,因此可對整體度量進(jìn)行適當(dāng)加權(quán)。
與簡單的調(diào)度策略(如先到先服務(wù)的策略)相比,多模式問題的解決方案需要進(jìn)行更復(fù)雜的處理。具體地說,一種更復(fù)雜的調(diào)度策略是必不可少的。當(dāng)前的策略既不在很大程度上使用已知引擎資源成本,也不試圖進(jìn)行預(yù)測。此外,由于處理具有事件驅(qū)動的性質(zhì),在一個實時系統(tǒng)中使用截止期常常是不現(xiàn)實的,特別是在引擎級使用。一種更復(fù)雜的資源分配策略是必要的,你必須將其當(dāng)作調(diào)度程序的一個組成部分。
隨機(jī)調(diào)度
設(shè)計師可以對在資源仿真時收集的數(shù)據(jù)進(jìn)行處理,以構(gòu)建一個引擎請求概率矩陣。該矩陣基于執(zhí)行元件通過虛擬機(jī)運(yùn)行期內(nèi)核對引擎的調(diào)用(圖4)。導(dǎo)出的矩陣是稀疏的,具有許多次“0”轉(zhuǎn)換和很多次“1”轉(zhuǎn)換。但是,一個有分支的典型棧會產(chǎn)生一些介于0和1之間的概率,這是首次將隨機(jī)行為引入到系統(tǒng)中。圖4
你可以根據(jù)仿真數(shù)據(jù)推導(dǎo)出一個引擎狀態(tài)轉(zhuǎn)換概率矩陣的概念模型。在任意給定的時刻,控制執(zhí)行元件中的各種邏輯線程僅向運(yùn)行期調(diào)度程序提出考慮執(zhí)行的下一個決定引擎的請求。調(diào)度程序可以使用前述的轉(zhuǎn)換矩陣,以及通過引擎資源使用概況而獲得的引擎執(zhí)行成本,獲得一些供評估使用的可能性前瞻情況。
但是,即使“無窮盡地”看到未來狀況是可能的,那也會在探討的狀態(tài)空間內(nèi)造成各種組合的劇增??紤]一個一致的“固定”跳距數(shù)也是不可取的,因為有些調(diào)度程序可能比其它調(diào)度程序更有前途。這里的問題與下棋軟件所面臨的問題一樣:即必須考慮各種走法可能的未來結(jié)果。它并不考慮所有的結(jié)果(例如,即使有兩步預(yù)測的限制),而是采用一套啟發(fā)式的方法來決定進(jìn)一步發(fā)展哪一種方案。隨機(jī)調(diào)度策略面臨著同樣的難題。
有了生成方案的啟發(fā)式方法,下一個所需做的步驟就是提供一套計劃度量標(biāo)準(zhǔn)。你可以利用這些度量標(biāo)準(zhǔn)來分析由啟發(fā)式生成方法產(chǎn)生的每個候選方案的價值,最終用一個標(biāo)量“品質(zhì)因數(shù)”值來表示每個方案。
這些計劃量度標(biāo)準(zhǔn)的整個域通??缭较铝小澳繕?biāo)”度量中的某些或大多數(shù)度量。這些根據(jù)每個時間片和每個組評估的度量是:總的存儲器使用率、總的組使用率、發(fā)現(xiàn)時與截止時間接近程度和電源使用率等。
你也可以使用很多其它啟發(fā)式度量方法。再回來看一看用象棋軟件作類比的情況,目標(biāo)度量就類似于基于各部分的價值去評估最終位置的價值,而啟發(fā)式就類似于一個規(guī)則,如“放在開放對角線上的象的價值高于只控制較少自由方格的象”。
系統(tǒng)設(shè)計師可以設(shè)置傳遞函數(shù)曲率——實際上是決定系統(tǒng)對資源短缺作出響應(yīng)是早還晚。此外,系統(tǒng)設(shè)計師還可以確定給每個計劃度量賦予的加權(quán),其總和即為最終的一個標(biāo)量值。
這種虛擬機(jī)范例所使用的方法(隨機(jī)調(diào)度)是多模式問題的一種解決方案。它使用了一些在仿真運(yùn)行期間構(gòu)建的預(yù)測引擎請求轉(zhuǎn)換可能性的表,還用到各引擎資源的使用狀況,使運(yùn)行時的調(diào)度策略能在時間上有前瞻性,并且能動態(tài)地平衡多個并行棧的需求。
很顯然,至關(guān)重要的是:隨機(jī)調(diào)度帶來的好處要超過其實現(xiàn)時在周期和存儲器方面的成本。你可以采用很多專有技術(shù)來使每個時間片的重新計算需求降至最低程度。只要在運(yùn)行期內(nèi)核中利用安裝合適的插件式調(diào)度策略資源仿真程序來進(jìn)一步檢查系統(tǒng)性能,你就能確定各種推想實現(xiàn)方法的效率。
隨機(jī)調(diào)度策略具有優(yōu)于通用方法(例如“最早截止期優(yōu)先”)的效率,因為它們具有可用的額外信息,而且比靜態(tài)RMA(速率單調(diào)性分析)技術(shù)更適合于通信系統(tǒng)。
資源互斥等待
互斥等待出現(xiàn)在必要的系統(tǒng)處理沒有及時發(fā)生時,之所以會出現(xiàn)互斥等待,乃是因為沒有適當(dāng)?shù)馁Y源可用來調(diào)度這種處理。在很多情況下,一種“更聰明的”調(diào)度策略可以產(chǎn)生好得多的性能,但是,隨著負(fù)載增加,最終會到達(dá)即使最復(fù)雜的策略也無法應(yīng)付的程度。這時,系統(tǒng)必須能系統(tǒng)地舍棄某些請求。實際上,這種舍棄可能就是預(yù)想到的并被公眾所接受的系統(tǒng)行為的一部分——這是為在突發(fā)環(huán)境中存在而必須付出的代價。重要的事情是,調(diào)度程序要采取行動,使系統(tǒng)性能逐步降低,而不是引發(fā)災(zāi)難性的故障。
虛擬機(jī)方法下的隨機(jī)調(diào)度成功地為很多類型的多模式方案(豎井方式對其無效)生成了有效的串行調(diào)度計劃。此外,它具有比“簡單RTOS”調(diào)度方法有更好的性能。具體說,隨機(jī)調(diào)度可通過使用常規(guī)方法無法得到的額外信息,在運(yùn)行期對多個競爭棧之間的突發(fā)需求進(jìn)行平衡,從而具有顯著的優(yōu)勢。資源分布特征引擎(資源消耗大的基本變換)的虛擬機(jī)范例是這種努力的核心,一方面是因為它向調(diào)度程序提供有關(guān)最重要資源消耗者的額外推斷信息,另一方面,如果要高效地執(zhí)行多模式系統(tǒng)的大型蒙特卡羅通信流量仿真,就必須采用這一方法。
虛擬機(jī)資源仿真程序是必不可少的,因為它為每個執(zhí)行元件提供引擎請求轉(zhuǎn)移概率矩陣。靜態(tài)調(diào)度計劃不適合用于突發(fā)和多模系統(tǒng),因為它們的峰值資源使用率與平均資源使用率往往相差很大,而設(shè)計時的靜態(tài)調(diào)度計劃往往關(guān)注于最壞情況下的分析,導(dǎo)致設(shè)計低效或者不切實際。只要將執(zhí)行元件與其希望調(diào)用的引擎分離,虛擬機(jī)的運(yùn)行期調(diào)度程序就成為防止開發(fā)人員落入“豎井模式”陷阱,并且使他們實現(xiàn)資源共享的必要步驟。不只是周期,所有的重要資源都需要調(diào)度。因此,你也必須調(diào)度存儲
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年河北滄州市教育局市直4所學(xué)校選聘高層次人才21名備考筆試試題及答案解析
- 2026事業(yè)單位招聘備考筆試試題及答案解析
- 深度解析(2026)《GBT 26013-2010二氧化錫》
- 2025江蘇無錫市宜興市部分機(jī)關(guān)事業(yè)單位招聘編外人員3人(B類)備考筆試試題及答案解析
- 2026中國物流秋季校園招聘(福建校招39人)模擬筆試試題及答案解析
- 深度解析(2026)《GBT 25773-2010燃?xì)鈾C(jī)熔化焊技術(shù)規(guī)范》(2026年)深度解析
- 深度解析(2026)《GBT 25667.1-2010整體硬質(zhì)合金直柄麻花鉆 第1部分:直柄麻花鉆型式與尺寸》(2026年)深度解析
- 2025四川廣安岳池縣婦幼保健院招聘護(hù)士2人模擬筆試試題及答案解析
- 2025黑龍江省中醫(yī)藥科學(xué)院哈爾濱市南崗區(qū)曲線社區(qū)衛(wèi)生服務(wù)中心招聘婦保醫(yī)生1人備考考試試題及答案解析
- 2025安徽蚌埠市懷遠(yuǎn)縣教育局所屬事業(yè)單位緊缺專業(yè)人才引進(jìn)(校園招聘)22人考試備考題庫及答案解析
- 2025四川資陽現(xiàn)代農(nóng)業(yè)發(fā)展集團(tuán)有限公司招聘1人筆試歷年參考題庫附帶答案詳解
- 2025河北廊坊燕京職業(yè)技術(shù)學(xué)院選聘專任教師20名(公共基礎(chǔ)知識)測試題附答案解析
- 0901 溶液顏色檢查法:2020年版 VS 2025年版對比表
- 各部門環(huán)境因素識別評價表-塑膠公司
- 2025遼寧丹東市融媒體中心下半年面向普通高校招聘急需緊缺人才5人筆試考試參考試題及答案解析
- 律所解除聘用協(xié)議書
- 2025年10月自考04184線性代數(shù)經(jīng)管類試題及答案含評分參考
- 海爾集團(tuán)預(yù)算管理實踐分析
- 煤礦2026年度安全風(fēng)險辨識評估報告
- 2025年中國干冰發(fā)展現(xiàn)狀與市場前景分析
- 國開2025年秋《心理學(xué)》形成性考核練習(xí)1-6答案
評論
0/150
提交評論