Network Accelera-on and Time Synchroniza-on for Data - - PowerPoint PPT Presentation

network accelera on and time synchroniza on for data
SMART_READER_LITE
LIVE PREVIEW

Network Accelera-on and Time Synchroniza-on for Data - - PowerPoint PPT Presentation

Network Accelera-on and Time Synchroniza-on for Data Acquisi-on Systems using Commodity Networks and Opera-ng Systems Jeffrey Shafer, Jesse Conn, Cameron Lucas, James


slide-1
SLIDE 1

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

Network ¡Accelera-on ¡and ¡Time ¡ Synchroniza-on ¡for ¡Data ¡Acquisi-on ¡Systems ¡ ¡

using ¡ ¡

Commodity ¡Networks ¡and ¡Opera-ng ¡Systems ¡ ¡

61st ¡Interna=onal ¡Instrumenta=on ¡Symposium ¡ May ¡12, ¡2015 ¡

  • ­‑1-­‑ ¡

Jeffrey Shafer, Jesse Conn, Cameron Lucas, James Caffery, Klaus Schug

slide-2
SLIDE 2

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

Data ¡Acquisi-on ¡& ¡Control ¡Systems ¡

Industrial ¡Scale ¡

slide-3
SLIDE 3

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

Data ¡Acquisi-on ¡& ¡Control ¡Systems ¡

Test ¡Bed ¡Scale ¡

slide-4
SLIDE 4

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑4-­‑ ¡

Problem ¡Statement ¡

  • Data ¡Acquisi-on ¡and ¡Control ¡Systems ¡

– Built ¡from ¡many ¡data ¡producers ¡(sensors), ¡ ¡ data ¡consumers ¡(computers), ¡and ¡networks ¡

  • Requirements ¡

– Synchronized ¡-me ¡across ¡data ¡network ¡for ¡correla=on ¡

  • f ¡events ¡from ¡different ¡data ¡producers ¡

– Determinis-c ¡& ¡low ¡latency ¡end-­‑to-­‑end ¡data ¡flow; ¡ enabling ¡real-­‑=me ¡processing ¡for ¡control ¡system ¡

  • Examined ¡the ¡networking ¡and ¡data ¡consumer ¡(computer) ¡

side ¡of ¡the ¡problem ¡

  • How ¡to ¡implement ¡requirements ¡in ¡cost-­‑effec>ve ¡manner? ¡
slide-5
SLIDE 5

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑5-­‑ ¡

Observa-on ¡

  • Gigabit ¡Ethernet ¡is ¡low ¡latency… ¡

– 1kB ¡payload: ¡12µs ¡at ¡1GbE ¡and ¡1.2µs ¡at ¡10GbE ¡

  • ... ¡provided ¡that ¡conges-on ¡(queuing) ¡are ¡

engineered ¡out ¡of ¡the ¡system ¡

Ethernet ¡ Switch ¡

Sensors Computer

slide-6
SLIDE 6

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑6-­‑ ¡

Observa-on ¡

Switch'Output' Sender/4' Sender/3' Sender/2' Sender/1' Time% Packet'Delayed'in'Switch'Queue' Un<l'Output'Port'Available'' Switch'Output' Sender/4' Sender/3' Sender/2' Sender/1' Time% Packet'Immediately' Forwarded'by'Switch'

  • Best ¡case: ¡staggered ¡

message ¡transmission ¡ avoids ¡queuing ¡delay ¡ ¡

  • Worst ¡case: ¡

synchronized ¡message ¡ transmission ¡maximizes ¡ queuing ¡delays ¡at ¡ Ethernet ¡switch ¡

Best ¡ Case ¡ Worst ¡ Case ¡

slide-7
SLIDE 7

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑7-­‑ ¡

Op-on ¡1 ¡– ¡Specialized ¡SoHware ¡

  • Real-­‑Time ¡Opera-ng ¡System ¡(RTOS) ¡
  • Pros: ¡Predictable ¡/ ¡bounded ¡delays ¡in ¡soYware ¡

enable ¡high ¡precision ¡systems ¡

  • Cons: ¡ ¡

