• 
    

    
    

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

      耦合分布式系統(tǒng)多線程任務(wù)管理算法

      2012-01-10 03:34:50黃海于
      關(guān)鍵詞:計算資源線程分布式

      張 宇,黃海于

      (西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,四川成都 610031)

      0 引 言

      高速列車數(shù)字化仿真平臺是在高速列車動力學(xué)仿真的基礎(chǔ)上,提供包括高速列車應(yīng)用性能仿真在內(nèi)的全系統(tǒng)仿真[1].由于仿真高速列車行駛過程中的狀況必然要進行大量的動力學(xué)計算,因此單臺計算機的計算能力已無法滿足系統(tǒng)仿真的要求,同時隨著仿真規(guī)模的不斷擴大,系統(tǒng)的仿真性能將進一步降低.為解決更大規(guī)模的系統(tǒng)仿真問題,以分布式仿真系統(tǒng)為基礎(chǔ)的系統(tǒng)仿真平臺就成為必然[2].分布式仿真系統(tǒng)由分布在不同地點的仿真設(shè)備和軟件組成,通過硬件的互聯(lián)和軟件的相互進行控制[3],從而完成大型復(fù)雜系統(tǒng)的仿真任務(wù).一般而言,分布式仿真以分布式并行調(diào)度算法為基礎(chǔ),該算法與傳統(tǒng)單機仿真系統(tǒng)的串行算法相比具有本質(zhì)的區(qū)別.在進行多機并行分布式仿真過程中,如果將每個計算任務(wù)調(diào)度到不同的計算資源,則會出現(xiàn)計算資源利用率較低的情況.為了合理地利用計算資源,提高資源的利用率,在計算資源可利用的情況下,需要將多個任務(wù)調(diào)度到一臺計算機上.多線程是Windows操作系統(tǒng)的一個重要特征[4],利用多線程技術(shù),可在1個進程內(nèi)創(chuàng)建多個線程,CPU分時間片輪流執(zhí)行多個線程[5],允許同一時間內(nèi)運行多個應(yīng)用程序.因此,在耦合分布式系統(tǒng)中,同一個計算資源上的計算任務(wù)以多線程的方式運行,而如何對這些線程進行有效的管理是系統(tǒng)正常運行的關(guān)鍵.基于此,本研究提出了基于耦合分布式的多線程任務(wù)管理算法,該算法能有效管理運行在同一臺計算機上的多個計算線程中,使各計算任務(wù)能協(xié)同配合完成系統(tǒng)的正常仿真,同時提高系統(tǒng)的仿真效率.

      1 系統(tǒng)基本結(jié)構(gòu)

      耦合分布式系統(tǒng)仿真結(jié)構(gòu)如圖1所示.在該耦合分布式系統(tǒng)仿真的3層體系框架中,包括作業(yè)調(diào)度器、耦合器、計算資源和客戶機.

      圖1 耦合分布式系統(tǒng)仿真拓?fù)鋱D

      作業(yè)調(diào)度器主要提供和計算機的接口,接收耦合器、計算資源和客戶機的注冊信息,接收由普通用戶提交的工況信息,并通過工況分析引擎進行工況處理,并進行多耦合器的管理及負(fù)載均衡.

      耦合器是系統(tǒng)的核心,當(dāng)作業(yè)調(diào)度器完成工況的調(diào)度后,將計算資源的工況提交到耦合器,由耦合器負(fù)責(zé)耦合分布式仿真的時序控制和工況仿真模塊的數(shù)據(jù)收發(fā).本3層體系框架能運行多個耦合器,一個耦合器能管理多個工況,而且耦合器的個數(shù)可根據(jù)需求進行擴展,從而增加了系統(tǒng)的可靠性和穩(wěn)定性.

      計算資源是與作業(yè)調(diào)度器、耦合器處在同一個網(wǎng)絡(luò)上的主機,可為大規(guī)模的科學(xué)計算提供自己空閑的資源.

      客戶機是仿真系統(tǒng)與用戶進行交互的接口,它需要在管理主機上注冊,并經(jīng)管理主機許可后,才可以把一個裝配描述符發(fā)送給管理主機.此時,作業(yè)調(diào)度器根據(jù)這些信息,再綜合考慮各個耦合器和計算資源當(dāng)前的負(fù)載情況,然后確定如何以最合理的方式分發(fā)計算任務(wù).

      2 多線程任務(wù)管理算法描述

      2.1 多線程情況下各計算任務(wù)的啟動

      使用多線程仿真運行模塊能減少等待時間,提高仿真系統(tǒng)的并行處理能力.多線程情況下各計算任務(wù)的啟動流程如圖2所示.

      圖2 多線程情況下各計算任務(wù)的啟動流程圖

      2.2 計算線程輸入數(shù)據(jù)的接收

      在多線程情況下,計算任務(wù)接收到仿真所需的下一步數(shù)據(jù)才能進行下一步的仿真.多線程情況下的各計算任務(wù)所需輸入數(shù)據(jù)的接收流程如圖3所示.

      圖3 多線程情況下各計算任務(wù)所需輸入數(shù)據(jù)的接收流程圖

      從圖3可以看出,通過采用全局變量的方式,可以將耦合器發(fā)送的數(shù)據(jù)準(zhǔn)確地傳遞給相應(yīng)的計算任務(wù)線程,確保系統(tǒng)的正常仿真.

      2.3 多線程情況下各計算任務(wù)輸出數(shù)據(jù)的耦合器發(fā)送

      在多個任務(wù)多個線程并行計算時,多個仿真線程要共用一個端口將仿真完成的數(shù)據(jù)發(fā)送到耦合器中.當(dāng)兩個線程同時使用共用端口時會使發(fā)送的數(shù)據(jù)混淆,從而使發(fā)送的數(shù)據(jù)出現(xiàn)錯誤.對此,多線程情況下各計算任務(wù)輸出數(shù)據(jù)的耦合器發(fā)送流程如圖4所示.

      圖4 多線程情況下各計算任務(wù)輸出數(shù)據(jù)的耦合器發(fā)送流程圖

      從圖4可以看出,通過計算線程互斥調(diào)用發(fā)送仿真數(shù)據(jù)的處理方法可有效地解決多線程發(fā)送數(shù)據(jù)時相互干擾的問題.

      3 實驗結(jié)果與分析

      3.1 實驗環(huán)境

      為了驗證耦合分布式系統(tǒng)多線程任務(wù)管理算法的有效性,本研究構(gòu)建了如下的仿真環(huán)境:仿真使用6臺計算機,一臺用于運行客戶端軟件,一臺用于運行作業(yè)調(diào)度器軟件,一臺用于運行耦合器,3臺用作計算資源,所有的計算機運行在百兆的局域網(wǎng)內(nèi).各計算機的使用情況如表1.

      表1 計算資源分配情況表

      此外,測試使用的工況包含3個子模塊.

      3.2 實驗結(jié)果與分析

      首先,使用單線程的任務(wù)管理算法,此時仿真系統(tǒng)只能運行一個工況,每個執(zhí)行機運行一個工況子模塊.然后,使用多工況管理算法,仿真系統(tǒng)將一個工況的3個子模塊調(diào)度到一臺計算機上運行,采用工況運行時間和占用計算資源的個數(shù)作為負(fù)載分量.表2是使用單線程和多線程任務(wù)管理算法計算同一工況使用仿真時間的對比情況.表3為使用單線程和多線程任務(wù)管理算法占用的計算資源情況.

      表2 單線程與多線程情況下占用仿真時間的對比

      表3 單線程和多線程任務(wù)管理算法占用的計算資源情況

      從表2、3可以看出,使用多線程任務(wù)管理算法和使用單線程任務(wù)管理算法仿真計算同一工況在花費仿真時間上相差不大.使用單線程的方式占用了3個執(zhí)行機,而使用多線程只用了一個執(zhí)行機,較大地提高了分布式系統(tǒng)計算資源的利用率.同時,從測試結(jié)果可以看出,多線程多任務(wù)的仿真模式已基本實現(xiàn)了所有的功能需求和性能需求,符合算法設(shè)計的初衷.

      4 結(jié) 語

      本研究介紹了耦合分布式系統(tǒng)多線程任務(wù)管理仿真算法在高速列車數(shù)字化仿真平臺中的實現(xiàn).仿真實驗表明,該算法在VC++開發(fā)環(huán)境中實現(xiàn)了多線程任務(wù)的啟動、計算線程數(shù)據(jù)的接收、計算線程數(shù)據(jù)的發(fā)送,取得了較好的仿真效果,提高了資源的利用率.下一步將研究多進程多任務(wù)的仿真模式,從而解決多線程間相互依賴的問題,進一步解決多任務(wù)運行的獨立性.

      [1]夏豐領(lǐng),趙育善.飛行器動力學(xué)的分布式仿真方法探討[J].導(dǎo)彈與制導(dǎo)學(xué)報,2008,28(1):211-222.

      [2]趙斌,郝紅旗.網(wǎng)格中間件在分布式仿真系統(tǒng)中的應(yīng)用[J].計算機仿真,2009,26(12):100-103.

      [3]朱建江,樓佩煌,王寧生.基于CORBA的分布式體系結(jié)構(gòu)[J].航空制造技術(shù),2001,44(5):82-85.

      [4]Kruglinski.Visual C++技術(shù)內(nèi)幕[M].北京:電子工業(yè)出版社,1999.

      [5]龍勇,袁靜,李勝朝,等.多線程串行通信在武器分布式仿真系統(tǒng)中的應(yīng)用[J].戰(zhàn)術(shù)導(dǎo)彈控制技術(shù),2007,56(1):105 -111.

      猜你喜歡
      計算資源線程分布式
      基于模糊規(guī)劃理論的云計算資源調(diào)度研究
      改進快速稀疏算法的云計算資源負(fù)載均衡
      基于Wi-Fi與Web的云計算資源調(diào)度算法研究
      耦合分布式系統(tǒng)多任務(wù)動態(tài)調(diào)度算法
      分布式光伏熱錢洶涌
      能源(2017年10期)2017-12-20 05:54:07
      分布式光伏:爆發(fā)還是徘徊
      能源(2017年5期)2017-07-06 09:25:54
      淺談linux多線程協(xié)作
      基于DDS的分布式三維協(xié)同仿真研究
      雷達與對抗(2015年3期)2015-12-09 02:38:50
      西門子 分布式I/O Simatic ET 200AL
      Linux線程實現(xiàn)技術(shù)研究
      大足县| 广丰县| 彭山县| 楚雄市| 舒城县| 鄯善县| 玉龙| 北海市| 东山县| 会昌县| 彰化市| 丘北县| 富宁县| 三都| 大英县| 霍城县| 会昌县| 井研县| 葫芦岛市| 武宁县| 漯河市| 武鸣县| 洛南县| 金门县| 绥芬河市| 蛟河市| 天峨县| 托克托县| 秭归县| 德兴市| 尉氏县| 永善县| 府谷县| 甘孜县| 灵璧县| 象州县| 霸州市| 青浦区| 潜山县| 清涧县| 隆昌县|