Memory-mapped transactions

Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2005.

Bibliographic Details
Main Author: Sukha, Jim
Other Authors: Charles E. Leiserson and Bradley C. Kuszmaul.
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