一种基于事务内存的分布式编程框架
发布时间:2019-01-27 20:32
【摘要】:事务内存做为一种在并行程序设计中对共享数据的访问控制机制,在最近几年得到了广泛的研究,其提供的简易的编程模型能有效地简化并行编程模型。当事务内存这种先进的并发控制机制融合到分布式编程模型中时,会给分布式程序的设计者带来极大的便利。然而,现有的分布式事务内存系统因大量消耗网络带宽带来过高的通信延迟,使其难以融入到实际应用中去,同时,,因其实现依赖于传统的分布式共享内存编程模型,这在一定程度上增加了分布式程序设计的难度。 基于事务内存的分布式编程框架Clustm能够有效地减少由事务内存带来的网络带宽消耗,并且降低事务内存中事务操作的通信延迟。Clustm编程框架利用数据的局部性原理实现了一套适用于分布式环境的事务内存并发控制协议,同时重新为事务内存本身设计了分布式数据共享模型,使得分布式环境下的事务操作能够在较少的通信次数内完成。Clustm设计了一种可在分布式环境下自由调度和异步执行的计算单元——并发函数,用以简化编程模型,提高分布式程序执行效率。Clustm编程框架提供的分布式环境下的数据、计算和事务接口都拥有良好的透明性,程序员在使用这些接口编写分布式应用程序时,不需要考虑共享数据和计算任务在节点间的分配和调度等繁琐的细节,而只需负责共享数据的结构设计和计算任务的逻辑设计。 基于事务内存的分布式编程框架Clustm采用C++库的方式实现,在Clustm中实现的多个分布式计算任务表明采用Clustm实现的分布式计算任务的设计模型简单且效率较高,在小规模集群中相对于现有的分布式事务内存系统有不低于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.
【学位授予单位】:华中科技大学
【学位级别】:硕士
【学位授予年份】: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.
【学位授予单位】:华中科技大学
【学位级别】:硕士
【学位授予年份】:2012
【分类号】:TP333.1;TP311.11
【参考文献】
相关期刊论文 前2条
1 李成华;张新访;金海;向文;;MapReduce:新型的分布式并行计算编程模型[J];计算机工程与科学;2011年03期
2 郑启龙;房明;汪胜;王向前;吴晓伟;王昊;;基于MapReduce模型的并行科学计算[J];微电子学与计算机;2009年08期
相关博士学位论文 前1条
1 王睿伯;面向NUMA结构的软件事务内存关键技术研究[D];国防科学技术大学;2011年
本文编号:2416671
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2416671.html