OpLog: a library for scaling update-heavy data structures
Garrett Wollman
wollman at csail.mit.edu
Tue Sep 16 19:38:27 UTC 2014
I just wanted to point out the following recent publication by people
who happen to work in the same building as I do:
OpLog: a library for scaling update-heavy data structures
Author: Boyd-Wickizer, Silas; Kaashoek, M. Frans; Morris, Robert;
Zeldovich, Nickolai
Citable URI: http://hdl.handle.net/1721.1/89653
Other Contributors: Parallel and Distributed Operating Systems
Advisor: Nickolai Zeldovich
Date Issued: 2014-09-16
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.
URI: http://hdl.handle.net/1721.1/89653
Series/Report no.: MIT-CSAIL-TR-2014-019
-GAWollman
More information about the freebsd-arch
mailing list