Logical leases : scalable hardware and software systems through time traveling
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
MetadataShow full item record
Parallelism is the key to performance in modern computer systems. However, parallel systems are hard to design and to use. Challenges of parallelism exist across the whole system stack in both hardware and software. In this thesis, we improve the scalability and performance of shared-memory parallel systems in both hardware and software. We propose a simple technique, called logical leases, to achieve this goal. Logical leases allow a parallel system to dynamically reorder operations to minimize conflicts, leading to high performance and scalability. The power of logical leases comes from its novel way of combining physical and logical time. The new notion of time, called physiological time, is more flexible and efficient than pure physical or logical time alone. We implemented three systems based on logical leases. Tardis leverages logical leases to implement a scalable cache coherence protocol for multicore shared-memory processors. Compared to the widely-adopted directory-based cache coherence protocol, and its variants, Tardis avoids multicasting and broadcasting and only requires [theta](logN) storage per cache block for an N-core system rather than [theta](N) sharer information. Compared to directory-based counterparts, Tardis has lower storage overheads, lower network traffic, higher performance, and yet is simpler to reason about. We present the basic protocol, its extensions and optimizations, and a formal proof of correctness of Tardis. TicToc leverages logical leases to implement a high-performance concurrency control algorithm for on-line transaction processing (OLTP) database management systems (DBMSs). Based on logical leases, TicToc provides a simple way of serializing transactions logically at runtime. TicToc has no centralized bottleneck, and commits transactions that would be aborted by conventional concurrency control algorithms. TicToc outperforms its state-of-the-art counterparts by up to 92% while reducing aborts by up to 3.3 x. Sundial is a distributed concurrency control protocol, also based on logical leases. Sundial has two salient features. First, it uses a logical-lease-based distributed concurrency control algorithm to achieve high performance and low abort rate for distributed transactions. Second, it allows a server to cache data from remote servers at runtime while maintaining strong correctness guarantees (i.e., serializability). Sundial seamlessly integrates both features into a unified protocol which has low complexity. Evaluation shows that the distributed concurrency control algorithm in Sundial improves system performance by up to 57%, compared to the best baseline protocol we evaluate. Caching further improves performance by up to 3 x when hotspot read-intensive tables exist.
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2018.Cataloged from PDF version of thesis.Includes bibliographical references (pages 211-221).
DepartmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
Massachusetts Institute of Technology
Electrical Engineering and Computer Science.