Maximum-Contention Control Unit (MCCU): Resource Access Count and Contention Time Enforcement
Jordi Cardona1,2, Carles Hernandez1, Jaume Abella1 and Francisco J. Cazorla1,3
1Barcelona Supercomputing Center
2Universitat Politècnica de Catalunya
3IIIA-CSIC
ABSTRACT
In real-time systems, the techniques to derive bounds to the contention tasks can suffer in multicore build on resource quota monitoring and enforcement. Existing techniques track and bound the number of requests to hardware shared resources that each core (task) is allowed to perform. In this paper we show that current software-only solutions work well when there is a single resource and type of request to track and bound, but do not scale to the more general case of several shared resources that accept different request types, each with a different associated latency. To handle this (more general) case, we propose low-overhead hardware support called Maximum-Contention Control Unit (MCCU). The MCCU performs fine-grain tracking of different types of requests, preventing a core to cause more interference on its contenders than budgeted. In this process, the MCCU also helps verifying that individual requests duration does not exceed their theoretical bounds, hence dealing with scenarios in which requests can have an arbitrarily large duration.