Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Computer Science and Artificial Intelligence Lab (CSAIL)
  3. CSAIL Digital Archive
  4. CSAIL Technical Reports (July 1, 2003 - present)
  5. OpLog: a library for scaling update-heavy data structures

OpLog: a library for scaling update-heavy data structures

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2014-019.pdf

Size

251.71 KB

Format

Adobe PDF

Checksum (MD5)

d9405bc91a22f7e0942a984cdc0e14e7

Download all files submitted through automated deposit
nickolai@CSAIL.MIT.EDU-541888e9.29807.zip (233.03 KB)
Author(s)
Boyd-Wickizer, Silas
•
Kaashoek, M. Frans
•
Morris, Robert
•
Zeldovich, Nickolai
Advisor(s)
Nickolai Zeldovich
Date Issued
September 16, 2014
Series/Report no.
MIT-CSAIL-TR-2014-019
Abstract
Existing techniques (e.g., RCU) can achieve good multi-core scaling for read-mostly data, but for update-heavy data structures only special-purpose techniques exist. This paper presents OpLog, a general-purpose library supporting good scalability for update-heavy data structures. OpLog achieves scalability by logging each update in a low-contention per-core log; it combines logs only when required by a read to the data structure. OpLog achieves generality by logging operations without having to understand them, to ease application to existing data structures. OpLog can further increase performance if the programmer indicates which operations can be combined in the logs. An evaluation shows how to apply OpLog to three update-heavy Linux kernel data structures. Measurements on a 48-core AMD server show that the result significantly improves the performance of the Apache web server and the Exim mail server under certain workloads.
Terms of Use
Creative Commons Attribution 4.0 International
http://creativecommons.org/licenses/by/4.0/
Persistent DSpace Link
http://hdl.handle.net/1721.1/89653
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.