Show simple item record

dc.contributor.advisorNickolai Zeldovich
dc.contributor.authorBoyd-Wickizer, Silasen_US
dc.contributor.authorKaashoek, M. Fransen_US
dc.contributor.authorMorris, Roberten_US
dc.contributor.authorZeldovich, Nickolaien_US
dc.contributor.otherParallel and Distributed Operating Systemsen
dc.date.accessioned2014-09-16T19:30:05Z
dc.date.available2014-09-16T19:30:05Z
dc.date.issued2014-09-16
dc.identifier.urihttp://hdl.handle.net/1721.1/89653
dc.description.abstractExisting 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.en_US
dc.format.extent13 p.en_US
dc.relation.ispartofseriesMIT-CSAIL-TR-2014-019en_US
dc.rightsCreative Commons Attribution 4.0 International*
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/en_US
dc.titleOpLog: a library for scaling update-heavy data structuresen_US
dc.date.updated2014-09-16T19:30:05Z


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record