While current multicore architectures include early levels of small core-specific private caches, larger caches, the bus, memory controller, and other components of the memory subsystem are shared among multiple cores. When multiple processes or threads run in tandem, they can contend for these shared resources. This contention occurs when the working set of the neighboring processes or threads exceed the size of the private caches and relies on the shared memory resources. This contention can result in a significant degradation in application performance, counteracting the ability to achieve parallelism on multicore processors. When an application suffers a performance degradation due to contention for shared resources with an application on a separate processing core, we call this cross-core performance interference.
Research insight: Contention for shared resources is severely limiting our ability to realize the promised parallelism of multicore architectures.
The goals: of this research direction is to fully understand the nature of contention as it occurs in current commodity multicore processors, and to exploit this understanding to devise innovative approaches and mechanisms for mitigating the negative impact of this contention in current commodity multicore processors. This negative impact has implications in system performance, utilization, throughput, quality of service, etc.
Impact: Making significant progress in this direction will enable the continuation of Moore’s law via allocating transistors to implement higher degrees of parallel processing. (At the very least for multi-programmed workloads)
My related publications:
- “Directly Characterizing Cross Core Interference Through Contention Synthesis” at HiPEAC 2011
- “Contention Aware Execution: Online Contention Detection and Response” at CGO 2010
- “Synthesizing Contention” at WBIA 2009 (workshop @ MICRO 2009)
