亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

支持多核并行程序設(shè)計(jì)的可視化建模及代碼框架生成方法

文檔序號(hào):6602271閱讀:138來(lái)源:國(guó)知局

專利名稱::支持多核并行程序設(shè)計(jì)的可視化建模及代碼框架生成方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種支持多核并行程序設(shè)計(jì)的可視化建模和根據(jù)模型生成多種框架代碼的方法,屬于多核并行程序設(shè)計(jì)中的編程環(huán)境、模型與方法領(lǐng)域。涉及具體講,支持多核并行程序設(shè)計(jì)的可視化建模及代碼框架生成方法。
背景技術(shù)
:隨著各領(lǐng)域計(jì)算機(jī)應(yīng)用水平的逐年提升,計(jì)算的數(shù)據(jù)處理量和復(fù)雜度的逐步攀高,各行各業(yè)對(duì)高性能計(jì)算能力的需求日益增大。即使是隨處可見(jiàn)的Web服務(wù)網(wǎng)站和各種應(yīng)用系統(tǒng)的大型數(shù)據(jù)庫(kù)、服務(wù)器系統(tǒng)等隨著信息量與服務(wù)范圍的增大,對(duì)信息處理速度和運(yùn)算能力也提出了越來(lái)越高的要求。因此,并行計(jì)算作為一門(mén)學(xué)科應(yīng)運(yùn)而生。并行計(jì)算程序通過(guò)同時(shí)操縱并行硬件系統(tǒng)的多個(gè)處理器節(jié)點(diǎn)加快應(yīng)用程序的執(zhí)行和信息處理速度,雖然這種并行化帶來(lái)了應(yīng)用程序性能的提升,但是不可避免的增加了程序員編寫(xiě)應(yīng)用程序的難度,在并行計(jì)算環(huán)境中的編程問(wèn)題成為程序開(kāi)發(fā)人員日漸關(guān)注的問(wèn)題。近年來(lái),多核CPU設(shè)計(jì)工藝的成熟使其替代單核處理器成為各種商用和家用計(jì)算機(jī)的基本配置,而且隨著多核技術(shù)的發(fā)展和集成水平的提高,集成在單個(gè)處理器芯片上的處理核的數(shù)目將會(huì)不斷增長(zhǎng)。在單核處理器時(shí)代,處理器僅有一個(gè)處理核心,因此在單處理器的PC機(jī)和服務(wù)器上應(yīng)用程序是串行執(zhí)行的,并行編程僅出現(xiàn)于由多個(gè)處理器組成的系統(tǒng)中,例如SMP(共享存儲(chǔ)型多處理機(jī))和以集群系統(tǒng)為代表的NORMA(NO-RemoteMemoryAccess)系統(tǒng)。多核處理器的面世打破了以往的種種限制,由于單個(gè)多核處理器上可集成兩個(gè)甚至多個(gè)處理核心,只要是安裝了多核處理器的機(jī)器,就擁有了運(yùn)行并行程序的硬件能力。這種硬件條件的突破給軟件行業(yè)帶來(lái)的沖擊是革命性的。首先,多線程技術(shù)將普遍運(yùn)用于多核計(jì)算機(jī)系統(tǒng)的應(yīng)用程序設(shè)計(jì)開(kāi)發(fā)過(guò)程中,并行程序中的邏輯線程在運(yùn)行過(guò)程中映射為物理線程,在不同的處理器核心上執(zhí)行,實(shí)現(xiàn)了真正意義上的多線程并行。其次,原有的編程系統(tǒng)、編程模式和各種運(yùn)行庫(kù)是面向串行程序執(zhí)行的,不僅不能有效支持多核并行應(yīng)用程序的設(shè)計(jì)和高效執(zhí)行,而且成了阻礙并行計(jì)算硬件系統(tǒng)發(fā)揮性能的瓶頸,多核并行軟件開(kāi)發(fā)問(wèn)題是所有軟件開(kāi)發(fā)人員面臨的亟待解決的問(wèn)題。如何高效地在多核并行計(jì)算環(huán)境中進(jìn)行各種應(yīng)用程序的設(shè)計(jì)與開(kāi)發(fā),尤其是對(duì)于多數(shù)缺乏并行程序開(kāi)發(fā)專業(yè)訓(xùn)練的各應(yīng)用領(lǐng)域的技術(shù)人員,已成為并行計(jì)算技術(shù)轉(zhuǎn)化為實(shí)際生產(chǎn)力所面臨的關(guān)鍵問(wèn)題。各種多核處理器自從面世以來(lái),正逐步成為市場(chǎng)主流,Intel、IBM、AMD等眾多微處理器廠商都相繼加入到了多核大戰(zhàn)之中。大部分廠商都針對(duì)各自的多核處理器提供了編程庫(kù)、支持程序分析和調(diào)試的工具集以及性能評(píng)測(cè)工具等一系列支撐軟件,如Intel的TBB、ThreadChecker0但是無(wú)一例外的僅僅針對(duì)特定的多核平臺(tái)系統(tǒng)中軟件開(kāi)發(fā)提供支持,而且這些工具的抽象層次較低,要求使用者對(duì)多核硬件的結(jié)構(gòu)和基本原理有一定程度的了解,并沒(méi)有減輕應(yīng)用程序開(kāi)發(fā)的難度。
發(fā)明內(nèi)容本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺陷,提供一種對(duì)非特定的多核平臺(tái)系統(tǒng)中軟件開(kāi)發(fā)提供支持的多核并行程序設(shè)計(jì)的可視化建模及代碼框架生成方法。為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案如下多核并行程序設(shè)計(jì)的可視化建模及代碼框架生成方法,提供一個(gè)圖形化用戶交互界面,在這一界面下,有一套預(yù)定義的構(gòu)造塊圖元和一個(gè)圖形編輯區(qū),每一個(gè)構(gòu)造塊圖元都有特定名稱、屬性、含義和用法,各種構(gòu)造塊圖元,包括主線程圖元、子線程圖元、線程交互圖元,都有與其對(duì)應(yīng)的不同的屬性;還有構(gòu)造塊組合的構(gòu)造規(guī)則,它規(guī)定了各構(gòu)造塊之間的連接方法和限制;設(shè)計(jì)人員可以根據(jù)需求分析的結(jié)果,按照構(gòu)造規(guī)則,拖拽構(gòu)造塊圖元到編輯區(qū),進(jìn)行多核并行程序的設(shè)計(jì),并對(duì)構(gòu)造塊圖元的屬性進(jìn)行編輯,設(shè)計(jì)完成以后,用戶可以把模型圖保存為xml內(nèi)容的文件,供以后再次使用,并可以進(jìn)行編輯、修改和優(yōu)化。本發(fā)明具有如下技術(shù)效果本發(fā)明方法將降低設(shè)計(jì)開(kāi)發(fā)多核并行計(jì)算應(yīng)用程序的難度,縮短設(shè)計(jì)與開(kāi)發(fā)周期,而且能夠使多核并行計(jì)算應(yīng)用程序結(jié)構(gòu)更為合理,性能更為優(yōu)化,從而提高相應(yīng)學(xué)科領(lǐng)域的研究效率和應(yīng)用水平。同時(shí),對(duì)推動(dòng)并行計(jì)算在各個(gè)行業(yè)的應(yīng)用與發(fā)展、提高各專業(yè)領(lǐng)域的計(jì)算機(jī)應(yīng)用水平具有重要研究意義及應(yīng)用價(jià)值。因此,基于此方法的系統(tǒng)平臺(tái)市場(chǎng)前景非常廣闊,面臨著巨大的市場(chǎng)機(jī)遇。另一方面,此方法也可作為并行計(jì)算領(lǐng)域理論研究的一個(gè)實(shí)驗(yàn)床。研究人員可以使用此方法實(shí)現(xiàn)并分析多核并行計(jì)算算法,也可以通過(guò)擴(kuò)展或修改本方法的方式來(lái)對(duì)自己的并行計(jì)算應(yīng)用程序設(shè)計(jì)理論加以驗(yàn)證和分析,以此為并行計(jì)算理論的實(shí)際應(yīng)用提供一種高效的途徑,對(duì)并行計(jì)算領(lǐng)域本身的發(fā)展起到推動(dòng)作用。圖1此方法的系統(tǒng)體系架構(gòu)示意圖。圖2此方法的系統(tǒng)結(jié)構(gòu)示意圖。圖3代碼框架生成方法的流程圖。具體實(shí)施例方式本方法以軟件工程的方法為基礎(chǔ),涉及了系統(tǒng)設(shè)計(jì)與系統(tǒng)編碼階段。在系統(tǒng)設(shè)計(jì)階段中,本方法提供一個(gè)圖形化用戶交互界面,在這一界面下,有一套預(yù)定義的構(gòu)造塊圖元和一個(gè)圖形編輯區(qū),每一個(gè)構(gòu)造塊圖元都有特定名稱、屬性、含義和用法。各種構(gòu)造塊圖元,如主線程圖元、子線程圖元、線程交互圖元等,都有與其對(duì)應(yīng)的不同的屬性。除此之外,還有構(gòu)造塊組合的構(gòu)造規(guī)則,它規(guī)定了各構(gòu)造塊之間的連接方法和限制。設(shè)計(jì)人員可以根據(jù)需求分析的結(jié)果,按照構(gòu)造規(guī)則,拖拽構(gòu)造塊圖元到編輯區(qū),進(jìn)行多核并行程序的設(shè)計(jì),并對(duì)構(gòu)造塊圖元的屬性進(jìn)行編輯,我們稱其為模型圖。設(shè)計(jì)完成以后,用戶可以把模型圖保存為xml內(nèi)容的文件,供以后再次使用,并可以進(jìn)行編輯、修改和優(yōu)化。在系統(tǒng)編碼階段開(kāi)始時(shí),本方法可為用戶生成指定語(yǔ)言的多線程代碼框架。此代碼框架由模型圖及其構(gòu)造塊圖元的屬性生成,而且結(jié)構(gòu)完整。主要涉及到線程控制的細(xì)節(jié),包括線程初始化代碼、線程創(chuàng)建代碼、線程間同步代碼、線程合并代碼等。自動(dòng)生成的源程序代碼文件以可編輯的文檔窗口展示給用戶,用戶可以在此編輯窗口添加更加具體的細(xì)節(jié)程序代碼,所有涉及到多核并行框架的代碼已經(jīng)由本方法自動(dòng)生成。根據(jù)模型圖生成多核并行程序框架代碼,可以使用戶根據(jù)具體的應(yīng)用問(wèn)題建立相應(yīng)的多線程求解模型,并且可以根據(jù)不同的編程語(yǔ)言生成不同的多線程代碼框架。這種設(shè)計(jì)體現(xiàn)了本方法良好的通用性。下面結(jié)合附圖和實(shí)施例進(jìn)一步詳細(xì)說(shuō)明本發(fā)明。支持多核并行程序設(shè)計(jì)的可視化建模及代碼框架生成方法,提供了對(duì)多核并行程序設(shè)計(jì)與編碼的解決方案。它允許的操作有用戶通過(guò)可視建模方法建立具體的應(yīng)用問(wèn)題模型;把模型保存為xml文件,以便進(jìn)一步的改善和模型復(fù)用;通過(guò)模型解析與轉(zhuǎn)換方法,根據(jù)模型自動(dòng)生成并行代碼框架;提供可編輯窗口供用戶進(jìn)一步編輯應(yīng)用代碼。多核并行程序設(shè)計(jì)及框架代碼自動(dòng)化生成系統(tǒng),是天津大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院設(shè)計(jì)并實(shí)現(xiàn)的面向并行應(yīng)用程序的通用集成開(kāi)發(fā)環(huán)境(EasyPAB系統(tǒng))的一個(gè)子系統(tǒng)。建模過(guò)程中,一般采用一個(gè)主算法圖和多個(gè)子算法圖結(jié)合的方式進(jìn)行建模。其中,主算法圖以開(kāi)始構(gòu)造塊代表主算法的開(kāi)始,結(jié)束構(gòu)造塊代表主算法的結(jié)束;子算法圖以Fork構(gòu)造塊代表子算法的開(kāi)始,Join構(gòu)造塊代表子算法的結(jié)束。在算法圖中,任何兩個(gè)相鄰的基本構(gòu)造塊之間有且僅有一條單向連接,連接的方向表示算法控制流的走向。多核并行程序設(shè)計(jì)及框架代碼自動(dòng)化生成系統(tǒng)在所創(chuàng)建模型的基礎(chǔ)上,能夠生成兩種不同的多核并行程序代碼框架,C+Pthread和Java。用戶只需要補(bǔ)充更具體的算法細(xì)節(jié),就能夠開(kāi)發(fā)出完整的、可運(yùn)行的并行應(yīng)用程序的源代碼。該平臺(tái)擁有良好的用戶界面,對(duì)于各種常用的功能提供了操作系統(tǒng)風(fēng)格的圖形化操作界面,從而方便了程序員和其他系統(tǒng)用戶;該平臺(tái)為并行應(yīng)用程序的可視化建模過(guò)程和代碼生成功能提供完整的模塊支持,如交互式模型編輯器,基本構(gòu)造塊庫(kù),代碼控制模塊,代碼生成等。本系統(tǒng)采用Dom4j開(kāi)源XML解析包作為XML解析工具來(lái)保存模型。每個(gè)模型都對(duì)應(yīng)著一系列的數(shù)據(jù)結(jié)構(gòu),所有構(gòu)造塊都包含在一個(gè)容器對(duì)象中,這個(gè)容器包含一個(gè)List的成員屬性,每當(dāng)添加一個(gè)新的構(gòu)造塊,就在這個(gè)List中添加一項(xiàng),刪除構(gòu)造塊則相反。當(dāng)訪問(wèn)模型數(shù)據(jù)結(jié)構(gòu)時(shí),得到這個(gè)數(shù)據(jù)結(jié)構(gòu)的容器,通過(guò)它可訪問(wèn)到所有的構(gòu)造塊,并且根據(jù)構(gòu)造塊可以訪問(wèn)對(duì)應(yīng)的屬性。每一個(gè)構(gòu)造塊的相關(guān)信息包括名稱、位置、基本屬性等。不同的構(gòu)造塊存在不同的屬性,但是它們都擁有兩個(gè)共同的屬性,即源連接線和目的連接線。這兩個(gè)屬性分別保存了從這個(gè)構(gòu)造塊引出的連接線和連接到這個(gè)構(gòu)造塊的連接線。連接線的屬性有源和目的,描述一個(gè)連接線的源構(gòu)造塊和目的構(gòu)造塊。代碼生成的處理流程如下用戶選擇一類并行編程語(yǔ)言或者并行程序庫(kù),由代碼生成器遍歷已創(chuàng)建的并行應(yīng)用的樹(shù)型數(shù)據(jù)結(jié)構(gòu),形成并行應(yīng)用程序的控制流信息,插入到程序結(jié)構(gòu)骨架中生成最終的程序源代碼。模型的遍歷過(guò)程如圖2所示。表1可視化建模的構(gòu)造塊及其屬性<table>tableseeoriginaldocumentpage6</column></row><table>權(quán)利要求一種多核并行程序設(shè)計(jì)的可視化建模及代碼框架生成方法,其特征是,包括下列步驟提供一個(gè)圖形化用戶交互界面,在這一界面下,有一套預(yù)定義的構(gòu)造塊圖元和一個(gè)圖形編輯區(qū),每一個(gè)構(gòu)造塊圖元都有特定名稱、屬性、含義和用法,各種構(gòu)造塊圖元,包括主線程圖元、子線程圖元、線程交互圖元,都有與其對(duì)應(yīng)的不同的屬性;還有構(gòu)造塊組合的構(gòu)造規(guī)則,它規(guī)定了各構(gòu)造塊之間的連接方法和限制;設(shè)計(jì)人員可以根據(jù)需求分析的結(jié)果,按照構(gòu)造規(guī)則,拖拽構(gòu)造塊圖元到編輯區(qū),進(jìn)行多核并行程序的設(shè)計(jì),并對(duì)構(gòu)造塊圖元的屬性進(jìn)行編輯,設(shè)計(jì)完成以后,用戶可以把模型圖保存為xml內(nèi)容的文件,供以后再次使用,并可以進(jìn)行編輯、修改和優(yōu)化。全文摘要本發(fā)明屬于多核并行程序設(shè)計(jì)中的編程環(huán)境、模型與方法領(lǐng)域。為提供一種對(duì)非特定的多核平臺(tái)系統(tǒng)中軟件開(kāi)發(fā)提供支持的多核并行程序設(shè)計(jì)的可視化建模及代碼框架生成方法,本發(fā)明采用的技術(shù)方案是,多核并行程序設(shè)計(jì)的可視化建模及代碼框架生成方法,提供一個(gè)圖形化用戶交互界面,有一套預(yù)定義的構(gòu)造塊圖元和一個(gè)圖形編輯區(qū),每一個(gè)構(gòu)造塊圖元都有特定名稱、屬性、含義和用法,各種構(gòu)造塊圖元,包括主線程圖元、子線程圖元、線程交互圖元,都有與其對(duì)應(yīng)的不同的屬性;還有構(gòu)造塊組合的構(gòu)造規(guī)則;設(shè)計(jì)人員可以根據(jù)需求分析的結(jié)果,按照構(gòu)造規(guī)則,拖拽構(gòu)造塊圖元到編輯區(qū),進(jìn)行多核并行程序的設(shè)計(jì)。本發(fā)明主要應(yīng)用于提供編程環(huán)境、模型與方法。文檔編號(hào)G06F9/44GK101826016SQ20101017136公開(kāi)日2010年9月8日申請(qǐng)日期2010年5月13日優(yōu)先權(quán)日2010年5月13日發(fā)明者于策,孫濟(jì)洲,孫超,張濤,徐禎,湯善江,王萌萌申請(qǐng)人:天津大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1