Lab on Performance Network Measurement in High Performance Low Lantency Networks

Overview

  • SWS: 4, ECTS: 7 (Media Informatics students have to write a detailed project report to get the necessary 10 credits)
  • Lecturer: Prof. Dr. Klaus Wehrle
  • Teaching Assistants: Alexander ZimmermannAlexander.Zimmermann(at)netapp.com (NetApp)
  • Registration for this course takes place at the central location.
  • Important dates:
    • Kick-off meeting: planned for 14th March, 10 - 12h, at COMSYS chair
    • Weekly meetings: 60 - 90 minutes each Friday morning during the semester, details TBD, at COMSYS chair

What is the lab about?

In cooperation with the network R&D team of NetApp (http://www.netapp.com), COMSYS offers a software lab in the area of datacenter and enterprise networking. The students will work on the development of the open source performance network measurement tool flowgrind (http://github.com/flowgrind/flowgrind).

Flowgrind is a testing and benchmarking tool to measure throughput and other metrics for TCP. In contrast to similar tools like iperf or netperf it features a distributed architecture, where throughput and other metrics are measured between arbitrary flowgrind server processes.

Flowgrind measures besides goodput the application layer interarrival time (IA)T and 2-way delay (RTT), blockcount and network transactions/s. Unlike most cross-platform testing tools, flowgrind can output some transport layer information, which are usually internal to the TCP/IP stack. For example, on Linux this includes the kernel's estimation of the end-to-end round-trip time and the size of the TCP congestion window and slow start threshold.

The traffic generation itself is either bulk transfer, rate-limited, or sophisticated request/response tests. Flowgrind uses libpcap to automatically dump traffic for qualitative analysis.

Goal of the software lab is the further improve the performance of flowgrind (e.g. 40 Gbit/s Ethernet) as well as to integrate new features like 1-way delay measurements under load.

What should I bring?

Requirements are:

  • Strong C coding experience; other languages and toolchains are a plus
  • Knowledge of Linux or BSD network stack internals
  • Knowledge of TCP/IP networking

In your application, please state which experience/knowledge you have.

- Impressum -