Cache Management for Critical Sections on Multiprocessors
Multi-core processors seek for a large last level cache to enhance the overall performance of the system. The problem however is that this last level cache is shared among all the cores which causes inter- and intra- core cache interference between the tasks running on
these core. Page Coloring is a popular software cache partitioning approach to address the issue of inter-core cache interference. Also, to utilize multi-core processors better in real-time domain requires task allocation, scheduling and synchronization. Prior works have
addressed the issues of scheduling penalties for multi-core processors and software cache partitioning scheme on multiprocessors independently. However, no prior work exist which considered both. Hence, in this thesis, we considered software cache partitioning scheme for the tasks having critical section accessing shared memory on multiprocessors. So for our approach which considers both, we propose a framework which eliminates the inter-core cache interference and bounds the intra-core cache interference for multi-core processors. For our approach we analyzed task schedulability and proposed a cache aware task allocation algorithm. We evaluated our proposed framework in Linux/RK environment on ODROID-XU4 board which is an ARM platform. We use the execution time as our performance metric. Also, we use the page coloring scheme of Linux/RK environment to assign colors to these tasks. As our proposed framework is the first work which considers both, so we can not compare it with the previous work.