国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于RMA的嵌入式系統(tǒng)代理調度模型設計

2010-07-31 00:59何振林張慶蓉
關鍵詞:事務嵌入式代理

羅 奕 何振林 孟 麗 張慶蓉

(成都中醫(yī)藥大學管理學院,成都610075)

隨著嵌入式系統(tǒng)的應用日益廣泛,以及應用領域的不斷拓寬,其應用環(huán)境和運行狀態(tài)也隨之變得更加復雜。為了適應嵌入式應用不斷發(fā)展的需求,基于對實時性、并發(fā)性以及效率等因素的考慮,需要對傳統(tǒng)的嵌入式系統(tǒng)的設計架構進行更加完善的設計[1]。在目前的嵌入式系統(tǒng)中,融合了傳統(tǒng)硬件架構和軟件計算功能的綜合式設計方法已逐漸成為發(fā)展趨勢。嵌入式系統(tǒng)能夠支持更多的應用模塊,各模塊由相對獨立的進程或線程控制,它們有機地結合在一起形成完整的系統(tǒng)[2~4]。具有多外設接口對于嵌入式系統(tǒng)是非常普遍的情況,外設的活動通常是由設備驅動程序控制。這些外設的工作相對獨立于中央處理模塊,同時,外設所負責的工作內容也可能存在較大的差異。例如數(shù)據(jù)采集、數(shù)據(jù)處理和狀態(tài)控制等,都可能會導致處理延遲的不確定性。設備驅動程序則將負責有效保持外設與中央處理模塊之間的聯(lián)系。在傳統(tǒng)的嵌入式體系設計中,設備驅動進程通常被設計成與中央處理模塊直接交互[5,6]。當這類驅動進程數(shù)量增大,同時在這些進程之間存在較多的協(xié)作或同步關聯(lián)時,這種直接耦合的設計模式可能會導致嵌入式系統(tǒng)的性能受到較大的影響。因此,需要對系統(tǒng)的體系結構作細致考慮,以保證系統(tǒng)的整體性能。

既然直接耦合設計的架構無法對上述情況提供好的解決方法,則適于并發(fā)和多道控制的軟件代理結構是有效的可選設計方案[7,8]。軟件代理[8]可描述為軟件或硬件的組件,可用于為被代理用戶完成特定的事務。在本文中,軟件代理被設計用于代理多外設驅動模塊實現(xiàn)對并發(fā)及同步處理事務的調度管理。該代理根據(jù)一定時間段內發(fā)生的并發(fā)和同步請求情況,采用單調速率調度算 法 (Rate Monotonic Scheduling, 簡 稱RMS)[12~14]對請求響應進行重新排序,使被代理模塊在串行化的調度處理后,能夠更合理地使用共享資源,提高多事務并發(fā)執(zhí)行的性能。

本文包括下述內容:對嵌入式應用系統(tǒng)的代理設計體系結構進行了描述,討論了代理采用RMS算法實現(xiàn)請求的接入控制,并在此基礎上實現(xiàn)對并發(fā)事務的重調度。在上述基礎上對一個典型的嵌入式應用系統(tǒng)的并發(fā)處理場景進行了用例分析,驗證了該代理設計方法的有效性。最后,總結全文并展望今后進一步的研究工作。

1 嵌入式系統(tǒng)的代理體系結構設計

嵌入式系統(tǒng)的體系結構通常包含了可編程的軟件組件和客戶訂制的集成單芯片硬件組件2個部分。嵌入式系統(tǒng)常見為異構式的體系結構,該設計架構可有效地將軟硬件組件結合起來,實現(xiàn)一些常見或特定的計算目標[4]。雖然根據(jù)不同的應用需求,嵌入式應用系統(tǒng)可能會包含不同的組件和集成方式,但從架構上仍然體現(xiàn)出一定的相似性,如圖1所示。

圖1 異構嵌入式系統(tǒng)設計架構Fig.1 Heterogeneous embedded system architecture

圖1中,DSP是嵌入式系統(tǒng)的核心組件。隨著技術發(fā)展和應用需求的提高,目前也出現(xiàn)了多處理器的設計架構。除了核心組件之外,對其他硬件模塊的集成以及復雜軟件與硬件模塊的有效交互,是嵌入式設計中非常耗時和易于出錯的工作內容。尤其在這些集成的軟件與硬件部件之間,存在著如時間約束、資源共享或并發(fā)與同步的要求時,更需要進行仔細的設計考慮以保證嵌入式系統(tǒng)的各類性能需求。

