Performance Interfaces for Network Functions

Main Problem

  • Semantic interfaces (e.g. abstract classes, specifications, header files, documentation) succinctly describe a program's externally visible functional behavior, enabling engineers to use the system productively.

  • There is no equivalent construct for describing performance behavior in a way that is simultaneously succinct, precise, complete, and human-readable. Engineers deploy and reason about systems without understanding the entire spectrum of performance it can exhibit. This can lead to unexpected performance behavior and a perpetual need to fix performance bugs.

Main Insight / Idea

  • The main idea is to provide a performance interface that describe system's performance behavior and is simultaneously succinct, precise, complete, and human-readable. It leverages the notion of performance resolution and deployment-specific interfaces to enable abstraction of performance behavior.

  • This is represented as a "program", which take input same as the system, and output how long the system would take to process the given input. It has a resolution that quantifies the smallest change in performance that it specifies.

  • The paper presents their proposal in the context of network functions (NFs), and developed PIX (Performance Interface Extractor) that takes input NF code and output general-case performance interface in the form of small python program that it can specialize into deployment-specific interfaces for individual deployments.

Key Strength

Key Weakness

Last updated