Show simple item record

dc.contributor.authorJones, Evan Philip Charles
dc.contributor.authorAbadi, Daniel J.
dc.contributor.authorMadden, Samuel R.
dc.date.accessioned2012-08-17T18:00:03Z
dc.date.available2012-08-17T18:00:03Z
dc.date.issued2010-01
dc.identifier.issn978-1-4503-0032-2
dc.identifier.urihttp://hdl.handle.net/1721.1/72192
dc.description.abstractDatabase partitioning is a technique for improving the performance of distributed OLTP databases, since "single partition" transactions that access data on one partition do not need coordination with other partitions. For workloads that are amenable to partitioning, some argue that transactions should be executed serially on each partition without any concurrency at all. This strategy makes sense for a main memory database where there are no disk or user stalls, since the CPU can be fully utilized and the overhead of traditional concurrency control, such as two-phase locking, can be avoided. Unfortunately, many OLTP applications have some transactions which access multiple partitions. This introduces network stalls in order to coordinate distributed transactions, which will limit the performance of a database that does not allow concurrency. In this paper, we compare two low overhead concurrency control schemes that allow partitions to work on other transactions during network stalls, yet have little cost in the common case when concurrency is not needed. The first is a light-weight locking scheme, and the second is an even lighter-weight type of speculative concurrency control that avoids the overhead of tracking reads and writes, but sometimes performs work that eventually must be undone. We quantify the range of workloads over which each technique is beneficial, showing that speculative concurrency control generally outperforms locking as long as there are few aborts or few distributed transactions that involve multiple rounds of communication. On a modified TPC-C benchmark, speculative concurrency control can improve throughput relative to the other schemes by up to a factor of two.en_US
dc.description.sponsorshipNational Science Foundation (U.S.). (Grant number IIS-0704424)en_US
dc.description.sponsorshipNational Science Foundation (U.S.). (Grant number IIS-0845643)en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/1807167.1807233en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alike 3.0en_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/en_US
dc.sourceMIT web domainen_US
dc.titleLow overhead concurrency control for partitioned main memory databasesen_US
dc.typeArticleen_US
dc.identifier.citationEvan P.C. Jones, Daniel J. Abadi, and Samuel Madden. 2010. Low overhead concurrency control for partitioned main memory databases. In Proceedings of the 2010 ACM SIGMOD International Conference on Management of data (SIGMOD '10). ACM, New York, NY, USA, 603-614.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.approverMadden, Samuel R.
dc.contributor.mitauthorJones, Evan Philip Charles
dc.contributor.mitauthorMadden, Samuel R.
dc.relation.journalProceedings of the 2010 ACM SIGMOD International Conference on Management of data (SIGMOD '10)en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
dspace.orderedauthorsJones, Evan P.C.; Abadi, Daniel J.; Madden, Samuelen
dc.identifier.orcidhttps://orcid.org/0000-0002-7470-3265
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record