Skip to content
View release.nix
{ snabbSrc ? (builtins.fetchTarball https://github.com/snabbco/snabb/tarball/master) }:
with import <nixpkgs> {};
with lib;
with vmTools;
let snabb = stdenv.mkDerivation rec {
name = "snabb";
src = snabbSrc;
}; in
View gist:ec282a9fde4f2835317c536131586e4d
[luke@lugano-1:~]$ sudo ls /var/run/snabb
10139 11138 11486 11724 18266 18629 19399 19573 19833 2405 30499 31555 31821 4555 5615 5911 6393 6819 7250 7442 7582 7721 7929 8139 8426 8731 8980 9501 9773
10146 11144 11492 11728 18271 18677 19401 19575 19837 2466 30549 31561 31825 4558 5621 5915 6396 6822 7254 7443 7586 7725 7933 8146 8427 8735 8981 9507 9777
10149 11150 11498 11732 18274 1904 19405 19579 19841 2527 31167 31567 31829 4561 5627 5919 6399 6825 7256 7448 7587 7729 7937 8200 8430 8739 8982 9513 9781
10152 11156 11504 11736 18277 19114 19407 19581 19845 2595 31190 31573 31833 4580 5633 5923 6404 6828 7262 7449 7590 7731 7941 8242 8432 8743 8983 9519 9785
10155 11162 11508 11740 18280 19137 19411 19585 19849 2656 31202 31579 31837 4583 5639 5927 6416 6831 7266 7454 7593 7732 7945 8253 8438 8747 8984 9525 9789
10158 11168 11512 11744 18283 19151 19413 19587 19
View pmu-single-vs-multiproc
[luke@lugano-1:~/git/snabbswitch/src]$ pr -w 160 -m -t a b
Benchmark configuration: Benchmark configuration:
burst: 100 burst: 100
writebytes: 0 writebytes: 0
processes: 1 processes: 2
readbytes: 0 readbytes: 0
packets: 10000000 packets: 10000000
mode: basic mode: basic
pmuevents: mem_load_uops_l3 pmuevents: mem_load_uops_l3
69.20 Mpps ring throughput per proces
View mp-ring-mpu-2.txt
@@@@ processes 1
@@@@ events l2_rqsts
Benchmark configuration:
burst: 100
writebytes: 0
processes: 1
readbytes: 0
packets: 10000000
mode: basic
pmuevents: l2_rqsts
View mp-ring-pmu.txt
@@@@ processes 1
@@@@ events l2_rqsts
Benchmark configuration:
burst: 100
writebytes: 0
processes: 1
readbytes: 0
packets: 10000000
mode: basic
pmuevents: l2_rqsts
View snabb.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<meta name="author" content="Luke Gorrie" />
<meta name="author" content="Max Rottenkolber" />
<meta name="author" content="Nikolay Nikolaev" />
<meta name="author" content="Hans Huebner" />
View experiment-log.txt
run: 1
Sat Feb 6 10:45:27 UTC 2016
Reset branch 'master+master'
basic1-100e6 32.1 -
packetblaster-64 12.65 -
packetblaster-synth-64 12.91 -
snabbnfv-iperf-1500 0 -
snabbnfv-iperf-jumbo 0 -
snabbnfv-loadgen-dpdk 5.012 -
run: 2
View 0README
This is initial work-in-progress code for exploring an efficient
design for a "blitter" written in assembler.
The idea here is to take a large number of memory copy operations, for
example 100, sort them into buckets based on length (in cache lines),
and then execute several of them in parallel. The idea is that this
would be efficient for copies that are bounded by the memory subsystem
(e.g. L3 cache latency) and don't achieve the maximum throughput (~32
bytes/cycle) when executed serially with memcpy.
View cachemiss.txt
output from https://github.com/lukego/snabbswitch/commit/9d09ac5eaf81f5b8bd7359f2e644e0eeab848f47:
p1
mcode dump: p1
7f939af17000 48C7C100E1F505 mov rcx, 0x05f5e100
7f939af17007 48BE2020F8410000. mov rsi, 0x0000000041f82020
7f939af17011 49C7C000000000 mov r8, 0x0
7f939af17018 4E8B04C6 mov r8, [rsi+r8*8]
7f939af1701c 4130C8 xor r8b, cl
7f939af1701f 4883E901 sub rcx, +0x01
View log.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="jquery.min.js"></script><script type="text/javascript" src="jquery-ui.min.js"></script><script type="text/javascript" src="treebits.js"></script><link rel="stylesheet" href="logfile.css" type="text/css">
<title>Log File</title>
</head>
<body>
<h1>VM build log</h1>
<p><a href="javascript:" class="logTreeExpandAll">Expand all</a> |
Something went wrong with that request. Please try again.