Cache Pathology Report of Linux System Calls

A2 | Fri 25 Jan | 10:40 a.m.–11:25 a.m.


Presented by

  • Xi Yang
    @hiyangxi
    https://yangxi.github.io

    Xi Yang is a PhD. student at Australian National University and a software engineer at Confluent. His research interests are programing language implementations, computer architecture, and operating systems, especially micro-architecture aware optimizations.

Abstract

Linux system calls have complex and large instruction footprints leading to poor cache utilization on modern CPUs. The poor locality has a strong impact on the performance of both the kernel and applications. However, understanding kernel cache behavior is not easy because system calls are fast and run in the context of the user process. This talk presents a high frequency profiler called SHIM-PT that can help developers to understand the relationship between the code and kernel cache usage by correlating CPU performance counters with instruction flows of system calls on modern CPUs. SHIM-PT uses the SHIM profiler to record micro-architecture behavior by sampling performance counters at a high frequency. At the same time, it records instruction traces of system calls with the Simple-PT tracer. Then SHIM-PT correlates the two signals and reports the cache usage. With Kafka as the workload, we show the importance of kernel performance, the cache usage of system calls and root causes of poor cache locality.