CASTAN: Cycle Approximating Symbolic Timing Analysis for Network Functions

Poster.png: 3311x4681, 1354k (August 16, 2018, at 07:00 PM)
CASTAN Poster @ SIGCOMM'18

Software network functions promise to simplify the deployment of network services and reduce network operation cost. However, they face the challenge of unpredictable performance. Given this performance variability, it is imperative that during deployment, network operators consider the performance of the NF not only for typical but also adversarial workloads. We contribute a tool – CASTAN – that helps solve this challenge: it takes as input the LLVM code of a network function and outputs packet sequences that trigger slow execution paths. Under the covers, it combines directed symbolic execution with a sophisticated cache model to look for execution paths that incur many CPU cycles and involve adversarial memory-access patterns. We used our tool on 11 network functions that implement a variety of data structures and discovered workloads that can in some cases triple latency and cut throughput by 19% relative to typical testing workloads.

CASTAN attacks performance on three fronts:

  1. Algorithmic Complexity, which induces more instructions per packet;
  2. CPU Cache Hierarchy, which induces more DRAM accesses and thus more cycles per instruction;
  3. Reversing Hash-functions, which exposes data-structure internals and allows the the first two techniques to take hold.

As a result, CASTAN is able to automatically generate adversarial workloads, in the form of PCAP files, which induce poor performance in the network function. This helps both developers and network operators to debug performance issues and provision resources defensively.


CASTAN Talk @ SIGCOMM'18

Further Reading

Luis Pedrosa, Rishabh Iyer, Arseniy Zaostrovnykh, Jonas Fietz, and Katerina Argyraki; Automated Synthesis of Adversarial Workloads for Network Functions. In Proceedings of the ACM Conference of the Special Interest Group on Data Communication (SIGCOMM'18). 2018
Open Website Download PDF Document More Information
Luis Pedrosa, Rishabh Iyer, Arseniy Zaostrovnykh, Jonas Fietz, and Katerina Argyraki; Automated Synthesis of Adversarial Workloads for Network Functions. Presented at The ACM Conference of the Special Interest Group on Data Communication (SIGCOMM'18), Budapest, Hungary. 2018
Open Website Download PDF Document Download MPEG-4 Video More Information
Luis Pedrosa, Rishabh Iyer, Arseniy Zaostrovnykh, Jonas Fietz, and Katerina Argyraki; Automated Synthesis of Adversarial Workloads for Network Functions. Presented at The Intel ISRA SDN/NFV Retreat, Hillsboro, OR, USA. 2018
Open Website Download PDF Document More Information
Luis Pedrosa, Rishabh Iyer, Arseniy Zaostrovnykh, Jonas Fietz, and Katerina Argyraki; Automated Synthesis of Adversarial Workloads for Network Functions. Presented at the ACM Conference of the Special Interest Group on Data Communication (SIGCOMM'18). 2018
Open Website Download PDF Document More Information

Getting the Source

The CASTAN source code is hosted on the NAL GitHub project website. To create a local copy of the repository run:

git clone https://github.com/nal-epfl/castan.git

Artifacts Available: this badge indicates that author-created artifacts relevant to this paper have been placed on a publicly accessible archival repository. Artifacts Evaluated - Functional: this badge indicates that the artifacts associated with the research are found to be documented, consistent, complete, exercisable, and include appropriate evidence of verification and validation. Artifacts Evaluated - Reusable: this badge indicates that the artifacts associated with the paper are of a quality that significantly exceeds minimal functionality.

People

  • Luis Pedrosa (EPFL)
  • Rishabh Iyer (EPFL)
  • Arseniy Zaostrovnykh (EPFL)
  • Jonas Fietz (EPFL)
  • Katerina Argyraki (EPFL)