Memory-mapped transactions
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2005.
Main Author: | |
---|---|
Other Authors: | |
Format: | Thesis |
Language: | eng |
Published: |
Massachusetts Institute of Technology
2006
|
Subjects: | |
Online Access: | http://hdl.handle.net/1721.1/33363 |
_version_ | 1826202772836450304 |
---|---|
author | Sukha, Jim |
author2 | Charles E. Leiserson and Bradley C. Kuszmaul. |
author_facet | Charles E. Leiserson and Bradley C. Kuszmaul. Sukha, Jim |
author_sort | Sukha, Jim |
collection | MIT |
description | Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2005. |
first_indexed | 2024-09-23T12:18:23Z |
format | Thesis |
id | mit-1721.1/33363 |
institution | Massachusetts Institute of Technology |
language | eng |
last_indexed | 2024-09-23T12:18:23Z |
publishDate | 2006 |
publisher | Massachusetts Institute of Technology |
record_format | dspace |
spelling | mit-1721.1/333632019-04-11T02:02:14Z Memory-mapped transactions Sukha, Jim Charles E. Leiserson and Bradley C. Kuszmaul. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2005. Includes bibliographical references (p. 149-154). Memory-mapped transactions combine the advantages of both memory mapping and transactions to provide a programming interface for concurrently accessing data on disk without explicit I/O or locking operations. This interface enables a programmer to design a complex serial program that accesses only main memory, and with little to no modification, convert the program into correct code with multiple processes that can simultaneously access disk. I implemented LIBXAC, a prototype for an efficient and portable system supporting memory-mapped transactions. LIBXAC is a C library that supports atomic transactions on memory-mapped files. LIBXAC guarantees that transactions are serializable, and it uses a multiversion concurrency control algorithm to ensure that all transactions, even aborted transactions, always see a consistent view of a memory-mapped file. LIBXAC was tested on Linux, and it is portable because it is written as a user-space library, and because it does not rely on special operating system support for transactions. With LIBXAC, I was easily able to convert existing serial, memory-mapped implementations of a B+-tree and a cache-oblivious B-tree into parallel versions that support concurrent searches and insertions. (cont.) To test the performance of memory-mapped transactions, I ran several experiments inserting elements with random keys into the LIBXAC B+-tree and LIBXAC cache-oblivious B-tree. When a single process performed each insertion as a durable transaction, the LIBXAC search trees ran between 4% slower and 67% faster than the B-tree for Berkeley DB, a high-quality transaction system. Memory-mapped transactions have the potential to greatly simplify the programming of concurrent data structures for databases. by Jim Sukha. M.Eng. 2006-07-13T15:18:22Z 2006-07-13T15:18:22Z 2005 2005 Thesis http://hdl.handle.net/1721.1/33363 62459079 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 154 p. 8513417 bytes 8519857 bytes application/pdf application/pdf application/pdf Massachusetts Institute of Technology |
spellingShingle | Electrical Engineering and Computer Science. Sukha, Jim Memory-mapped transactions |
title | Memory-mapped transactions |
title_full | Memory-mapped transactions |
title_fullStr | Memory-mapped transactions |
title_full_unstemmed | Memory-mapped transactions |
title_short | Memory-mapped transactions |
title_sort | memory mapped transactions |
topic | Electrical Engineering and Computer Science. |
url | http://hdl.handle.net/1721.1/33363 |
work_keys_str_mv | AT sukhajim memorymappedtransactions |