As the shift to multicore has become a major trend of processor development, the adaptive real-time solution on mulitcore architecture is recognized as a hot topic in both research and industry domain. As a prevailing multicore architecture, shared on-chip cache improves flexibility and communication efficiency. But at the same time, the access from different tasks introduces severe contentions on the shared cache, thus raises the unpredictability of the program and the difficulty of analyzing the system real-time feature.Cache isolation, a way to separate shared cache, can be employed to avoid contentions on the cache, and page-coloring is one such alternative software-level technic. Based on this method, this thesis analyses the performance improvements that result from cache isolation.This thesis firstly addresses the contention caused by the shared cache, then explores how to apply page-coloring to implement cache isolation. According to the different features of the program, thesis categorizes two kinds of the isolation methods, static color isolation and dynamic color isolation, wherein the static color isolation is further divided into color multiplexing and color monopoly. Through the careful contrast and testbed trial of these methods, this thesis compares the possibility and constraint of each method, and employs static color isolation method to implement the cache isolation mechanism within Linux. Through the experiment, it can be seen that the cache isolation could substaintially avoid the contentions on shared cache, and improve the system predictability. |