Abstract:
Simultaneous execution of multiple threads on multicores
is necessary for good resource utilization. However, such
utilization calls for accurate models to predict the impact on
performance due to contention of shared resources, primarily
the last level cache and memory. The major challenges in
developing such a model for commercial multicore machines
are the unavailability of cache implementation details and the
scalability of the performance prediction model for multiple
threads. In this paper we propose a cache contention model
addressing both these challenges. We leverage observed cache
behaviour and reuse distance profile of applications for this
purpose. We implement our model on a Xeon Sandy Bridge
multicore and observe an RMS error of less than 0.06, for single
threaded and multi-threaded workloads. Further we compare the
effectiveness of using ACCORD model against the popular LRU
Model and find that ACCORD is upto 2.7 times more accurate.