> For the complete documentation index, see [llms.txt](https://sliu583.gitbook.io/blog/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sliu583.gitbook.io/blog/networking/index/cs-268-adv-network/nfv/performance-interfaces-for-network-functions.md).

# Performance Interfaces for Network Functions

### Main Problem&#x20;

* 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.&#x20;
* 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.&#x20;

### Main Insight / Idea&#x20;

* 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.&#x20;
* 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.&#x20;
* 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.&#x20;

### Key Strength

### Key Weakness&#x20;