– Proprietary, ¡or ¡ – Expensive, ¡or ¡ – Require ¡specialized ¡development ¡skills, ¡or ¡ – Incompa=ble ¡with ¡exis=ng ¡applica=ons, ¡or ¡ – All ¡of ¡the ¡above ¡

  • Not ¡all ¡applica=ons ¡require ¡the ¡highest ¡levels ¡of ¡

performance ¡that ¡RTOS ¡can ¡provide ¡

slide-8
SLIDE 8

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑8-­‑ ¡

Op-on ¡2 ¡– ¡Specialized ¡Hardware ¡

  • General-­‑purpose ¡computers ¡running ¡MicrosoY ¡Windows ¡

and ¡custom ¡applica=ons ¡

  • Data ¡distribu-on ¡

– Ethernet ¡NIC ¡with ¡RDMA ¡capabili=es ¡

  • Pros: ¡Minimal ¡latency ¡(wire ¡speed) ¡
  • Cons: ¡Proprietary, ¡expensive, ¡new ¡programming ¡API ¡

– Reflec-ve ¡memory ¡network ¡

  • Pros: ¡Predictable ¡latency ¡
  • Cons: ¡Proprietary, ¡expensive, ¡bandwidth ¡constrained, ¡new ¡API ¡
  • Time ¡synchroniza-on ¡

– Use ¡hardware ¡-me ¡cards ¡and ¡separate ¡network ¡(GPS, ¡IRIG, ¡…) ¡ – Pros: ¡Dedicated ¡hardware ¡provides ¡high ¡performance ¡ – Cons: ¡Proprietary, ¡expensive, ¡second ¡network ¡to ¡maintain ¡

slide-9
SLIDE 9

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑9-­‑ ¡

Design ¡Challenge ¡

  • Can ¡we ¡build ¡a ¡data ¡acquisi>on ¡and ¡control ¡system ¡

with ¡the ¡following ¡inexpensive ¡components? ¡

– Commodity ¡opera=ng ¡systems ¡(MicrosoY ¡Windows) ¡ – Commodity ¡hardware ¡ – Commodity ¡networks ¡(specifically, ¡a ¡single ¡Ethernet ¡ network ¡for ¡both ¡=me ¡synchroniza=on ¡and ¡test ¡data) ¡

  • Challenge: ¡Commodity ¡technologies ¡are ¡op=mized ¡for ¡

high ¡bandwidth, ¡not ¡low ¡latency ¡

– True ¡for ¡both ¡soYware ¡and ¡hardware ¡

  • Desired ¡benefits ¡ ¡

– Lower ¡upfront ¡and ¡long-­‑term ¡cost ¡(↓$) ¡ – Faster ¡technology ¡curve ¡for ¡performance ¡upgrades ¡

slide-10
SLIDE 10

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

NEW ¡SOFTWARE-­‑ONLY ¡SOLUTIONS ¡

slide-11
SLIDE 11

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑11-­‑ ¡

Solu-on ¡1: ¡SoHware ¡Time ¡Sync ¡Service ¡

  • SoHware-­‑only ¡Windows ¡service ¡provides ¡simple ¡

API ¡for ¡applica=on ¡use ¡↑Capability ¡

– Common ¡=me ¡source ¡for ¡all ¡applica=ons ¡

  • Accurate ¡to ¡±10µs ¡of ¡central ¡NTP ¡server ¡on ¡LAN ¡
  • Eliminates ¡need ¡for ¡separate ¡-me ¡network ¡↓$ ¡
  • Eliminates ¡need ¡for ¡hardware ¡-mecard ¡↓$ ¡
  • Faster ¡to ¡obtain ¡than ¡=mecard ¡↑Performance ¡

– Does ¡not ¡require ¡OS ¡or ¡hardware ¡involvement ¡ – No ¡context ¡switch ¡(and ¡associated ¡delay) ¡

slide-12
SLIDE 12

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑12-­‑ ¡

SoHware ¡Time ¡Sync ¡Service ¡

  • Clock ¡uses ¡processor ¡Time-­‑Stamp ¡Counter ¡(TSC) ¡

– Highest-­‑resolu-on ¡-me ¡with ¡low-­‑latency ¡access ¡in ¡ user-­‑mode ¡without ¡context ¡switch ¡↑Performance ¡

  • Time ¡sync ¡service ¡

