Real-time systems on multicore platforms: managing hardware resources for predictable execution

Shared hardware resources in commodity multicore processors are subject to contention from co-running threads. The resultant interference can lead to highly-variable performance for individual applications. This is particularly problematic for real-time applications, which require predictable timing...

Full description

Bibliographic Details
Main Author: Ye, Ying
Language:en_US
Published: 2018
Subjects:
Online Access:https://hdl.handle.net/2144/27475
id ndltd-bu.edu-oai-open.bu.edu-2144-27475
record_format oai_dc
spelling ndltd-bu.edu-oai-open.bu.edu-2144-274752019-12-22T15:11:43Z Real-time systems on multicore platforms: managing hardware resources for predictable execution Ye, Ying Computer science Cache Memory Multicore resource management Operating system Real-time Virtualization Shared hardware resources in commodity multicore processors are subject to contention from co-running threads. The resultant interference can lead to highly-variable performance for individual applications. This is particularly problematic for real-time applications, which require predictable timing guarantees. It also leads to a pessimistic estimate of the Worst Case Execution Time (WCET) for every real-time application. More CPU time needs to be reserved, thus less applications can enter the system. As the average execution time is usually far less than the WCET, a significant amount of reserved CPU resource would be wasted. Previous works have attempted partitioning the shared resources, amongst either CPUs or processes, to improve performance isolation. However, they have not proven to be both efficient and effective. In this thesis, we propose several mechanisms and frameworks that manage the shared caches and memory buses on multicore platforms. Firstly, we introduce a multicore real-time scheduling framework with the foreground/background scheduling model. Combining real-time load balancing with background scheduling, CPU utilization is greatly improved. Besides, a memory bus management mechanism is implemented on top of the background scheduling, making sure bus contention is under control while utilizing unused CPU cycles. Also, cache partitioning is thoroughly studied in this thesis, with a cache-aware load balancing algorithm and a dynamic cache partitioning framework proposed. Lastly, we describe a system architecture to integrate the above solutions all together. It tackles one of the toughest problems in OS innovation, legacy support, by converting existing OSes into libraries in a virtualized environment. Thus, within a single multicore platform, we benefit from the fine-grained resource control of a real-time OS and the richness of functionality of a general-purpose OS. 2018-03-14T15:26:39Z 2018-03-14T15:26:39Z 2017 2018-02-22T17:26:58Z Thesis/Dissertation https://hdl.handle.net/2144/27475 en_US
collection NDLTD
language en_US
sources NDLTD
topic Computer science
Cache
Memory
Multicore resource management
Operating system
Real-time
Virtualization
spellingShingle Computer science
Cache
Memory
Multicore resource management
Operating system
Real-time
Virtualization
Ye, Ying
Real-time systems on multicore platforms: managing hardware resources for predictable execution
description Shared hardware resources in commodity multicore processors are subject to contention from co-running threads. The resultant interference can lead to highly-variable performance for individual applications. This is particularly problematic for real-time applications, which require predictable timing guarantees. It also leads to a pessimistic estimate of the Worst Case Execution Time (WCET) for every real-time application. More CPU time needs to be reserved, thus less applications can enter the system. As the average execution time is usually far less than the WCET, a significant amount of reserved CPU resource would be wasted. Previous works have attempted partitioning the shared resources, amongst either CPUs or processes, to improve performance isolation. However, they have not proven to be both efficient and effective. In this thesis, we propose several mechanisms and frameworks that manage the shared caches and memory buses on multicore platforms. Firstly, we introduce a multicore real-time scheduling framework with the foreground/background scheduling model. Combining real-time load balancing with background scheduling, CPU utilization is greatly improved. Besides, a memory bus management mechanism is implemented on top of the background scheduling, making sure bus contention is under control while utilizing unused CPU cycles. Also, cache partitioning is thoroughly studied in this thesis, with a cache-aware load balancing algorithm and a dynamic cache partitioning framework proposed. Lastly, we describe a system architecture to integrate the above solutions all together. It tackles one of the toughest problems in OS innovation, legacy support, by converting existing OSes into libraries in a virtualized environment. Thus, within a single multicore platform, we benefit from the fine-grained resource control of a real-time OS and the richness of functionality of a general-purpose OS.
author Ye, Ying
author_facet Ye, Ying
author_sort Ye, Ying
title Real-time systems on multicore platforms: managing hardware resources for predictable execution
title_short Real-time systems on multicore platforms: managing hardware resources for predictable execution
title_full Real-time systems on multicore platforms: managing hardware resources for predictable execution
title_fullStr Real-time systems on multicore platforms: managing hardware resources for predictable execution
title_full_unstemmed Real-time systems on multicore platforms: managing hardware resources for predictable execution
title_sort real-time systems on multicore platforms: managing hardware resources for predictable execution
publishDate 2018
url https://hdl.handle.net/2144/27475
work_keys_str_mv AT yeying realtimesystemsonmulticoreplatformsmanaginghardwareresourcesforpredictableexecution
_version_ 1719306395020427264