在傳統(tǒng)的設計架構中,上述資源共享、時間約束問題常采用在各模塊設備驅動之間的直接耦合實現(xiàn)方式。例如,在各驅動中使用多線程編程工具,通過對共享資源采用互斥或信號量等方式來實施存取保護來實現(xiàn)。但這樣的設計方式更多是一種局部沖突的解決辦法,對于系統(tǒng)的整體性能相對缺乏控制力。軟件代理的設計模式則能夠很好地適用于這類應用場景。既然對共享資源的存取操作始終是串行化的處理過程,那么,以代理方式對多道事務請求進行接入控制,是一種合理的設計思路。

軟件代理設計架構在并發(fā)或協(xié)同計算中具有很好的控制潛力。根據(jù)文獻[6]的研究結果,上述直接的內核通信設計模式可以采用軟件代理架構的中間調度層來替代,以實現(xiàn)更好的系統(tǒng)性能。在軟件代理模塊中包含了一個事務調度器,用以決定被代理事務的活動順序。圖2是采用了代理架構的設計模型,由代理模塊負責與不同被代理事務的通信,以及資源分配和協(xié)調各被代理事務之間的協(xié)同工作。

圖2 采用代理的異構嵌入式系統(tǒng)架構Fig.2 Agent-based heterogeneous embedded system architecture

圖2的設計是基于軟件層面的,這樣可以盡可能小地避免改變嵌入式系統(tǒng)的硬件結構。代理模塊主要包含了事務調度器和同步通信控制組件兩個部分。有并發(fā)和時間約束需求的被代理事務需要首先在代理模塊處進行注冊,提交基本的事務處理信息。

代理模塊使用調度器為被代理事務計算出合理的執(zhí)行序列,并使用同步通信控制組件完成對被代理事務的調度結果通告。代理設計的方式可有效減少被代理事務間因資源共享及自同步過程中所產生的沖突,降低由此而導致的系統(tǒng)開銷。同時,能夠針對全局性能實現(xiàn)優(yōu)化配置。代理模塊對并發(fā)性事務的管理是動態(tài)的,當并發(fā)事務的請求到達時,代理服務進程被自動激活,并重新計算當前的調度隊列情況,用以確定新的事務請求能否加入當前的調度序列。

目前,基于網(wǎng)絡的分布式應用日益廣泛。采用代理架構的設計方法可有效擴展嵌入式系統(tǒng)的應用領域。Steven描述了一種可提供高度并發(fā)服務的可編程模型[15]。而這種代理架構的設計模型,也比較易于擴展到網(wǎng)絡與分布式應用的場景。

2 調度支持

如前所述,軟件代理依靠調度器來實現(xiàn)對被代理事務的調度管理工作。單調速率優(yōu)先(RMS)算法[16]是一種實時應用中所廣泛采用的調度算法。本文采用RMS來實現(xiàn)代理模塊中的調度器。

在RMS中,設需調度的事務個數(shù)為n,可表示為S={t1,t2,…,tn}。并假定這些被調度事務之間相互獨立。這是調度中最簡單的一種情況。則這組被調度事務可滿足的調度條件為

其中,是Ci執(zhí)行事務i的最壞執(zhí)行時間,Ti是該事務的執(zhí)行周期。

在實際情況中,一組事務之間往往并非完全不相關,在事務之間存在著同步和協(xié)作的需求。這種情況下,RMS算法適當松弛式(1)中的約束條件,得到下式

Ci和Ti與式(1)中相同,Bi是事務i被同組中更低優(yōu)先級事務所阻塞的時間。低優(yōu)先級阻塞更高優(yōu)先級的情況稱為優(yōu)先級反轉。若該組事務符合公式(2)的約束條件,則這組事務能夠滿足RMS的實時調度需求。

Sprunt與Lehoczky對實時事務調度作了進一步的改進,改進后的一組事務中可以存在非周期性的事務情況[17]。對于兩類非周期性的事務TE與TR,TE是突發(fā)性的臨時事務,該事務的時間約束為DE。另一類事務TR也是非周期性事務,但此類事務沒有或僅有很弱的時間約束要求。實際上,可將TR看作非周期性事務。因此,事務的平均響應時間可由隊列的平均等待時間Wq和平均執(zhí)行時間We構成。

Dq是隊列中任意連續(xù)事務完成后移出隊列的時間間隔。f是事務的發(fā)生頻率,用于評估平均CPU的占用率。I為事務的平均發(fā)生間隔時間??傻玫较率降年犃衅骄却龝r間

