Effective Cache Apportioning for Performance Isolation Under Compiler Guidance
With a growing number of cores per socket in modern data-centers where multi-tenancy of a diverse set of applications must be efficiently supported, effective sharing of the last level cache is a very important problem. This is challenging because modern workloads exhibit dynamic phase behavior - their cache requirements sensitivity vary across different execution points. To tackle this problem, we propose Com-CAS, a compiler-guided cache apportioning system that provides smart cache allocation to co-executing applications in a system. The front-end of Com-CAS is primarily a compiler-framework equipped with learning mechanisms to predict cache requirements, while the backend consists of an allocation framework with a pro-active scheduler that apportions cache dynamically to co-executing applications. Our system improved average throughput by 21 application execution time degradation within 15
READ FULL TEXT