Font Size: a A A

Improving The Scalability Of In-Memory Computing Systems Using Transactional Memory

Posted on:2015-07-02Degree:DoctorType:Dissertation
Country:ChinaCandidate:Z G WangFull Text:PDF
GTID:1108330464455438Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
Fast growth of computer hardware performance stimulates the development of in-memory computing. One on hand, the increasing volume of memory makes it possible to fit data of traditional applications in memory for processing, leading to notable boost of system performance. On the other hand, the ever-increasing core counts in multicore platform provides in-memory computing with abundant computing power. However, in-memory computing also faces new challenges. First, with the system bottleneck shifted from I/O to CPU and memory, it has been a key issue to design highly scalable in-memory computing system to harness large-scale memory and processor cores. Second, the volatility of memory also make it a vital issue to provide efficient system reliability support.A major obstacle to implement highly scalable in-memory computing system is providing efficient concurrent access to shared resources. Traditional optimizing ap-proaches include using fine-grained locks or atomic instructions for such concurrent accesses. However, such approaches may either increase the complexity of design and implementation, leading to code that are hard to reason its correctness, or require con-servative strategies that constrains potential parallelism. Besides, the need of adding high readability further limits the performance and scalability of in-memory systems.The emergence and commercial production of Hardware Transactional Memory (HTM) offers a new way to build a scalable and reliable in-memory system. However, due to limitations in silicon fabrication, commercial HTM also comes with several re-strictions, and thus are usually referred to as Restricted Transactional Memory (RTM). Typical restrictions include limited working set to accommodate large dataset of in-memory computing, limited transactional execution length due to interrupts and system events. Moreover, there is no persistency support for HTM such that it cannot guarantee consistency in case of power failure.This dissertation describes a series of research that using HTM to build highly scalable in-memory computing systems. Specifically, this dissertation systematically characterizes the features with commercial HTM, and investigates its usages to scalable in-memory computing systems crossing multiple layers:1) In the data storage layer, we build a scalable in-memory key-value storage based on RTM to support unstructured data access; We also build RTM to build a highly scalable in-memory database man- agement system, which provide structured data store and transactional processing; 2) In the concurrency control layer, we design and implement a new concurrency control mechanism with interleaving constrained transaction chopping based on RTM:3) In the processor level, we introduce the persistent hardware transactional memory (PTM) that increases the reliability of in-memory system based on PTM.The followings detail the contributions in this dissertation:1. A set of techniques to parallelize the data structure with RTM, which is for scal-able in-memory key-value store. A set of optimizations, including memory pre-allocation, compilation optimization and cache line alignment are used to improve scalable data structures (b+ tree, skiplist, hashtable and cuckoohash) for ordered and unordered key-value accesses. Evaluation shows that the key-value store based on RTM has 10% performance improvement than Masstree, which is the fastest known storage for sorted key-value pairs.2. A set of techniques to build a scalable in-memory database with an Optimistic Concurrency Control (OCC) mechanism using RTM. Many techniques, such as conflict detection based on sequence number, record prefetch and commit with memory reference replacement, are utilized to improve the OCC mechanism for sake of limitations and characteristics in RTM. The database system achieves 506,817 transactions per second on a 4-core machine, which is 60% faster than Silo, a most efficient in-memory database known in the evaluation.3. A new concurrency control mechanism with interleaving constrained transaction chopping, equipped with RTM for high scalability. It can provide serializability for chopping at any granularity, which is based on constrained execution ordered of transactions. RTM is used to protect critical sections of transactions for atom-icity and consistency. In the experiment, the mechanism has 30% performance improvement over the traditional Optimistic Concurrency Control and Two Phase Locking mechanism. Even if there is heavy contention, this mechanism can also provide high scalability.4. A new design that adds persistent support for hardware transaction memory with non-volatile memory. Scoreboard and undo log are used to guarantee that the sys-tem can restore to the consistent state before a disaster, such as power failure. A reasonable design is given to insure that the system can recover from power fail-ure. The evaluation shows that only 10% cache line eviction overhead is incurred for key-value store.
Keywords/Search Tags:in-memory computating, scalability, hardware transactional memory
PDF Full Text Request
Related items