/snap

GPU + Click. Technical paper: http://www.cs.utah.edu/~wbsun/snap.pdf

Primary LanguageC++OtherNOASSERTION

  Snap: When Click Meets GPU

  A heterogeneous parallel packet processing engine with GPU computing. Aiming
    at 10Gbps line rate complex packet processing. Now can reach ~30Gbps SDN
    forwarding, IDS router at 64B packets and 40Gbps starting from 128B on an
    overclocked Core i7 930 machine with GTX 480 or Tesla C2075.
  
  Snap is still under development, master branch doesn't contain the latest
    unstable change, checkout other topic branches such as "mrg" for new
    functionality and elements.
    
  Some notes:
    - All batched elements are in elements/local/
    - I/O related and Netmap Snap elements are in elements/userlevel/
    - PacketBatch is in lib/
    - No stable rule parser available. I used to modify classifier or lookup
      elements directly to get binary format rules/routing table.
    - userlevel/click.cc has been modified for RSS pin.
    - lib/packet.cc modified for per-thread pool.
  
  wbsun@cs.utah.edu