Mobile version of Hanspub
Information Technology Journal

Critical Thread Guided Fine-Grained Adaptive Capacity Management for Shared CMP Caches

Xu X. and Peng M.

OpenMPcritical threadLoad balancingcache allocation

With the shift towards Chip Multiprocessors (CMPs), load imbalance between the different CPU due to causes not controlled by the application developer, resulting in significant performance degradation and waste of CPU time. Although there are many techniques to address load imbalance at run-time, as it happens, these techniques may not be particularly effective when the cause of the imbalance is due to the performance sensitivity of the parallel threads when accessing a shared cache. To this end, we present a novel run-time mechanism, using criticality prediction to guide cache space allocate, with minimal hardware, that automatically tries to balance parallel applications using dynamic cache allocation. The mechanism detects which thread is critical and reduces imbalance by assigning more cache space to the slowest threads. This experiment on a detailed microprocessor simulator with the Computer Vision and Data Mining applications reveal that this scheme can improve performance from 1-6%. Fine-grained temporal control is particularly important for parallel applications which are expected to be increasingly prevalent in years to come.