2015/02/08 by Heechul Yun, Yun, Heechul, Santosh Gondi +4
Computer Science · #Distributed systems and fault tolerance #FOS: Computer and information sciences #Operating Systems (cs.OS) #Parallel Computing and Optimization Techniques #Real-Time Systems Scheduling #cs.OS
paper · pdf · doi:10.48550/arxiv.1502.02287
technical report
arxiv created 2015/02/08 · openalex publication_date 2015/02/08 · arxiv updated 2015/02/10 · openalex created_date 2016/06/24 · openalex updated_date 2026/07/28
Soft real-time applications such as multimedia applications often show bursty memory access patterns---regularly requiring a high memory bandwidth for a short duration of time. Such a period is often critical for timely data processing. Hence, we call it a memory-performance critical section. Unfortunately, in multicore architecture, non-real-time applications on different cores may also demand high memory bandwidth at the same time, which can substantially increase the time spent on the memory performance critical sections. In this paper, we present BWLOCK, user-level APIs and a memory bandwidth control mechanism that can protect such memory performance critical sections of soft real-time applications. BWLOCK provides simple lock like APIs to declare memory-performance critical sections. If an application enters a memory-performance critical section, the memory bandwidth control system then dynamically limit other cores' memory access rates to protect memory performance of the application until the critical section finishes. From case studies with real-world soft real-time applications, we found (1) such memory-performance critical sections do exist and are often easy to identify; and (2) applying BWLOCK for memory critical sections significantly improve performance of the soft real-time applications at a small or no cost in throughput of non real-time applications.