資源描述:
《并行編程技術(shù)在多核處理器上的分析與應(yīng)用》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、摘要近幾年開始,CPU主頻提高的速度已經(jīng)越來越慢,硬件廠商開始將CPU的發(fā)展方向轉(zhuǎn)變?yōu)槎嗪嘶?,Intel、AMD等公司多核處理器的市場占有率也開始不斷上升,并且這些處理器中集成的核也越來越多。原有方式開發(fā)出的串行程序無法充分的利用多核CPU的性能,于是就需要在軟件開發(fā)中加入并發(fā)。東北師范大學(xué)正在使用的研究生培養(yǎng)管理系統(tǒng)(G刑IS)也面臨著這樣的問題:GTMIS采取了三層架構(gòu),服務(wù)層原來采用的串行程序設(shè)計方式,使得它很難發(fā)揮多核服務(wù)器的性能,以至于在研究生選課等對性能要求比較高的場景中經(jīng)常會遇到性能的瓶頸。所以急需對GTMIS中服務(wù)層的串行程序進(jìn)行改造,以實現(xiàn)高
2、性能的并行程序。對并行程序的開發(fā)平臺的選擇,要注意的該平臺的發(fā)展?jié)摿ΑΣ⑿虚_發(fā)支持的是否全面、是否有助于高效開發(fā)、已及是否有良好的工具支持。本文對比了Windows平臺上各種并行開發(fā)技術(shù),最終從中選取了微軟.NETFramework4.0中即將要發(fā)布的并行擴展(PFX)來進(jìn)行了跟蹤研究;對PFX中的任務(wù)并行庫(TPL)、并行語言查詢(PLINQ)和CoordinationDataStructures(CDS)進(jìn)行了整理和闡述;通過VisualStudio2010中的ConcurrencyVisualizer(并行性能分析器)及其他手段找出系統(tǒng)中的性能瓶頸,然
3、后在VisualStudio2010中新增的ParallelTasks和ParallelStacks調(diào)試器的幫助下,使用PLINQ對GTMIS服務(wù)層進(jìn)行了改造,使其在多核處理器上性能有了較好的提升。關(guān)鍵詞;多核處理器;.NETFramework4.o:并行;PLINQ:TPLAbstractInrecentyears,rateofimprovementforCPUfrequencyhasbeengettingslowerandhardwaremanufacturersbegantoshiftthedirectionofdevelopmentCPUtomulti
4、-coretechnology.Intel,AMDandothercompanieshavebeguntoraisetheirmarketshareofmulti-coreprocessors,andtheyareintegratingmoreandmorecoretoprocessor.BecausetheserialprogramdevelopedbyoriginalStyleCannotfullyutilizemulti-coreCPUperformance,weneedtoaddconcurrencyinsoftwaredevelopment.Theg
5、raduatetrainingmanagementsystemusingbyNortheastNormalUniversityarealsofacingthisproblem:GTMISadoptedthree—layerarchitecture,andtheserialmodeoftheoriginaldesignmakeitverydifficulttoplayamulti—coreserver’Sperformance.Inthesituationsuchasgraduateselectingthecourses,servicelayeroftenbec
6、omebottleneck.Soweneedtotransformittoconcurrencyprogram.Weneedtoconsideranumberoffactorsselectingtheparallelprogrammingdevelopmentplatform,suchasdevelopmentpotentialoftheplatform、Whetheritfacilitatesefficientdevelopment、whethertherearetoolstomakeyourdevelopmenteasy.Thisarticlecompar
7、esparalleldevelopmenttechniquesbasedontheWindowsplatform,andselectsParallelExtensionsforthe.NETFramework(PFX)inthesoontobereleasedtofollow-upandstudy.AtlasttheapplicationofParallelLanguageIntegratedQuery(PLINQ)inPFX,usingtheConcurrencyVisualizer、ParallelTasksdebuggertoolwindowandPar
8、allelStacksdebugger