{"title":"Taming Non-Blocking Caches to Improve Isolation in Multicore Real-Time Systems","authors":"P. K. Valsan, H. Yun, F. Farshchi","doi":"10.1109/RTAS.2016.7461361","DOIUrl":null,"url":null,"abstract":"In this paper, we show that cache partitioning does not necessarily ensure predictable cache performance in modern COTS multicore platforms that use non-blocking caches to exploit memory- level-parallelism (MLP). Through carefully designed experiments using three real COTS multicore platforms (four distinct CPU architectures) and a cycle- accurate full system simulator, we show that special hardware registers in non-blocking caches, known as Miss Status Holding Registers (MSHRs), which track the status of outstanding cache-misses, can be a significant source of contention; we observe up to 21X WCET increase in a real COTS multicore platform due to MSHR contention. We propose a hardware and system software (OS) collaborative approach to efficiently eliminate MSHR contention for multicore real-time systems. Our approach includes a low-cost hardware extension that enables dynamic control of per-core MLP by the OS. Using the hardware extension, the OS scheduler then globally controls each core's MLP in such a way that eliminates MSHR contention and maximizes overall throughput of the system. We implement the hardware extension in a cycle- accurate fullsystem simulator and the scheduler modification in Linux 3.14 kernel. We evaluate the effectiveness of our approach using a set of synthetic and macro benchmarks. In a case study, we achieve up to 19% WCET reduction (average: 13%) for a set of EEMBC benchmarks compared to a baseline cache partitioning setup.","PeriodicalId":338179,"journal":{"name":"2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS)","volume":"43 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"105","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RTAS.2016.7461361","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 105
Abstract
In this paper, we show that cache partitioning does not necessarily ensure predictable cache performance in modern COTS multicore platforms that use non-blocking caches to exploit memory- level-parallelism (MLP). Through carefully designed experiments using three real COTS multicore platforms (four distinct CPU architectures) and a cycle- accurate full system simulator, we show that special hardware registers in non-blocking caches, known as Miss Status Holding Registers (MSHRs), which track the status of outstanding cache-misses, can be a significant source of contention; we observe up to 21X WCET increase in a real COTS multicore platform due to MSHR contention. We propose a hardware and system software (OS) collaborative approach to efficiently eliminate MSHR contention for multicore real-time systems. Our approach includes a low-cost hardware extension that enables dynamic control of per-core MLP by the OS. Using the hardware extension, the OS scheduler then globally controls each core's MLP in such a way that eliminates MSHR contention and maximizes overall throughput of the system. We implement the hardware extension in a cycle- accurate fullsystem simulator and the scheduler modification in Linux 3.14 kernel. We evaluate the effectiveness of our approach using a set of synthetic and macro benchmarks. In a case study, we achieve up to 19% WCET reduction (average: 13%) for a set of EEMBC benchmarks compared to a baseline cache partitioning setup.
在本文中,我们表明,在使用非阻塞缓存来利用内存级并行性(MLP)的现代COTS多核平台中,缓存分区不一定能确保可预测的缓存性能。通过使用三个真实的COTS多核平台(四种不同的CPU架构)和一个周期精确的全系统模拟器精心设计的实验,我们表明,非阻塞缓存中的特殊硬件寄存器,称为Miss Status Holding寄存器(MSHRs),用于跟踪未完成的缓存未完成状态,可能是争用的重要来源;我们观察到,由于MSHR争用,在真正的COTS多核平台中,WCET增加了21倍。我们提出了一种硬件和系统软件(OS)协作的方法来有效地消除多核实时系统的MSHR争用。我们的方法包括一个低成本的硬件扩展,使操作系统能够动态控制每核MLP。使用硬件扩展,操作系统调度器然后全局控制每个核心的MLP,从而消除MSHR争用并最大限度地提高系统的总体吞吐量。我们在一个周期精确的全系统模拟器中实现了硬件扩展,并在Linux 3.14内核中实现了调度器的修改。我们使用一组综合和宏观基准来评估我们方法的有效性。在一个案例研究中,与基线缓存分区设置相比,我们在一组EEMBC基准测试中实现了19%的WCET减少(平均:13%)。