SLIDE 1
Title : An Introduction to Cache quality of service in Linux Problem statement: In today’s new processors the number of cores is continuously increasing, especially in large scale usage models where VMs are used like webservers and datacenters. The number of cores increases the number of threads or workloads that can simultaneously be run. When multi-threaded - applications, VMs, workloads run concurrently they compete for shared resources including L3 cache. At times, this L3 cache resource contention may result in inefficient space
- utilization. For example a higher priority thread may end up with lesser L3
cache resource or a cache sensitive app may not get optimal cache
- ccupancy thereby degrading the performance. Going further data intensive
workload specific needs like being able to use more L3 cache for data vs instruction is not addressed. Enterprise workload data collected using SPEC CPU2006 have clearly demonstrated a significant increase in performance at higher cacheoccupancy and workload performance being sensitive to cache
- ccupancy [1]. Data is available which demonstrates offending applications
can thrash cache occupancy[2]. The need for an effective Shared cache management dynamically in servers and cloud has been a topic of several discussions [3],[4]. Proposal for Cache QOS linux kernel framework: In the past , linux kernel has tolerated such degradations in performance due to possible L3 resource contention. However the analytical methods to detect and resolve issues have been mostly indirect. The linux kernel framework for Cache QOS tries to help address these gaps in OS L3 cache resource management using the underlying Intel Xeon based capabilities. The framework at first helps in precisely detecting L3 cache resource
- ccupancy and then to modify L3 allocations on each socket to address