一種基于事務(wù)內(nèi)存的分布式編程框架
發(fā)布時間:2019-01-27 20:32
【摘要】:事務(wù)內(nèi)存做為一種在并行程序設(shè)計中對共享數(shù)據(jù)的訪問控制機制,在最近幾年得到了廣泛的研究,其提供的簡易的編程模型能有效地簡化并行編程模型。當事務(wù)內(nèi)存這種先進的并發(fā)控制機制融合到分布式編程模型中時,會給分布式程序的設(shè)計者帶來極大的便利。然而,現(xiàn)有的分布式事務(wù)內(nèi)存系統(tǒng)因大量消耗網(wǎng)絡(luò)帶寬帶來過高的通信延遲,使其難以融入到實際應(yīng)用中去,同時,,因其實現(xiàn)依賴于傳統(tǒng)的分布式共享內(nèi)存編程模型,這在一定程度上增加了分布式程序設(shè)計的難度。 基于事務(wù)內(nèi)存的分布式編程框架Clustm能夠有效地減少由事務(wù)內(nèi)存帶來的網(wǎng)絡(luò)帶寬消耗,并且降低事務(wù)內(nèi)存中事務(wù)操作的通信延遲。Clustm編程框架利用數(shù)據(jù)的局部性原理實現(xiàn)了一套適用于分布式環(huán)境的事務(wù)內(nèi)存并發(fā)控制協(xié)議,同時重新為事務(wù)內(nèi)存本身設(shè)計了分布式數(shù)據(jù)共享模型,使得分布式環(huán)境下的事務(wù)操作能夠在較少的通信次數(shù)內(nèi)完成。Clustm設(shè)計了一種可在分布式環(huán)境下自由調(diào)度和異步執(zhí)行的計算單元——并發(fā)函數(shù),用以簡化編程模型,提高分布式程序執(zhí)行效率。Clustm編程框架提供的分布式環(huán)境下的數(shù)據(jù)、計算和事務(wù)接口都擁有良好的透明性,程序員在使用這些接口編寫分布式應(yīng)用程序時,不需要考慮共享數(shù)據(jù)和計算任務(wù)在節(jié)點間的分配和調(diào)度等繁瑣的細節(jié),而只需負責(zé)共享數(shù)據(jù)的結(jié)構(gòu)設(shè)計和計算任務(wù)的邏輯設(shè)計。 基于事務(wù)內(nèi)存的分布式編程框架Clustm采用C++庫的方式實現(xiàn),在Clustm中實現(xiàn)的多個分布式計算任務(wù)表明采用Clustm實現(xiàn)的分布式計算任務(wù)的設(shè)計模型簡單且效率較高,在小規(guī)模集群中相對于現(xiàn)有的分布式事務(wù)內(nèi)存系統(tǒng)有不低于30%的性能提升。
[Abstract]:Transaction memory, as an access control mechanism for shared data in parallel programming, has been widely studied in recent years. Its simple programming model can effectively simplify the parallel programming model. When transaction memory, an advanced concurrency control mechanism, is integrated into the distributed programming model, it will bring great convenience to the designers of distributed programs. However, the existing distributed transaction memory system is difficult to integrate into the practical application because it consumes a lot of network bandwidth. At the same time, its implementation depends on the traditional distributed shared memory programming model. This increases the difficulty of distributed programming to some extent. Clustm, a distributed programming framework based on transaction memory, can effectively reduce the network bandwidth consumption caused by transaction memory. Clustm programming framework implements a set of transaction memory concurrency control protocol suitable for distributed environment by using the principle of data locality. At the same time, the distributed data sharing model is redesigned for the transaction memory itself. The transaction operation in distributed environment can be completed in less communication times. Clustm designs a kind of computing unit, concurrency function, which can be freely scheduled and asynchronously executed in distributed environment to simplify the programming model. Improve the execution efficiency of distributed programs. Clustm programming framework provides a distributed environment of data, computing and transaction interfaces have good transparency, programmers use these interfaces to write distributed applications, It is not necessary to consider the details of shared data and the assignment and scheduling of computing tasks between nodes, but only to be responsible for the structural design of shared data and the logical design of computing tasks. Clustm, a distributed programming framework based on transaction memory, is implemented by C library, and many distributed computing tasks implemented in Clustm show that the design model of distributed computing task based on Clustm is simple and efficient. In a small cluster, performance increases by no less than 30% over existing distributed transactional memory systems.
【學(xué)位授予單位】:華中科技大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2012
【分類號】:TP333.1;TP311.11
本文編號:2416671
[Abstract]:Transaction memory, as an access control mechanism for shared data in parallel programming, has been widely studied in recent years. Its simple programming model can effectively simplify the parallel programming model. When transaction memory, an advanced concurrency control mechanism, is integrated into the distributed programming model, it will bring great convenience to the designers of distributed programs. However, the existing distributed transaction memory system is difficult to integrate into the practical application because it consumes a lot of network bandwidth. At the same time, its implementation depends on the traditional distributed shared memory programming model. This increases the difficulty of distributed programming to some extent. Clustm, a distributed programming framework based on transaction memory, can effectively reduce the network bandwidth consumption caused by transaction memory. Clustm programming framework implements a set of transaction memory concurrency control protocol suitable for distributed environment by using the principle of data locality. At the same time, the distributed data sharing model is redesigned for the transaction memory itself. The transaction operation in distributed environment can be completed in less communication times. Clustm designs a kind of computing unit, concurrency function, which can be freely scheduled and asynchronously executed in distributed environment to simplify the programming model. Improve the execution efficiency of distributed programs. Clustm programming framework provides a distributed environment of data, computing and transaction interfaces have good transparency, programmers use these interfaces to write distributed applications, It is not necessary to consider the details of shared data and the assignment and scheduling of computing tasks between nodes, but only to be responsible for the structural design of shared data and the logical design of computing tasks. Clustm, a distributed programming framework based on transaction memory, is implemented by C library, and many distributed computing tasks implemented in Clustm show that the design model of distributed computing task based on Clustm is simple and efficient. In a small cluster, performance increases by no less than 30% over existing distributed transactional memory systems.
【學(xué)位授予單位】:華中科技大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2012
【分類號】:TP333.1;TP311.11
【參考文獻】
相關(guān)期刊論文 前2條
1 李成華;張新訪;金海;向文;;MapReduce:新型的分布式并行計算編程模型[J];計算機工程與科學(xué);2011年03期
2 鄭啟龍;房明;汪勝;王向前;吳曉偉;王昊;;基于MapReduce模型的并行科學(xué)計算[J];微電子學(xué)與計算機;2009年08期
相關(guān)博士學(xué)位論文 前1條
1 王睿伯;面向NUMA結(jié)構(gòu)的軟件事務(wù)內(nèi)存關(guān)鍵技術(shù)研究[D];國防科學(xué)技術(shù)大學(xué);2011年
本文編號:2416671
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2416671.html
最近更新
教材專著