• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      多核對分區(qū)操作系統(tǒng)影響研究

      2012-08-08 02:31:52純,龍翔,王
      關(guān)鍵詞:數(shù)據(jù)量分區(qū)處理器

      趙 純,龍 翔,王 雷

      (北京航空航天大學(xué) 計算機學(xué)院,北京100191)

      綜合化航空電子 IMA(Integrated Modular Avionics)系統(tǒng)是第四代航空電子的發(fā)展方向。綜合化航空電子致力于最大化利用計算機硬件資源,減少航空電子設(shè)備對飛行器的負載,提高飛行器運載能力。

      分區(qū)機制是綜合化航空電子的核心技術(shù)。分區(qū)機制是指將系統(tǒng)資源(內(nèi)存、I/O等)進行配置,建立多個分區(qū),分區(qū)中包含系統(tǒng)所分配的資源,分區(qū)與分區(qū)之間相互隔離。分區(qū)包括時間分區(qū)和空間分區(qū)。時間分區(qū)是指系統(tǒng)為分區(qū)之間提供時間維度的隔離,分區(qū)都有屬于自己的處理器獨立使用時間,并且時間不受其他分區(qū)影響;空間分區(qū)是指系統(tǒng)為分區(qū)之間提供空間維度的隔離,空間包括內(nèi)存地址空間及I/O地址空間。通過空間分區(qū)隔離技術(shù)分區(qū)無法訪問本分區(qū)外的空間資源,而外分區(qū)同樣無法訪問本分區(qū)內(nèi)空間資源。不同應(yīng)用運行于不同的分區(qū)內(nèi),應(yīng)用之間由于分區(qū)間的隔離而無法感知到其他分區(qū)應(yīng)用的存在而認為獨享整個硬件資源。所以通過分區(qū)機制可以實現(xiàn)將運行于不同硬件上的應(yīng)用運行于同一硬件平臺,并且相互之間互不影響,從而實現(xiàn)綜合化航空電子系統(tǒng)。

      單核處理器已經(jīng)達到性能瓶頸,無法靠增加頻率、帶寬帶來性能的提升。處理器結(jié)構(gòu)正向多核發(fā)展。處理器這種結(jié)構(gòu)上的變化在多方面影響操作系統(tǒng)的設(shè)計與實現(xiàn),比如多核處理器系統(tǒng)中任務(wù)并發(fā)訪問臨界資源以及多核處理器結(jié)構(gòu)中Cache一致性等。

      多核處理器在硬件層面的變化會影響到操作系統(tǒng)及相關(guān)應(yīng)用,本文通過實驗分析了多核結(jié)構(gòu)帶來的影響。

      1 多核分區(qū)操作系統(tǒng)

      1.1 LESOS操作系統(tǒng)

      LESOS是北航嵌入式實驗室一款多核分區(qū)操作系統(tǒng)。該操作系統(tǒng)在硬件上支持現(xiàn)在常見的多核處理器SMP(Symmetrical Multi-Processing)結(jié)構(gòu),在軟件上支持線程、進程、虛擬內(nèi)存管理等功能。系統(tǒng)中相應(yīng)的參數(shù)如表1所示。

      表1 LESOS系統(tǒng)相關(guān)服務(wù)性能

      本文后續(xù)工作都基于此操作系統(tǒng)完成。

      1.2 分區(qū)模型

      分區(qū)操作系統(tǒng)中,分區(qū)是資源的載體,任務(wù)是操作的載體。系統(tǒng)為分區(qū)分配其所需的資源,如內(nèi)存、I/O、處理器執(zhí)行時間等;分區(qū)則通過具體的任務(wù)完成相應(yīng)的功能。一個分區(qū)中包含有若干不同的任務(wù),每個任務(wù)有不同的任務(wù)優(yōu)先級;分區(qū)內(nèi)部的所有任務(wù)共享此分區(qū)內(nèi)部資源。系統(tǒng)中每個任務(wù)屬于且只能屬于一個分區(qū),任務(wù)不能脫離分區(qū)單獨存在。

      1.3 分區(qū)調(diào)度

      雙層調(diào)度模型選擇一個要執(zhí)行的任務(wù),首先需要在分區(qū)一級進行調(diào)度,選擇相應(yīng)的分區(qū)作為候選分區(qū),然后在候選分區(qū)的所有任務(wù)中選擇相應(yīng)的任務(wù)作為候選任務(wù)。由于在調(diào)度過程中需要在兩個級別進行兩次選擇,所以稱為雙層調(diào)度。

      首先在分區(qū)內(nèi)部的調(diào)度中,調(diào)度器的調(diào)度單位是任務(wù)。此層調(diào)度使用的是基于優(yōu)先級搶占式的調(diào)度算法,目的是使分區(qū)內(nèi)部重要的任務(wù)能夠及時得到處理。調(diào)度器在所需調(diào)度的分區(qū)內(nèi)部所有的任務(wù)中選擇優(yōu)先級最高的任務(wù)作為此次調(diào)度的結(jié)果。

      其次在分區(qū)之間的調(diào)度中,調(diào)度器的調(diào)度單位是分區(qū)。此層調(diào)度使用靜態(tài)時間片輪轉(zhuǎn)調(diào)度算法,目的是使各個分區(qū)之間都能夠得到相應(yīng)的運行時間,不會因為某些分區(qū)的異常而導(dǎo)致其他分區(qū)無法運行。調(diào)度器依據(jù)當前系統(tǒng)時間以及靜態(tài)調(diào)度表選擇適當分區(qū)作為此次調(diào)度的結(jié)果。

      最后為了支持多核處理器,調(diào)度器為每個處理器核心維護一張靜態(tài)調(diào)度表,這樣每個處理器可以在自身的靜態(tài)調(diào)度表中進行調(diào)度,從而避免相互影響。每個處理器需要獲得一個要執(zhí)行的任務(wù)時,首先通過處理器本身的靜態(tài)表進行分區(qū)調(diào)度選擇合適的分區(qū),然后在選中的分區(qū)中進行分區(qū)內(nèi)部的任務(wù)調(diào)度選擇出合適的任務(wù),此任務(wù)就是處理器下一個要執(zhí)行的任務(wù)。

      2 測試及數(shù)據(jù)

      多核處理器與單核處理器結(jié)構(gòu)上的不同會影響操作系統(tǒng)及上層應(yīng)用程序的行為、性能。本文在前述工作的基礎(chǔ)上通過以下實驗研究分析多核處理器結(jié)構(gòu)為分區(qū)操作系統(tǒng)所帶來的影響。

      2.1 測試環(huán)境

      本文的實現(xiàn)工作是基于Freescale的HPCNet-8641D平臺。平臺中兩顆PowerPC E600處理器運行于SMP模式。平臺基本參數(shù)如下:處理器頻率1 GHz,系統(tǒng)總線頻率400 MHz,內(nèi)存512 MB。兩顆處理器中分別包含指令、數(shù)據(jù)為32 KB的一級Cache以及共享1 MB的二級Cache。此外,平臺還有Dual-UART、千兆以太網(wǎng)卡等外設(shè)接口。

      2.2 多核分區(qū)對Cache的影響

      由于多核處理器結(jié)構(gòu)從物理層面上引入了共享Cache,所以本文設(shè)計以下實驗分析多核處理器結(jié)構(gòu)在Cache方面對上層應(yīng)用的影響。

      首先,在單核分區(qū)操作系統(tǒng)上分別執(zhí)行不同大小數(shù)據(jù)量的讀、寫、拷貝任務(wù),測試訪問不同大小數(shù)據(jù)量的相關(guān)操作執(zhí)行時間。因為在多核處理器上,Cache分為兩級,一級為32 KB處理器本地Cache,以及共享1 MB的二級Cache,所以在設(shè)計實驗時將數(shù)據(jù)量分為兩類,一類是一級Cache內(nèi)不同數(shù)據(jù)量的訪問測試,另一類是大于一級Cache大小數(shù)據(jù)量訪問的測試。其次,在多核分區(qū)操作系統(tǒng)上處于不同處理器上的分區(qū)同時運行上述任務(wù),收集相關(guān)測試數(shù)據(jù)。最后,將兩者同性質(zhì)的數(shù)據(jù)進行比較,結(jié)果如圖 1~圖 6所示。

      圖1 一級Cache內(nèi)讀性能對比

      圖2 一級Cache外讀性能對比

      圖3 一級Cache內(nèi)寫性能對比

      圖4 一級Cache外寫性能對比

      圖5 一級Cache內(nèi)拷貝性能對比

      圖6 一級Cache外拷貝性能對比

      通過以上數(shù)據(jù)可以得出以下幾點結(jié)論:(1)對于一級Cache容量(32 KB)大小以內(nèi)的數(shù)據(jù)訪問,單核分區(qū)系統(tǒng)與多核分區(qū)系統(tǒng)執(zhí)行性能相差無幾,這是因為此時對數(shù)據(jù)的訪問大多集中于分區(qū)所在處理器本身的Cache中,所以多核分區(qū)性能并沒有受到影響;(2)當任務(wù)訪問數(shù)據(jù)量大于一級 Cache容量(32 KB)后,多核分區(qū)中的數(shù)據(jù)訪問任務(wù)性能要略低于單核分區(qū)中相關(guān)任務(wù)的性能。這是因為此時分區(qū)同時運行在不同的處理器上,分區(qū)中數(shù)據(jù)訪問任務(wù)存在對共享的二級Cache的爭用,導(dǎo)致分區(qū)數(shù)據(jù)訪問過程中二級Cache命中率降低,從而引起多核分區(qū)中數(shù)據(jù)訪問性能下降。

      2.3 多核分區(qū)間對鎖的競爭

      在多核處理器結(jié)構(gòu)系統(tǒng)中,運行于不同處理器上的分區(qū)會對某一臨界資源并發(fā)訪問。操作系統(tǒng)為保證此種并發(fā)訪問結(jié)果的一致性,需要加鎖以保護臨界資源。在訪問相應(yīng)臨界資源時,任務(wù)需要先獲得相應(yīng)互斥鎖,然后再對資源進行訪問、修改,最后釋放互斥鎖。以下實驗研究分析多核處理器結(jié)構(gòu)中增加鎖開銷帶來的影響。

      首先,構(gòu)造分區(qū)任務(wù),分區(qū)任務(wù)在執(zhí)行過程中循環(huán)調(diào)用 malloc函數(shù),申請1 MB的內(nèi)存,然后調(diào)用free函數(shù)釋放剛申請的內(nèi)存,在任務(wù)執(zhí)行過程中分別統(tǒng)計調(diào)用malloc及free函數(shù)所使用的時間。其次,按照不同的分區(qū)之間相關(guān)系數(shù)將構(gòu)造的分區(qū)任務(wù)分別運行于不同處理器的分區(qū)之中。最后,測試不同用例中分區(qū)任務(wù)的運行情況,統(tǒng)計、分析實驗數(shù)據(jù)。

      實驗按照以下方式構(gòu)造不同相關(guān)系數(shù)的分區(qū)任務(wù),相關(guān)系數(shù)如圖7所示。不同處理器上的兩個完全相同的分區(qū)同時運行,此時兩個分區(qū)由于行為完全一致,所以兩個分區(qū)之間的相關(guān)系數(shù)為1。然后將一個處理器上的分區(qū)與之前一個分區(qū)錯開20%的執(zhí)行時間,兩個分區(qū)之間只有80%的重疊部分,這樣兩個分區(qū)之間的相關(guān)系數(shù)為0.8。依此類推,當兩個分區(qū)執(zhí)行時間完全不重疊時,給定時間內(nèi)只有一個分區(qū)運行不會受其他分區(qū)影響,所以此時分區(qū)之間的相關(guān)系數(shù)為0。

      圖8所示為數(shù)據(jù)整理,從數(shù)據(jù)中可以看出在多核分區(qū)系統(tǒng)中,不同處理器上的分區(qū)運行任務(wù)的相關(guān)系數(shù)越高,其相互之間的影響越大,性能損失也越大。造成這種情況的原因是由于同時運行于不同處理器上的分區(qū),隨著相關(guān)系數(shù)的增加對相關(guān)資源共享程度就越高,因而就會有一部分性能損失在獲得鎖和釋放鎖中。在最壞情況下,如果不同分區(qū)中所有資源都需要互斥訪問,那么分區(qū)并發(fā)執(zhí)行將由于鎖的原因退化成順序執(zhí)行。

      經(jīng)過上述兩個對比實驗可以得到以下兩點結(jié)論,首先,多核處理器由于在硬件上處理器之間需要共享Cache,并發(fā)運行的分區(qū)會對共享 Cache爭用,從而影響其他分區(qū)的運行結(jié)果。此種情況由硬件結(jié)構(gòu)決定,軟件可做工作很少。其次,多核分區(qū)系統(tǒng)在內(nèi)核中保護臨界資源的鎖開銷會影響分區(qū)運行的性能。為了避免此種性能損失,系統(tǒng)在安排分區(qū)時可以進行優(yōu)化,將相關(guān)性不高的分區(qū)安排在同時運行,避免高相關(guān)性分區(qū)同時運行,從而降低對臨界資源的爭用,提升系統(tǒng)性能。

      [1]Airlines electronic engineering committee(AEEC).Avionics application software standard interface(ARINC specification 653-1)[S].ARINC,Inc.,2003.

      [2]RUSHBY J.Partitioning in avionics architectures:requirements,mechanisms and assurance[R].Technical Report NASA CR-1999-209347,SRI International,California,USA,1999.

      [3]POWELL M L,KLEIMAN S R,BARTON S,et al.SunOS multi-thread architecture[A].USENIX Winter Conference[C],1991.

      [4]KEPECS J.Lightweight processes for UNIX implementation and applications[A].USENIX Summer Conference[C].1985:299-308.

      [5]BLACK R,FLETCHER M.Next generation space avionics:a highly reliable layered system implementation[A].IEEE,2004.

      猜你喜歡
      數(shù)據(jù)量分區(qū)處理器
      上海實施“分區(qū)封控”
      基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
      計算Lyapunov指數(shù)的模糊C均值聚類小數(shù)據(jù)量法
      高刷新率不容易顯示器需求與接口標準帶寬
      寬帶信號采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計與研究
      電子制作(2019年13期)2020-01-14 03:15:18
      浪莎 分區(qū)而治
      基于SAGA聚類分析的無功電壓控制分區(qū)
      電測與儀表(2015年8期)2015-04-09 11:50:16
      基于多種群遺傳改進FCM的無功/電壓控制分區(qū)
      電測與儀表(2015年7期)2015-04-09 11:40:16
      Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
      ADI推出新一代SigmaDSP處理器
      汽車零部件(2014年1期)2014-09-21 11:41:11
      青川县| 图木舒克市| 峡江县| 丽江市| 鄄城县| 长沙县| 裕民县| 长白| 清涧县| 滦南县| 胶州市| 修武县| 青龙| 乡城县| 基隆市| 大洼县| 石嘴山市| 桐柏县| 南汇区| 焦作市| 广河县| 法库县| 平泉县| 汶川县| 麻栗坡县| 丰都县| 印江| 宾川县| 青神县| 浦城县| 浠水县| 德令哈市| 溧水县| 广州市| 肥东县| 荣成市| 兴文县| 上蔡县| 白朗县| 巴南区| 福鼎市|