Solarflare Adapter Manager Low Latency Quickstart Guide (2012) SF 105547 CD 5
User Manual: Pdf
Open the PDF directly: View PDF
.
Page Count: 5

Issue5©SolarflareCommunications2012 1
Onload
LowLatencyQuickstartGuide
LowLatencyQuickstartGuide
Introduction
Thisquickstartguidedemonstrateshowtoachieveverylowlatencycoupledwithminimumjitter
onasystemfittedwithSolarflarenetworkadaptersandusingSolarflare’skernel‐bypassnetwork
accelerationmiddleware,Onload.
TheguidewillfocusontheperformanceofthenetworkadapterforTCPandUDPapplications
runningonLinux.Theguideusestheindustry‐standardNetperfnetworkbenchmarkapplicationand
theSolarflaresuppliedopensourcesfnettestnetworkbenchmarkapplication.
PleasereadtheSolarflareLICENSEfileregardingthedisclosureofbenchmarktestresults.
Procedure
1SoftwareInstallationonpage 1.
2TestSetuponpage 2.
3Pre‐TestConfigurationonpage 2.
4TCPLatencyonpage 3.
5UDPLatencyonpage 4.
SoftwareInstallation
Netperf
Netperfcanbedownloadedfromhttp://www.netperf.org/netperf/
Unpackthecompressedtarfileusingthetarcommand:
[root@system-N]# tar -zxvf netperf-<version>.tar.gz
Thiswillcreateasub‐directorycallednetperf-<version> fromwhichtheconfigureandmake
commandscanberun(asroot):
./configure
make install
Followinginstallationthenetperfandnetserverapplicationsarelocatedinthesrc
subdirectory.
Solarflaresfnettest
Downloadthesfnettest-<version>.tgzsourcefilefromwww.openonload.org
Unpackthetarfileusingthetarcommand:
[root@system-N]# tar -zxvf sfnettest-<version>.tgz
Runthemakeutilityfromthe/sfnettest-<version>/srcsubdirectorytobuildthesfnt-
pingpongapplication.

2©SolarflareCommunications2012 Issue5
Onload
LowLatencyQuickstartGuide
SolarflareOnload
BeforeOnloadnetworkandkerneldriverscanbebuiltandinstalledthesystemmustsupportabuild
environmentcapableofcompilingkernelmodules.RefertoAppendixC‐BuildDependenciesinthe
OnloadUserGuideformoredetails.
DownloadtheOnload-<version>.tgzfilefromwww.openonload.org
Unpackthetarfileusingthetarcommand:
[root@system-N]# tar -zxvf onload-<version>.tgz
Runtheonload_installcommandfromthe Onload-<version>/scriptssubdirectory:
[root@system-N]# ./onload_install
ThiscommandwillissueawarningifSolarflaredriversarealreadyinstalledonthesystem.Reload
theSolarflaredrivers:
[root@system-N]# ./onload_tool reload
TestSetup
Thediagrambelowidentifiestherequiredphysicalconfigurationoftwoserversequippedwith
Solarflarenetworkadaptersconnectedback‐to‐backinordertomeasurethelatencyoftheadapter,
driversandaccelerationmiddleware.Ifrequired,testscanberepeatedwitha10Gswitchonthelink
tomeasuretheadditionallatencydeltausingaparticularswitch.
Requirements:
•TwoserversareequippedwithSolarflarenetworkadapters.
•ThetwomachinesareconnectedwithasinglecablebetweentheSolarflareinterfaces.
•TheSolarflareinterfacesareconfiguredwithanIPaddresssothattrafficcanpassbetween
them.Usepingtoverifyconnection.
•Onloadisinstalledonbothmachines.
•Thenetperfclientandnetserverapplicationsareinstalledonbothmachines.
•Solarflaresfnettestisinstalledonbothmachines.
Pre‐TestConfiguration
Onbothmachines:
1StopthecpuspeedservicetopreventpowersavingmodesfromreducingCPUclockspeed.
[root@system-N]# service cpuspeed stop
System under test
10G link
(direct attach or optical)
System under test

Issue5©SolarflareCommunications2012 3
Onload
LowLatencyQuickstartGuide
2StoptheirqbalanceservicetopreventtheOSfromrebalancinginterruptsbetweenavailable
CPUcores.
[root@system-N]# service irqbalance stop
3Stoptheiptablesservicetoeliminateoverheadsincurredbythefirewall.Solarflare
recommendthissteponRHEL6forimprovedlatencywhenusingthekernelnetworkdriver.
[root@system-N]# service iptables stop
4Disableinterruptmoderation.
[root@system-N]# ethtool -C eth<N> rx-usecs 0 adaptive-rx off
WhereNistheidentifieroftheSolarflareadapterethernetinterfacee.g.eth4
5PreventtheOSfromswitchingtheCPUsintoalowerpowermode(C1E).
[root@system-N]# onload_tool disable_cstates
ReferenceSystemSpecification
ThefollowinglatencymeasurementswererecordedontwinIntel®RomleyServerswithdefault
factoryconfigurationandnochangestoOSorBIOS.Thespecificationofthetestsystemsisas
follows:
•2xIntel®RomleyServer.EquippedwithIntel®Xeon®CPUE5‐2687W0@3.10GHz,32GBMEM.
•RedHatEnterpriseLinuxv6.2(x86_64kernel,version2.6.32‐220.el6.x86_64).
•SolarflareSFN6122FNIC(driverandfirmwarev3.2.0).Direct‐attachcableat10G.
•Onload201205
SolarflareBASE‐Tadapterswilltypicallyreturnahigher1/2RTTlatency(2‐2.5usecs)thanSFP+
adapters.ItisexpectedthatsimilarresultswillbeachievedonanyIntel®orAMDbased,PCIeGen2
serverorcompatiblesystem.
TCPLatency
TCPLatency:Netperf
Runthenetserverapplicationonsystem‐1:
[root@system-1]# pkill -f netserver
[root@system-1]# onload --profile=latency taskset -c 8 ./netserver
Runthenetperfapplicationonsystem‐2:
[root@system-2]# onload --profile=latency taskset -c 8 ./netperf -t
TCP_RR -H <system1-ip> -l 10 -- -r 32
Socket Size Request Resp. Elapsed Trans.
Send Recv Size Size Time Rate
bytes Bytes bytes bytes secs. per sec
16384 87380 32 32 10.00 203309.03