– Generates ¡NTP ¡packets ¡with ¡TSC ¡=mestamps ¡ – Selects ¡“high ¡quality” ¡NTP ¡responses ¡ – Rate ¡synchroniza=on ¡/ ¡offset ¡synchroniza=on ¡

  • Custom ¡Windows ¡Filtering ¡Pla>orm ¡kernel ¡driver ¡

– Time-­‑stamp ¡packets ¡in ¡kernel-­‑mode ¡ – Reduces ¡round-­‑trip ¡=me ¡and ¡removes ¡largest ¡sources ¡

  • f ¡soYware ¡latency ¡& ¡ji1er) ¡↑Performance ¡
slide-13
SLIDE 13

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑13-­‑ ¡

Solu-on ¡2: ¡Windows ¡Network ¡Stack ¡Bypass ¡

802.11 ¡

(WiFi) ¡

802.3 ¡

(Ethernet) ¡

Loopback ¡ Link Layer Network Layer Transport Layer IPv4 ¡ IPv6 ¡ TCP ¡ UDP ¡ RAW ¡ WFP ¡Callout ¡API ¡ NDIS ¡ WFP ¡Filter ¡Engine ¡ WFP ¡Callout ¡ Time-­‑Cri-cal ¡ ¡Windows ¡Applica-on ¡ ¡ ¡ ¡ User-­‑mode ¡ TCP/IP ¡Stack ¡ Packet ¡ Buffer ¡ Windows ¡Sockets ¡

User Mode Kernel Mode

Windows TCP/IP Stack (Tcpip.sys)

AFD ¡ WSK ¡ TDI ¡/ ¡TDX ¡

(Deprecated) ¡

Windows ¡Socket ¡ Applica=ons ¡

slide-14
SLIDE 14

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑14-­‑ ¡

Windows ¡Network ¡Stack ¡Bypass ¡

  • Fast-­‑path ¡design ¡for ¡performance-­‑cri=cal ¡apps ¡

– Bypass ¡majority ¡of ¡Windows ¡network ¡stack ¡while ¡ preserving ¡compa=bility ¡with ¡all ¡hardware ¡NICs ¡ – SoHware-­‑only ¡solu-on ¡↓$ ¡

  • Transparently ¡accelerates ¡unmodified ¡Windows ¡

applica-ons ¡that ¡use ¡Winsock ¡networking ¡func=ons ¡

– No ¡source ¡code ¡modifica=ons ¡needed ¡ – Only ¡accelerates ¡desired ¡applica=ons ¡– ¡other ¡apps ¡ con=nue ¡to ¡use ¡Windows ¡TCP/IP ¡stack ¡↑Performance ¡& ¡ Capability ¡

  • Administrator ¡access ¡not ¡required ¡to ¡run ¡applica=ons ¡
slide-15
SLIDE 15

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑15-­‑ ¡

User-­‑Mode ¡TCP/IP ¡Stack ¡

  • Simplified ¡design ¡(only ¡IPv4, ¡IPv6, ¡TCP, ¡UDP) ¡
  • Built ¡from ¡open-­‑source ¡LWIP ¡project ¡

– Portable ¡w/ ¡no ¡OS ¡dependencies, ¡quick-­‑start ¡to ¡project ¡

  • Added ¡performance ¡op=miza=ons ¡targe=ng ¡modern ¡

x86-­‑64 ¡computer ¡systems ¡

  • Integrated ¡with ¡Windows ¡network ¡stack ¡

– Shares ¡same ¡IP ¡address ¡and ¡MAC ¡address ¡ – Non-­‑performance-­‑cri=cal ¡tasks: ¡DHCP, ¡ARP, ¡DNS, ¡rou=ng ¡

  • Occur ¡once ¡per ¡connec=on ¡or ¡at ¡ini=aliza=on ¡

– Consistent ¡behavior ¡with ¡Windows ¡simplifies ¡ administra=on ¡

slide-16
SLIDE 16

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑16-­‑ ¡

Windows ¡Kernel ¡Driver ¡

  • Bypasses ¡latency/ji1er ¡sources ¡in ¡Windows ¡TCP/IP ¡stack ¡

(OSI ¡model ¡layers ¡transport ¡and ¡above) ¡↑Performance ¡

  • Diverts ¡-me-­‑cri-cal ¡inbound ¡IP ¡packets ¡to ¡user-­‑mode ¡stack ¡

– IP ¡packets ¡are ¡diverted ¡ONLY ¡for ¡connec=ons ¡the ¡user-­‑mode ¡stack ¡ registers ¡with ¡the ¡kernel ¡driver ¡

  • Provides ¡low-­‑level ¡injec=on ¡point ¡into ¡Windows ¡TCP/IP ¡stack ¡

for ¡outbound ¡IP ¡packets ¡

  • Implemented ¡using ¡Windows ¡Filtering ¡Pla>orm ¡

– Callout ¡driver ¡is ¡NIC ¡agnos-c ¡(no ¡custom ¡hardware ¡requirements) ¡↓$ ¡

slide-17
SLIDE 17

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑17-­‑ ¡

Winsock ¡Replacement ¡DLLs ¡

  • Facilitates ¡transparent ¡compa=bility ¡with ¡exis=ng ¡

applica=on ¡binaries ¡

  • Built ¡replacement ¡DLLs ¡for ¡
  • ws2_32.dll
  • wsock32.dll
  • mswsock.dll ¡

(place ¡DLLs ¡in ¡directory ¡of ¡applica=on ¡desiring ¡to ¡use ¡user-­‑mode ¡stack)

  • Provides ¡same ¡API ¡as ¡genuine ¡Winsock ¡DLLs, ¡but ¡redirects ¡

calls ¡into ¡user-­‑mode ¡stack ¡

  • Long ¡list ¡of ¡potenDal ¡API ¡func=ons ¡

– Current ¡implementa=on ¡supports ¡standard ¡Berkeley ¡socket ¡API ¡ – Addi=onal ¡API ¡func=ons ¡added ¡as ¡needed ¡for ¡applica=on ¡ compa=bility ¡

slide-18
SLIDE 18

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

TESTING ¡

slide-19
SLIDE 19

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑19-­‑ ¡

Test ¡Bed ¡

  • Measures ¡end-­‑to-­‑end ¡latency ¡from ¡a ¡ ¡

producer ¡computer ¡to ¡a ¡consumer ¡computer ¡

– Applica-on-­‑level ¡to ¡applica-on-­‑level ¡ – All ¡(soYware/hardware) ¡latency ¡sources ¡included ¡

Physical) Sensors)

Data$Producer$ Data$Consumer$

Ethernet)Switch) User$ OS$ Hardware$ Data)Acquisi6on) Applica6on) Network)Stack) Device)Driver) Ethernet)NIC) A B C D User$ OS$ Hardware$ Data)Capture) Applica6on) Network)Stack) Device)Driver) Ethernet)NIC) H G F E

  • Emulates ¡client-­‑specific ¡

data ¡pa^ern ¡ ¡

– TCP ¡and ¡UDP ¡ – 48 ¡types ¡of ¡messages ¡ ¡ – Date ¡size ¡varied ¡from ¡ 100 ¡bytes ¡– ¡300kB ¡ – Data ¡sampling ¡rates ¡ varied ¡from ¡ 10ms-­‑100ms ¡ – Latency ¡target ¡varied ¡ from ¡10ms-­‑100ms ¡

slide-20
SLIDE 20

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

Test ¡Bed ¡Architecture ¡

GPS Time Source

Test Node 1

PCIe ¡Time ¡Card ¡

Optional Components for Test Bed Only

Test Node 2

PCIe ¡Time ¡Card ¡

Test Node 3

PCIe ¡Time ¡Card ¡

Ethernet LAN (IEEE 1588-2008 Time Sync Only)

NIC ¡ Controller Node Controller ¡ NIC ¡ NIC ¡ NIC ¡ NIC ¡ NIC ¡ NIC ¡

Ethernet LAN (Data Network)

Testbench ¡

Listener ¡

Testbench ¡ Testbench ¡

Listener ¡

Testbench ¡ Testbench ¡

Listener ¡

Testbench ¡

NTP

IEEE 1588-2008

... ... ...

PCIe ¡Time ¡Card ¡

Reference Clock (LANTIME M600/GPS/ PTP)

slide-21
SLIDE 21

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

Test ¡Bed ¡Architecture ¡

21 ¡

Reference Clock (LANTIME M600/GPS/ PTP) GPS Time Source

Optional Components for Test Bed Only

Ethernet LAN (IEEE 1588-2008 Time Sync Only)

