Parallel execution for conflicting transactions

Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015.

Bibliographic Details
Main Author: Narula, Neha
Other Authors: Robert T. Morris and Eddie Kohler.
Format: Thesis
Language:eng
Published: Massachusetts Institute of Technology 2015
Subjects:
Online Access:http://hdl.handle.net/1721.1/99779
_version_ 1826194502902087680
author Narula, Neha
author2 Robert T. Morris and Eddie Kohler.
author_facet Robert T. Morris and Eddie Kohler.
Narula, Neha
author_sort Narula, Neha
collection MIT
description Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015.
first_indexed 2024-09-23T09:57:06Z
format Thesis
id mit-1721.1/99779
institution Massachusetts Institute of Technology
language eng
last_indexed 2024-09-23T09:57:06Z
publishDate 2015
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/997792019-04-10T12:53:08Z Parallel execution for conflicting transactions Narula, Neha Robert T. Morris and Eddie Kohler. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015. This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections. Cataloged from student-submitted PDF version of thesis. Includes bibliographical references (pages 75-79). Multicore main-memory databases only obtain parallel performance when transactions do not conflict. Conflicting transactions are executed one at a time in order to ensure that they have serializable effects. Sequential execution on contended data leaves cores idle and reduces throughput. In other parallel programming contexts---not serializable transactions--techniques have been developed that can reduce contention on shared variables using per-core state. This thesis asks the question, can these techniques apply to a general serializable database? This work introduces a new concurrency control technique, phase reconciliation, that uses per-core state to greatly reduce contention on popular database records for many important workloads. Phase reconciliation uses the idea of synchronized phases to amortize the cost of combining per-core data and to extract parallelism. Doppel, our phase reconciliation database, repeatedly cycles through joined and split phases. Joined phases use traditional concurrency control and allow any transaction to execute. When workload contention causes unnecessary sequential execution, Doppel switches to a split phase. During a split phase, commutative operations on popular records act on per-core state, and thus proceed in parallel on different cores. By explicitly using phases, phase reconciliation realizes two important performance benefits: First, it amortizes the potentially high costs of aggregating per-core state over many transactions. Second, it can dynamically split data or not based on observed contention, handling challenging, varying workloads. Doppel achieves higher performance because it parallelizes transactions on popular data that would be run sequentially by conventional concurrency control. Phase reconciliation helps most when there are many updates to a few popular database records. On an 80-core machine, its throughput is up to 38x higher than conventional concurrency control protocols on microbenchmarks, and up to 3x on a larger application, at the cost of increased latency for some transactions. by Neha Narula. Ph. D. 2015-11-09T19:12:32Z 2015-11-09T19:12:32Z 2015 2015 Thesis http://hdl.handle.net/1721.1/99779 927409490 eng M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. http://dspace.mit.edu/handle/1721.1/7582 79 pages application/pdf Massachusetts Institute of Technology
spellingShingle Electrical Engineering and Computer Science.
Narula, Neha
Parallel execution for conflicting transactions
title Parallel execution for conflicting transactions
title_full Parallel execution for conflicting transactions
title_fullStr Parallel execution for conflicting transactions
title_full_unstemmed Parallel execution for conflicting transactions
title_short Parallel execution for conflicting transactions
title_sort parallel execution for conflicting transactions
topic Electrical Engineering and Computer Science.
url http://hdl.handle.net/1721.1/99779
work_keys_str_mv AT narulaneha parallelexecutionforconflictingtransactions