4©SolarflareCommunications2012 Issue5
Onload
LowLatencyQuickstartGuide
203309transactions/secondmeansthateachtransactiontakes1/203309secondsresultingina
RTT/2latencyof(1/203309)/2or2.4us.
TCPLatency:sfnt‐pingpong
Runthesfnt‐pingpongapplicationonbothsystems:
[root@system-1]# onload --profile=latency taskset -c 8 ./sfnt-pingpong
[root@system-2]# onload --profile=latency taskset -c 8 ./sfnt-pingpong --
maxms=10000 --affinity "8;8" tcp <system1-ip>
#
# size mean min median max %ile stddev iter
1 2453 2380 2434 18288 2669 77 1000000
2 2453 2379 2435 45109 2616 90 1000000
4 2467 2380 2436 10502 2730 82 1000000
8 2465 2383 2446 8798 2642 70 1000000
16 2460 2380 2441 7494 2632 68 1000000
32 2474 2399 2454 8758 2677 71 1000000
64 2495 2419 2474 12174 2716 77 1000000
Theoutputidentifiesmean,minimum,medianandmaximum(nanosecond)RTT/2latencyfor
increasingTCPpacketsizesincludingthe99%percentileandstandarddeviationfortheseresults.A
messagesizeof32byteshasameanlatencyof2.4uswitha99%ilelatencyunder2.7us.
UDPLatency
UDPLatency:Netperf
Runthenetserverapplicationonsystem‐1:
[root@system-1]# pkill -f netserver
[root@system-1]# onload --profile=latency taskset -c 8 ./netserver
Runthenetperfapplicationonsystem‐2:
[root@system-2]# onload --profile=latency taskset -c 8 ./netperf -t UDP_RR -H
<system1-ip> -l 10 -- -r 32
Socket Size Request Resp. Elapsed Trans.
Send Recv Size Size Time Rate
bytes Bytes bytes bytes secs. per sec
124928 124928 32 32 10.00 221175.78
221175transactions/secondmeansthateachtransactiontakes1/221175secondsresultingina
RTT/2latencyof(1/221175)/2or2.2us.
UDPLatency:sfnt‐pingpong
Runthesfnt-pingpongapplicationonbothsystems:
[root@system-1]# onload --profile=latency taskset -c 8./sfnt-pingpong

Issue5©SolarflareCommunications2012 5
Onload
LowLatencyQuickstartGuide
[root@system-2]# onload --profile=latency taskset -c 8./sfnt-pingpong --maxms=10000
--affinity "8;8" udp <system1-ip>
# size mean min median max %ile stddev iter
0 2273 2218 2267 20082 2358 68 1000000
1 2277 2218 2270 43863 2400 77 1000000
2 2274 2217 2269 9887 2353 56 1000000
4 2282 2225 2278 7474 2354 63 1000000
8 2280 2221 2275 7906 2401 49 1000000
16 2279 2221 2276 9565 2340 52 1000000
32 2281 2221 2278 9800 2339 47 1000000
64 2309 2239 2303 8051 2428 54 1000000
Theoutputidentifiesmean,minimum,medianandmaximum(nanosecond)RTT/2latencyfor
increasingUDPpacketsizesincludingthe99%percentileandstandarddeviationfortheseresults.A
messagesizeof32byteshasameanlatencyof2.2uswitha99%ilelatencyunder2.4us.
TestingWithoutOnload
ThebenchmarkperformancetestscanberunwithoutOnloadusingtheregularkernelnetwork
drivers.Todothisremovetheonload --profile=latencypartfromthecommandline.
Togetthebestresponseandcomparablelatencyresultsusingkerneldrivers,Solarflarerecommend
settinginterruptaffinitysothatthenetworkinterruptsandthebenchmarkapplicationrunonthe
sameCPUcore.RefertotheSolarflareServerAdapterUserGuide’InterruptandIrqbalanceService’
forconfigurationoptions.
Usingregularkernelnetworkdriversthefollowingcomparableresultswererecorded(usecs).
FurtherInformation
ForinstallationofSolarflareadaptersandperformancetuningofthenetworkdriverwhennotusing
OnloadrefertotheSolarflareServerAdapterUserGuide(SF‐103837‐CD)availablefromhttps://
support.solarflare.com/
TheOnloadfeaturesetanddetailedperformancetuninginformationcanbefoundintheOnload
UserGuide(SF‐104474‐CD)availablefromhttps://support.solarflare.com/
QuestionsregardingSolarflareproducts,Onloadandthisuserguidecanbeemailedto
support@solarflare.com
RHEL6.2
Mean 99%ile
TCP 6.8 7.7
UDP 5.4 5.8