Lune

OSDI2024Top-tier venue

Automatically Reasoning About How Systems Code Uses the CPU Cache

Rishabh R. Iyer, Katerina J. Argyraki, George Candea

2024Year
4Citations
2Top-tier citations

Abstract

We present a technique, called CFAR, that developers can use to reason precisely about how their code, as well as thirdparty code, uses the CPU cache. Given a piece of systems code P, CFAR employs program analysis and binary instrumentation to automatically "distill" how P accesses memory, and uses "projectors" on top of the extracted distillates to answer specific questions about P's cache usage. CFAR comes with three example projectors that report (1) how P's cache footprint scales across unseen inputs; (2) the cache hits and misses incurred by P for each class of inputs; and (3) potential vulnerabilities in cryptographic code caused by secretdependent cache-access patterns.

We implemented CFAR in an eponymous tool with which we analyze a performance-critical subset of four TCP stackstwo versions of the Linux stack, a stack used by the IX kernelbypass OS, and the lwIP TCP stack for embedded systemsas well as 7 algorithm implementations from the OpenSSL cryptographic library, all 51 system calls of the Hyperkernel, and 2 hash-table implementations. We show how CFAR enables developers to not only identify performance bugs and security vulnerabilities in their own code but also understand the performance impact of incorporating third-party code into their systems without doing elaborate benchmarking.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext e98ea8e0-a67c-4057-be3c-77f6057bdacf

Cited by top-tier papers2

Ask how each one uses it

Builds on13

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines