Optimizing communication bottlenecks in multiprocessor operating system kernels

Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014.

Bibliographic Details
Main Author: Boyd-Wickizer, Silas
Other Authors: Robert Morris.
Format: Thesis
Language:eng
Published: Massachusetts Institute of Technology 2014
Subjects:
Online Access:http://hdl.handle.net/1721.1/87914
_version_ 1811072296926838784
author Boyd-Wickizer, Silas
author2 Robert Morris.
author_facet Robert Morris.
Boyd-Wickizer, Silas
author_sort Boyd-Wickizer, Silas
collection MIT
description Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014.
first_indexed 2024-09-23T09:03:43Z
format Thesis
id mit-1721.1/87914
institution Massachusetts Institute of Technology
language eng
last_indexed 2024-09-23T09:03:43Z
publishDate 2014
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/879142019-04-10T20:29:02Z Optimizing communication bottlenecks in multiprocessor operating system kernels Boyd-Wickizer, Silas Robert Morris. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014. Cataloged from PDF version of thesis. Includes bibliographical references (pages 63-64). One difficulty of programming multicore processors is achieving performance that scales with the number of cores in the system. A common performance optimization is to increase inter-core parallelism. If the application is sufficiently parallelized, developers might hope that performance would scale as core count increases. Unfortunately for some applications, such as operating system kernels, parallelization reveals inter-core communication as a performance bottleneck. When data is updated on one core and read or written on other cores, the cache coherence protocol serializes accesses to the data. The result is that each access to the shared data can take hundreds to thousands of cycles, depending on how many cores are contending for the data. This dissertation focuses on optimizing communication bottlenecks caused by update-heavy workloads, where a data structure is frequently updated but rarely read. Such data structures are commonly used for operating system kernel bookkeeping, such as LRU lists, reverse maps in virtual memory, and file system notification queues. This dissertation identifies bottlenecks in the Linux kernel caused by update-heavy data structures, presents a general approach for optimizing communication in update-heavy data structures, and presents a library called OpLog that embodies this approach and helps developers achieve good scalability for update-heavy data structures. OpLog achieves scalability by logging update operations in per-core logs, and combining the logs only when required by a read to the data structure. Measurements on a 48-core AMD server show that applying OpLog to update-heavy data structures in the Linux kernel significantly improves application performance under certain workloads. by Silas Boyd-Wickizer. Ph. D. 2014-06-13T22:31:38Z 2014-06-13T22:31:38Z 2014 2014 Thesis http://hdl.handle.net/1721.1/87914 880138377 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 64 pages application/pdf Massachusetts Institute of Technology
spellingShingle Electrical Engineering and Computer Science.
Boyd-Wickizer, Silas
Optimizing communication bottlenecks in multiprocessor operating system kernels
title Optimizing communication bottlenecks in multiprocessor operating system kernels
title_full Optimizing communication bottlenecks in multiprocessor operating system kernels
title_fullStr Optimizing communication bottlenecks in multiprocessor operating system kernels
title_full_unstemmed Optimizing communication bottlenecks in multiprocessor operating system kernels
title_short Optimizing communication bottlenecks in multiprocessor operating system kernels
title_sort optimizing communication bottlenecks in multiprocessor operating system kernels
topic Electrical Engineering and Computer Science.
url http://hdl.handle.net/1721.1/87914
work_keys_str_mv AT boydwickizersilas optimizingcommunicationbottlenecksinmultiprocessoroperatingsystemkernels