*********************************
There is now a CONTENT FREEZE for Mercury while we switch to a new platform. It began on Friday, March 10 at 6pm and will end on Wednesday, March 15 at noon. No new content can be created during this time, but all material in the system as of the beginning of the freeze will be migrated to the new platform, including users and groups. Functionally the new site is identical to the old one. webteam@gatech.edu
*********************************
In multi-core and simultaneously-multi-threaded processors, various resources are designed to be shared by the concurrently running threads, such as the memory bandwidth and caches. Though it is good to be able to run multiple programs on a single chip at the same time, sometimes the shared resource contention is a big problem for system performance. Naïve hard-partitioning between threads can result in low resource utilization. This work proposes simple and effective approaches to dynamically manage the shared resource to solve the contention problem. Our initial experimental results show that resource contention exist in many places in a system and the performance can be increased significantly by adding very low overhead hardware. The contributions of this work are the following: (1) a technique for dynamic on-line classification of application memory access behaviors to predict the usefulness of cache partitioning; and a simple shared-cache management approach based on the classification; (2) a cache pseudo-partition technique that manipulates insertion and promotion policies; (3) a scalable algorithm to quickly decide the cache partitions; (4) pseudo-LRU cache partition approximation; (5) techniques to decongest the level 1 cache MSHR traffic in SMT processors; and (6) shared branch predictor management in SMT processor.