Optimizing communication bottlenecks in multiprocessor operating system kernels
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014.
Main Author: | |
---|---|
Other Authors: | |
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 |