NIC ¡ Controller Node

PCIe ¡Time ¡Card ¡

Controller ¡ IEEE 1588-2008

Sender 1

PCIe ¡Time ¡Card ¡

Receiver

PCIe ¡Time ¡Card ¡

Sender 2

PCIe ¡Time ¡Card ¡

NIC ¡ NIC ¡ NIC ¡ NIC ¡ NIC ¡ NIC ¡

Ethernet LAN (Data Network)

Testbench ¡TX ¡

Listener ¡

... ¡

Testbench ¡TX ¡ Testbench ¡ (Receiver) ¡

Listener ¡

Testbench ¡TX ¡

Listener ¡

... ¡

Testbench ¡TX ¡

NTP

slide-22
SLIDE 22

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • Maximum ¡latency ¡
  • bserved ¡-­‑ ¡vs-­‑ ¡client ¡

requirements ¡

  • All ¡latency ¡goals ¡met ¡
  • Comparison: ¡Windows ¡

had ¡lower ¡average ¡ latency ¡but ¡higher ¡ maximum ¡latency ¡for ¡ certain ¡message ¡types ¡

22 ¡

Figure'1:'User,Mode'TCP/IP'Stack'Latencies'

slide-23
SLIDE 23

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

Network ¡Time ¡Synchroniza-on ¡

  • Back-­‑to-­‑back ¡=mestamps ¡

1. SoYware ¡service ¡ ¡ (NTP ¡over ¡Ethernet) ¡ 2. Hardware ¡=mecard ¡ (IEEE ¡1588, ¡experimental ¡ control) ¡

  • 8 ¡million ¡samples, ¡4 ¡hours ¡
  • Best ¡performance ¡when ¡

service ¡synchronizes ¡every ¡ 30s ¡(could ¡delay ¡to ¡every ¡4 ¡ minutes ¡and ¡remain ¡< ¡10µs) ¡

  • Comparison: ¡Tradi=onal ¡NTP ¡

performance ¡on ¡LAN ¡is ¡within ¡ 1ms ¡(best ¡case) ¡

23 ¡

Min

  • 5.2µs

Max 3.8µs Avg

  • 1.5µs
slide-24
SLIDE 24

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

  • ­‑24-­‑ ¡

Summary ¡

  • Two ¡soYware-­‑only ¡components ¡for ¡MicrosoY ¡Windows ¡
  • Time ¡Sync ¡Service ¡ ¡

– Low-­‑latency ¡access ¡to ¡=me-­‑stamps ¡±10µs ¡of ¡NTP ¡server ¡ ¡ – Based ¡on ¡CPU ¡Time ¡Stamp ¡Counter ¡(TSC) ¡ – Eliminates ¡need ¡for ¡hardware ¡=me-­‑cards ¡and ¡separate ¡ network ¡

  • Low-­‑Latency ¡User-­‑mode ¡TCP/IP ¡Stack ¡

– Transparently ¡accelerates ¡unmodified ¡applica-ons ¡ ¡ – Integrated ¡with ¡Windows ¡to ¡simplify ¡administra=on ¡ – Kernel ¡driver ¡bypasses ¡significant ¡soYware ¡sources ¡of ¡ latency ¡and ¡ji1er ¡in ¡Windows ¡network ¡stack ¡

slide-25
SLIDE 25

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

SUPPLEMENTAL ¡SLIDES ¡

slide-26
SLIDE 26

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

Client-­‑Specific ¡Data ¡Pa^ern ¡

