Performance interfaces are to performance what semantic interfaces (documentation, header files, specifications, etc.) are to functionality: succinct descriptions of the performance one can expect when running that code. Performance interfaces differ from performance specifications and/or models in that they are succinct and highly accessible to the average developer, in the same way that a semantic interface differs from a formal specification.

Our research pursues three broad directions:

  • Extracting performance interfaces from code or design docs, and using them to develop applications that meet their performance expectations
  • Designing systems that exhibit predictable performance and are thus amenable to being described using a performance interface
  • Verifying formally that systems code will indeed perform as advertised by its performance interface

Publications

  • Achieving Microsecond-Scale Tail Latency Efficiently with Approximate Optimal Scheduling. R. Iyer, M. Unal, M. Kogias, G. Candea
    [paper] @SOSP ‘23
  • Latency Interfaces for Systems Code. R. Iyer [PhD thesis] EPFL 2023
  • The Case for Performance Interfaces for Hardware Accelerators. R. Iyer, J. Ma, K. Argyraki, G. Candea, S. Ratnasamy [paper] @HotOS ‘23
  • Performance Interfaces for Network Functions. R. Iyer, K. Argyraki, G. Candea [paper | video] @NSDI ‘22
  • Performance Contracts for Software Network Functions. R. Iyer, L. Pedrosa, A. Zaostrovnykh, S. Pirelli, K. Argyraki, G. Candea [paper | video] @NSDI ‘19

Software

  • PIX is a toolchain that automatically extracts performance interfaces from software network function (NF) implementations. The resulting performance interfaces are accurate yet orders of magnitude simpler than the code itself, and they take mere minutes to extract
  • Concord is a runtime that demonstrates how to achieve predictable, microsecond-scale control of execution time with low throughput overhead
  • Bolt is a precursor to PIX, and it is used to automatically generate performance contracts for software network functions

This is a joint project between DSLAB and NAL.