A software-agnostic logging framework that exposes hardware-level controls which can impact network-driven behavior. It is currently integrated with Linux 5.5 and a baremetal library OS, EbbRT. It instrumented fine-grained log collect at the network device interrupt layer and uses architecture specific performance monitoring units to store hardware metrics such as instructions, cache-misses, energy use and software metrics such as bytes received and transmitted.
So far, only tested and gathered experimental results for a machine with the following specifications:
Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz, 126 GB RAM, Intel(R) 10 Gigabit Network Connection
. Modifications for other architectures/network cards may be required to correctly read specific hardware counters.
ebbrt
: Contains link to baremetal EbbRT and instructions for building EbbRT. EbbRT's ixgbe device driver already hasintLog
integrated with it.linux
: Contains link to Linux 5.14 and instructions for building kernel andixgbe.ko
kernel module that hasintLog
integrated.scripts
: Contains experimental scripts for four applications in our experimental studynetpipe
: A simple ping-pong application for fixed sized messages- ebbrt:
EbbRT
implementation ofnetpipe
and scripts to run - linux:
Linux
implementation ofnetpipe
and scripts to run
- ebbrt:
nodejs
: A HTTP web server running in NodeJS- ebbrt:
EbbRT
implementation ofnodejs
and scripts to run - linux:
Linux
implementation ofnodejs
and scripts to run
- ebbrt:
mcd
: memcached- ebbrt:
EbbRT
implementation ofmemached
and scripts to run - linux:
Linux
implementation ofmemcached
and scripts to run
- ebbrt:
mcdsilo
: memcached with a transcational database (Silo)- ebbrt:
EbbRT
implementation ofmemcached-silo
and scripts to run - linux:
Linux
implementation ofmemcached-silo
and scripts to run
- ebbrt:
tools
: Utilities and other guides for how to boot various OSes
We have collected over 4 TB of data from our experimental study, in the processof sanitizing and will post link to download