¡ ¡ Message ¡Type ¡0 ¡ (TCP) ¡ ¡ Message ¡Type ¡1 ¡ (TCP) ¡ ¡ Message ¡Type ¡2 ¡ (UDP ¡Mul-cast) ¡ ¡ Message ¡Type ¡3 ¡ (Low-­‑latency ¡TCP) ¡ # ¡ Size ¡(KB) ¡ Freq ¡(ms) ¡ Latency ¡ (ms) ¡ Size ¡(KB) ¡ Freq ¡(ms) ¡ Latency ¡ (ms) ¡ Size ¡(KB) ¡ Freq ¡(ms) ¡ Latency ¡ (ms) ¡ Size ¡(KB) ¡ Freq ¡(ms) ¡ Latency ¡ (ms) ¡ 1 ¡ 0.5 ¡ 200 ¡ 100 ¡ 0.5 ¡ 200 ¡ 100 ¡ 1 ¡ 200 ¡ 100 ¡ 0.01 ¡ 200 ¡ 10 ¡ 2 ¡ 320 ¡ ¡ ¡80 ¡ ¡ ¡40 ¡ 640 ¡ ¡ ¡80 ¡ ¡ ¡40 ¡ 4 ¡ 80 ¡ 40 ¡ 0.10 ¡ ¡10 ¡ 10 ¡ 3 ¡ 0.75 ¡ 100 ¡ ¡ ¡50 ¡ 1 ¡ 100 ¡ ¡ ¡50 ¡ 2.5 ¡ 100 ¡ 50 ¡ 0.10 ¡ 100 ¡ 10 ¡ 4 ¡ 8 ¡ 100 ¡ ¡ ¡50 ¡ 8 ¡ 100 ¡ ¡ ¡50 ¡ 3.2 ¡ 100 ¡ 50 ¡ 0.10 ¡ 100 ¡ 10 ¡ 5 ¡ 4 ¡ 100 ¡ ¡ ¡50 ¡ 4 ¡ 100 ¡ ¡ ¡50 ¡ 1.6 ¡ 100 ¡ 50 ¡ 0.10 ¡ 100 ¡ 10 ¡ 6 ¡ 20 ¡ 100 ¡ ¡ ¡50 ¡ 20 ¡ 100 ¡ ¡ ¡50 ¡ 4 ¡ 100 ¡ 50 ¡ 0.10 ¡ 100 ¡ 10 ¡ 7 ¡ 10 ¡ 100 ¡ ¡ ¡50 ¡ 10 ¡ 100 ¡ ¡ ¡50 ¡ 2 ¡ 100 ¡ 50 ¡ 0.10 ¡ 100 ¡ 10 ¡ 8 ¡ 0.2 ¡ 250 ¡ 125 ¡ 0.2 ¡ 250 ¡ 125 ¡ 0.4 ¡ 250 ¡ 125 ¡ 0.01 ¡ 250 ¡ 10 ¡ 9 ¡ 0.4 ¡ 500 ¡ 250 ¡ 0.4 ¡ 500 ¡ 250 ¡ 0.8 ¡ 500 ¡ 250 ¡ 0.01 ¡ 500 ¡ 10 ¡ 10 ¡ 0.4 ¡ 100 ¡ ¡ ¡50 ¡ 0.4 ¡ 100 ¡ ¡ ¡50 ¡ 0.8 ¡ 100 ¡ 50 ¡ 0.10 ¡ 100 ¡ 10 ¡ 11 ¡ 0.25 ¡ 100 ¡ ¡ ¡50 ¡ 0.25 ¡ 100 ¡ ¡ ¡50 ¡ 0.5 ¡ 100 ¡ 50 ¡ 0.10 ¡ 100 ¡ 10 ¡ 12 ¡ 150 ¡ 100 ¡ ¡ ¡50 ¡ 150 ¡ 100 ¡ ¡ ¡50 ¡ 4 ¡ 100 ¡ 50 ¡ 0.10 ¡ 100 ¡ 10 ¡

slide-27
SLIDE 27

GIRD ¡Systems, ¡Inc. ¡ h1p://girdsystems.com/ ¡

Connec&on' DB' Sta&s&cs' DB'

NamePipe'Server' Windows'Service' Sta&s&cs' Applica&on'' ' (Or'other' monitoring' applica&ons)' Networking'Applica&on'(Unmodified)'

Windows'Filtering'PlaAorm'Driver'

NIC'Driver'(Unmodified)'

Dynamic'Link'Libraries'

ws2_32.dll wsock32.dll

mswsock.dll

UserGLevel'Stack'

WinStat' Kernel'Driver'API'

Core'Stack'(LWIP)/ IPv4' IPv6' UDP' TCP'

WinService' WinRoute' Netconn'API'(LWIP)/ Socket'API'

Applica&on'uses'Network'Sockets'–'send(),'recv(),'…' Legend&

CrossGProcess'Call' CrossGThread'Call' Synchronous'Call' Note:&Dashed&lines&are&not&on& the&performance&cri6cal&path&

UserGSpace' KernelGSpace'

Windows'Kernel'