ExaNIC Sockets Acceleration Library

KERNEL BYPASS ACCELERATED TCP/IP NETWORKING

ExaSOCK is a high performance kernel-bypass TCP/UPD/IP networking stack for ExaNIC network adapters.

It enables applications to benefit from the low latency of direct access to the ExaNIC without requiring modifications to the application source code. ExaSOCK is compatible with most unmodified applications using Linux socket APIs. This is achieved by intercepting calls to the Linux socket APIs and redirecting them to a custom latency-optimized userspace TCP/UDP/IP stack.

ExaSOCK also provides an extensions API for advanced users. The ExaSOCK extensions API allows custom applications pre-prepare and pre-load TCP segments into ExaNIC transmit buffers using libexanic pre-loading API. TCP pre-loading significantly reduces transmit latencies, and enables FPGA to perform fast triggering without requiring complex TCP implementations in hardware.

ExaSOCK is used as the underlying TCP/IP stack for the Accelerated TCP Engine (ATE) in the ExaNIC Firmware Development Kit Extension Pack.

ExaSOCK is fully open source and available for all ExaNIC devices. Full documentation is available here.

    PERFORMANCE (on ExaNIC X25 Hardware)

  • Typical latency, UDP.:
    • - 14 bytes: 810ns
    • - 256 bytes: 1.1µs
  • Typical latency, TCP:
    • - 14 bytes: 850ns
    • - 300 bytes: 1.1µs
  • UDP Trigger to TCP response (TCP pre-loading):
    • - 64 bytes: 660ns
    • - 256 bytes: 695ns
  • Hardware Trigger Latency (TCP pre-loading):
    • - 40-55ns (requires FPGA programming)

    SUPPORT & WARRANTY

  • ExaNIC hardware purchases include 1 year support and warranty, extended options available:

DOWNLOAD

ExaSOCK source code and binaries

MORE INFORMATION

Still need more information, contact us