用TR替代Dq,隊列的平均等待時間為

因此,可以用下式進行估計

上式改進后的計算公式可保證應用事務能夠滿足實時時間約束的要求。在上述公式中,僅是給出了可滿足調度管理事務組的一種充分條件。即使在不滿足上述約束條件時,調度組仍然是有可能保證滿足每個進程的時間約束要求。

使用上述RMS調度算法,可幫助代理對并發(fā)事務進行管理。當多道接入控制請求在一定的時間間隔內產生,代理采用RMS調度算法計算該組事務的時間約束滿足情況,并根據(jù)計算結果調整對控制請求的響應順序。若當前調度組能夠接納新的請求事務,則將該新事務歸并入當前的調度組進行管理。否則,需要啟動新的事務組來進行接入控制管理。圖3是對代理的調度管理流圖的描述。

由圖3可見,該調度管理中沒有采用搶占式的調度管理模式,因此軟件代理在對事務的調度管理中并沒有采用硬實時的方式,可能存在事務不能保證時間約束的情況。上述采用代理進行調度管理的情況,可以避免強耦合設計方式所導致事務資源競爭所導致的沖突避免或解除等開銷,有助于提高系統(tǒng)的整體性能。

圖3 代理工作流圖Fig.3 Agent work flow diagram

3 試驗

試驗是在一個典型的嵌入式組態(tài)軟件系統(tǒng)下設計并執(zhí)行。該組態(tài)軟件系統(tǒng)最初是采用了中央集中控制的組織結構。系統(tǒng)中每個分散的受控節(jié)點由相對獨立的事務進行管理,并由其負責對各節(jié)點數(shù)據(jù)的采集和局部操作的控制。各個分布節(jié)點之間存在著存儲資源和總線資源的共享。同時,各分布節(jié)點與中央控制節(jié)點之間存在直接的通信,以保證中央節(jié)點對各分布節(jié)點的有效監(jiān)控。分布式節(jié)點中存在部分PLC控制設備,這些設備以固定的周期完成特定的工作。試驗采用軟件代理方式控制各個分布式節(jié)點的并發(fā)執(zhí)行,對共享資源的請求和存取進行統(tǒng)一的調度管理。表1中給出了組態(tài)軟件中5個并發(fā)處理事務的基本參數(shù),圖4則是采用了軟件代理管理的時間序列圖。

表1 并發(fā)事務的基本參數(shù)Table 1 Concurrency tasking arguments design

圖4 多事務并發(fā)處理軟件代理的序列圖Fig.4 Sequential diagram for multi-tasking concurrency time

由表1中所示,事務T1具有較高的時間約束要求的周期性的監(jiān)控數(shù)據(jù)采集事務,T5是較低時間約束要求的顯示數(shù)據(jù)更新事務。T2,T3,T4是具有一般時間約束要求的設備數(shù)據(jù)采集事務。為了保證這組并發(fā)事務的有效執(zhí)行,采用軟件代理方式進行分組管理。

圖4中標記了軟件代理對并發(fā)事務進行統(tǒng)一管理的過程。在主控程序中初始化階段啟動各個分布節(jié)點上的處理事務。隨后,每個獨立的事務完成對所控設備的初始狀態(tài)和控制參數(shù)的設置。當設備啟動后,對應的控制事務作為被代理客戶,向主控程序的代理模塊注冊相關的事務參數(shù)信息,例如注冊的定式器、共享資源請求、時間約束條件等。軟件代理在每當有新的事務請求接入時觸發(fā)。軟件代理調用調度程序計算接入新事務是否能夠滿足整體的時間約束要求。如果能夠滿足時間約束條件,則該事務被接入當前的調度隊列中,并將調度后的結果告知當前管理組中的事務。如果計算結果不能滿足時間約束條件,則最新的事務將激活新的調度組管理。當被代理事務獲得了代理模塊的響應后,將根據(jù)響應信息獨立進行事務操作。并發(fā)的一組軟件事務在軟件代理調度后成為序列化的獨立進程依次執(zhí)行。

表2是在使用和不使用軟件代理方式下分別對組態(tài)軟件一段時間內的性能進行統(tǒng)計得到的結果。

表2 采用與不采用軟件代理的性能比較Table 2 Performance comparison of agent method

在記錄的一段時間內,采用了軟件代理實現(xiàn)的系統(tǒng)可多接入13%左右的并發(fā)請求,并且事務處理不能滿足時間約束條件的發(fā)生頻率也比不采用代理時有所下降。顯然,在使用了代理調度后,雖然損失了部分調度計算時間,使得事務的平均響應等待時間有所增加,但可獲得更好的執(zhí)行序列,減少了由資源競爭沖突所導致的額外時間開銷。

