title an introduction to cache quality of service in
play

Title : An Introduction to Cache quality of service in Linux Problem - PDF document

Title : An Introduction to Cache quality of service in Linux Problem statement: In todays new processors the number of cores is continuously increasing, especially in large scale usage models where VMs are used like webservers and


  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 occupancy 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 occupancy [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 occupancy and then to modify L3 allocations on each socket to address performance issues. perf and cgroup based command line user interface is provided to monitor L3 cache usage and make L3 cache allocations (including shared allocations) at different granularities like per workload ,VM, thread or cgroup. Framework is designed to optimize the usage of underlying QOS h/w resources with minimal interference to OS critical paths.

  2. Some of use cases would be to monitor L3 cache for groups of applications like streaming apps which would use high levels of cache in quick intervals, compute intensive apps, high priority UI intensive apps. System administrators or low level userspace developers can use the framework to analyze cache usage data, find L3 cache contentions and optimal cache size for each workloads. Applications can then be rebalanced on sockets and allocated optimal cache lines to achieve better Quality of service. Relevance to Linux/Results: This kernel framework will help to understand the shared cache usage foot print accurately on linux with thread level granularity or variable granularity. This would help adoption of linux for OEMs who are interested in providing quality of service gaurentees on their data centers. There is growing usage and interest for the kernel QOS framework in the Linux community and enterprise users from redhat,amazon and including several Data center groups. And recently there has been interest shown for cloud integration of the feature as well. This feature may effectively provide a performance edge for Intel x86 based data centers/cloud platforms or server clusters. Preliminary results have also been shown in data collected by different teams [1]. Audience: Kernel and low level userspace developers, system administrators, marketing groups are targeted by the discussion of Cache QOS subsystem. At this early stage of development audience can provide feedback and collaborate ideas or requirements. Why I am the right presenter? I have been involved in the project since we started working on cache QOS. Also involved in all the design, implementation and upstreaming of kernel patches. [1],[2]. https://software.intel.com/en-us/blogs/2014/12/11/intels-cache-monitoring- technology-use-models-and-data

  3. [3]. http://dl.acm.org/citation.cfm?id=1880039 [4]. http://rd.springer.com/article/10.1186%2F2192-113X-2-1

Recommend


More recommend