Font Size: a A A

A Study On The Scalability Of Persistent Transactional Memory

Posted on:2020-08-11Degree:MasterType:Thesis
Country:ChinaCandidate:Q Q YuFull Text:PDF
GTID:2428330620960078Subject:Software engineering
Abstract/Summary:PDF Full Text Request
A new generation of NVM(non-volatile memory)technology is emerging,including Phase Change Memory,Resistive Random Access Memory,and Intel/Micron 3D XPoint.By providing close-to-DRAM read/write speed and byte-addressability,this new storage technology offers a chance for applications to obtain consistency,durability,and high performance at the same time.To efficiently program on NVM with a balance among easy programmability,fast crash recovery,and high performance,prior work has proposed to access NVM through the abstraction of persistent transactional memory,aka durable transaction.Persistent transactional memory,is required to guarantee the ACID properties,i.e.,atomicity,consistency,isolation,and durability,of transactions.To achieve the consistency and durability of transactions,prior work either includes high persistency overhead in the critical section of a transaction or leaves the persistency task to several background threads,both of which harm the overall system performance and in particular limit the scalability.Thus,there presents a challenge of how to leverage NVM to achieve consistency and durability efficiently for persistent transactions.This paper proposes Snapshot Persistent Transactional Memory(SsPTM),a persistent transactional memory that embraces snapshot isolation.First,SsPTM utilizes double-version concurrency control mechanism and double version persistency control mechanism to guarantee the high performance and high scalability of the transactional memory system in native environments.Among them,double-version concurrency control implements the atomicity,consistency,and isolation of a transaction,while double-version persistency control implements the crash consistency and durability of a transaction.Furthermore,SsPTM adopts restricted concurrency control mechanism to alleviate the performance problem of transactional memory systems in virtualized environments,and thus improves the overall scalability in virtualized environments.To realize high performance and high scalability of the transactional memory system in native environments,SsPTM adopts snapshot isolation.The key observation of this paper is that optimistic concurrency control can implement snapshot isolation and allows concurrent execution of read and persist operations,and read-only transactions dominate in most applications.To guarantee the reader-friendliness of the transactional system,this paper re-designs optimistic concurrency control,i.e.,multi-version concurrency control,and proposes doubleversion concurrency control.The mechanism keeps at most two versions for each object.Through maintaining two versions,it enables read operations always to finish immediately,and allows read and write/persist operations to execute concurrently.Besides,to reduce the performance effect of NVM write efficiency on transactional memory systems,double-version persistency control improves the performance and scalability of transactions' persistence operations through the design of redo logging and three-phase commit.Redo logging reuses the volatile log in double-version concurrency control as the non-volatile log,reducing the number of write operations.Three-phase commit is tightly coupled with double-version concurrency control.It utilizes the concurrency control mechanism to track the dependency relationship among transactions implicitly,which allows multiple transactions to be persisted concurrently in a non-blocking way and thus promotes the concurrency of persist operations.Besides,in virtualized environments,the scheduling of virtual CPUs by the underlying hypervisor can harm the performance of persistent transactional memory systems.To improve the performance and scalability of transactional memory systems in virtualized environments,this paper proposes restricted concurrency control.Restricted concurrency control utilizes Intel restricted transactional memory to detect preemptions on virtual CPUs.When a virtual CPU is holding a lock and gets preempted,the hardware will automatically roll back the memory modifications made in the transaction,and the software will release the acquired lock,in which way restricted concurrency control can alleviate the negative effects caused by the preemption problem and improve the performance and scalability of transactional memory systems.We conduct experiments on an Intel 20-core(40-thread)machine.Experimental results show that SsPTM achieves higher performance and especially better scalability than the state-of-the-art design(i.e.,DUDETM).SsPTM outperforms DUDETM by up to 52.8× for micro-benchmarks and 43.5% for TPC-C NewOrder benchmark and scales much better.The experimental results also show that compared with kernel ticket spinlock,Virtm can effectively improve the performance of applications in virtualized environments.For micro-benchmarks,including Apache,Kernbench,and Pbzip2,Virtm outperforms kernel ticket spinlock by up to21%.
Keywords/Search Tags:Non-volatile Memory, Transactional Memory, Restricted Transactional Memory, Scalability
PDF Full Text Request
Related items