Font Size: a A A

A Distributed Programming Framework Based On Transactional Memory

Posted on:2013-07-05Degree:MasterType:Thesis
Country:ChinaCandidate:X PengFull Text:PDF
GTID:2248330392957816Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
Transactional memory (TM) is a parallel programming concept which reduceschallenges found in parallel programming and has been researched widely in recent years.If the advanced concurrency control mechanism applied by transactional memory can beintegrated into the distributed programming model, the designing of distributed programswill become very convenient. But existing distributed transactional memory systemsconsume too much bandwidth and bring high latency which makes them barely used inprogram designing. And moreover, because of being built on the traditional distributedshared memory systems, they are usually difficult to use in normal programming.In this paper, we propose a generalized and scalable distributed programmingframework, Clustm, based on transactional memory, which consumes low cost ofbandwidth and reduce the latency of transactional operations. Clustm provides goodtransparency which makes the programmer design the distributed programs easily withoutconsidering the distribution or migration of the shared data and computing task. Clustmaddresses several novel issues posed by this domain. First, we design a model ofdistributed shared memory, which including a cache consistency protocol, and adistribution strategy of the metadata across the nodes. And then a transactional memoryconsistency protocol is built on the distributed memory. After that, a type of calculationunit is designed which can be easily scheduled and executed in the distributedtransactional memory system, and we call the calculation units parallel functions. Then wepropose a programming model based on parallel functions.Clustm is implemented by C++library, several distributed computing programs aredesigned by Clustm, and the tests show that the distributed computing programs built onClustm are more simple and efficient. Comparing to the distributed transactional memorysystems, Clustm can get more than30%performance improvement.
Keywords/Search Tags:Distributed Programming Framework, Transactional Memory, Distributed Data Sharing Model, Parallel Functions
PDF Full Text Request
Related items