4 結論

本文采用軟件代理的架構的設計方式來管理嵌入式應用系統(tǒng)中的并發(fā)事務處理。該設計模型比事務間直接耦合的并發(fā)處理方式更加合理,通過采用軟件代理的設計模式,可有效地管理事務組間的資源共享,提高事務的并發(fā)處理能力,進而改善系統(tǒng)的整體性能。

[1]FRANK V,TONY G.Embedded System Design:A Unified Hardware/Software Introduction[M].California:John Wiley &Sons,2004:14-22.

[2]LIN B,VERCAUTEREN S.Synthesis of concurrent system interface modules with automatic protocol conversion generation[C]// Proc of IEEE International Conference on Computer Aided Design.Belgium:IEEE Press,1994:101-108.

[3]LIN B,VERCAUTEREN S,DE MAN H.Embedded architecture co-synthesis and system integration[C]//Proc of the Fourth International Workshop on Hardware/Software Co-Design.Pittsburgh,PA,USA,1996:2-9.

[4]BROOKS R A.A Robust Layered control system for a mobile robot[J].IEEE Journal of Robotics and Automation,1986,2(1):14-23.

[5]KARKOWSKI I.Computer aided embedded systems design[C]//Proc of the Third Annual Conf of ASCI.Heijen:The Netherlands,Pittsburgh,PA,USA,1997:2-4.

[6]VERCAUTEREN S,LIN B,DE MAN H.Constructing application -specific heterogeneous embedded architectures from custom HW/SW applications[C]// Proc of the 33rdInternational Conference on Design Automation.Las Vegas,NV,USA,1996:521-526.

[7]EDWARD A L,STEPHEN N.Actor-oriented design of embedded hardware and software systems[J].Journal of Circuits,Systems,and Computers,2003,2(3):231-260.

[8]DICK R P,NIRAJ K.CORDS:hardware-software co-synthesis of reconfigurable real-time distributed embedded systems[C]//IEEE/ACM International Conference on Computer Aided Design,1998:62-68.

[9]NWANA H S,WOOLDRIDGE M.Software agent technologies[J].British Telecommunications Technology Journal,1996,14(4):79-88.

[10]MONTE J D,KRISHNA R.Scheduling paralleliz-able tasks to minimize make-span and weighted response time[J].IEEE Trans on Systems,Man,and Cybernetics-Part A:Ststemns and Humans,2002,32(3):335-345.

[11]VERCAUTEREN S,LIN B,DE MAN H.A strategy for real-time kernel support in application -specific HW/SW embedded architectures[C]//Proc of the 33rdInternational Conference on Design Automation,Las Vegas,NV,USA,1996:678-683.

[12]FOWLER P,LEVINE L.Technology transition push:a case study of rate monotonic analysis(Part 1)[R].Technical Report CMU/SEI-93-TR-29ESCTR-93-203,1993.

[13]KLEIN M.A Practitioner’s Handbook for Real-Time Analysis:Guide to Rate-Monotonic Analysis for Real-Time Systems[M].Santa Monica:Kluwer Academic Publishers,1993.

[14]LEHOCZKY J,SHA L,YE D.The rate monotonic scheduling algorithm:exact characterization and average case behavior[C]//Proc IEEE 10thReal-Time Systems Symposium.Santa Monica:Kluwer Academic Publishers,1989:166-171.

[15]STEVEN D G,MATT W.The ninja architecture for robust internet-scale system and services[J].Computer Networks,2001,35:473-497.

[16]LIU C L,JAMES W.Scheduling algorithms for multiprogramming in a hard real-time environment[J].Journal of the ACM,1973,20(1):46-61.

[17]SPRUNT B,SHA L,LEHOCZKY J.Aperiodic task scheduling for hard-real-time systems[J].Real-Time Systems,1989,1(1):261-270.

猜你喜歡
事務嵌入式代理
基于分布式事務的門架數(shù)據(jù)處理系統(tǒng)設計與實現(xiàn)
河湖事務
代理圣誕老人
代理手金寶 生意特別好
搭建基于Qt的嵌入式開發(fā)平臺
嵌入式軟PLC在電鍍生產流程控制系統(tǒng)中的應用
勝似媽媽的代理家長
Altera加入嵌入式視覺聯(lián)盟
倍福 CX8091嵌入式控制器
SQLServer自治事務實現(xiàn)方案探析