Show simple item record

OpLog: a library for scaling update-heavy data structures

dc.date.accessioned2014-09-16T19:30:05Z
dc.date.accessioned2018-11-26T22:27:14Z
dc.date.available2014-09-16T19:30:05Z
dc.date.available2018-11-26T22:27:14Z
dc.date.issued2014-09-16
dc.identifier.urihttp://hdl.handle.net/1721.1/89653
dc.identifier.urihttp://repository.aust.edu.ng/xmlui/handle/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.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


Files in this item

FilesSizeFormatView
MIT-CSAIL-TR-2014-019.pdf257.7Kbapplication/pdfView/Open

This item appears in the following Collection(s)

Show simple item record

Creative Commons Attribution 4.0 International
Except where otherwise noted, this item's license is described as Creative Commons Attribution 4.0 International