Explore a groundbreaking technique called CFAR for automatically analyzing how systems code utilizes the CPU cache in this 15-minute conference talk from OSDI '24. Discover how CFAR employs program analysis and binary instrumentation to extract memory access patterns from code, then uses "projectors" to answer specific questions about cache usage. Learn about three example projectors that report on cache footprint scaling, cache hits and misses for different input classes, and potential vulnerabilities in cryptographic code due to secret-dependent cache access patterns. Examine the implementation of CFAR through case studies analyzing TCP stacks, cryptographic algorithms, system calls, and hash table implementations. Gain insights into how developers can leverage CFAR to identify performance issues and security vulnerabilities in their own code, as well as understand the performance implications of integrating third-party code without extensive benchmarking.
Overview
Syllabus
OSDI '24 - Automatically Reasoning About How Systems Code Uses the CPU Cache
Taught by
USENIX