PacketMatchingonFPGAsUsingHMCMemory: TowardsOneMillionRules DanielRozhko,GeoffreyElliott,DanielLy-Ma,PaulChow,Hans-ArnoJacobsen Department of Electrical and Computer Engineering University of Toronto Motivation • Packetprocessingisusedtodecidewhattodowith incomingpacketstoanetworkdevice • Checkpacketsagainstalistofrules(rulesets) 2 Motivation • Packetprocessingisusedtodecidewhattodowith incomingpacketstoanetworkdevice • Checkpacketsagainstalistofrules(rulesets) • Certainapplicationsneedverylargerulesets • On-chipFPGAimplementationssupportalimited numberofrules(<10K) • Traditionaloff-chipmemoryistooslow 3 Motivation • Packetprocessingisusedtodecidewhattodowith incomingpacketstoanetworkdevice • Checkpacketsagainstalistofrules(rulesets) • Certainapplicationsneedverylargerulesets • On-chipFPGAimplementationssupportalimited numberofrules(<10K) • Traditionaloff-chipmemoryistooslow • EmerginghighperformancememorieslikeHybrid MemoryCube(HMC)couldbeasolution • 10Glinerateat1millionrules 4 SystemArchitecture 2x8-Lane HMCLinks PCIe HMC Memory PicoFramework Stream HMCPorts FromHost Memory Prefetcher TestPacket Generator Packet Stream Packet Header Extractor Header Stream Rule Stream Packet Packet Packet Packet Matching Matching Matching Matching Engine Engine Engine Engine StreamToHost Output Result Verifier Output Stream KintexUltrascale060 PicoComputingAC-510 5 SystemArchitecture 2x8-Lane HMCLinks PCIe HMC Memory PicoFramework Stream HMCPorts FromHost Memory Prefetcher TestPacket Generator Packet Stream Packet Header Extractor Header Stream Rule Stream Packet Packet Packet Packet Matching Matching Matching Matching Engine Engine Engine Engine StreamToHost Output Result Verifier Output Stream KintexUltrascale060 PicoComputingAC-510 6 SystemArchitecture 2x8-Lane HMCLinks PCIe HMC Memory PicoFramework Stream HMCPorts FromHost Memory Prefetcher TestPacket Generator Packet Stream Packet Header Extractor Header Stream Rule Stream Packet Packet Packet Packet Matching Matching Matching Matching Engine Engine Engine Engine StreamToHost Output Result Verifier Output Stream KintexUltrascale060 PicoComputingAC-510 7 SystemArchitecture 2x8-Lane HMCLinks PCIe HMC Memory PicoFramework Stream HMCPorts FromHost Memory Prefetcher TestPacket Generator Packet Stream Packet Header Extractor Header Stream Rule Stream Packet Packet Packet Packet Matching Matching Matching Matching Engine Engine Engine Engine StreamToHost Output Result Verifier Output Stream KintexUltrascale060 PicoComputingAC-510 8 SystemArchitecture 2x8-Lane HMCLinks PCIe HMC Memory PicoFramework Stream HMCPorts FromHost Memory Prefetcher TestPacket Generator Packet Stream Packet Header Extractor Header Stream Rule Stream Packet Packet Packet Packet Matching Matching Matching Matching Engine Engine Engine Engine StreamToHost Output Result Verifier Output Stream KintexUltrascale060 PicoComputingAC-510 9 ExperiencewithHLS 2x8-Lane HMCLinks PCIe HMC Memory PicoFramework Stream HMCPorts FromHost Memory Prefetcher TestPacket Generator Packet Stream Packet Header Extractor Header Stream Rule Stream Packet Packet Packet Packet Matching Matching Matching Matching Engine Engine Engine Engine StreamToHost Output Result Verifier Output Stream KintexUltrascale060 PicoComputingAC-510 10 ExperiencewithHLS 2x8-Lane HMCLinks PCIe HMC Memory PicoFramework Stream HMCPorts FromHost Memory Prefetcher TestPacket Generator Packet Stream Packet Header Extractor Header Stream Rule Stream Packet Packet Packet Packet Matching Matching Matching Matching Engine Engine Engine Engine StreamToHost Output Result Verifier Output Stream KintexUltrascale060 PicoComputingAC-510 11 Results- Throughput 10 11 Processing Rate (bps) 10 10 10 9 10 8 10 7 10 6 10 5 4 2 1 PE 100 PEs 160 PEs (Systolic) 10 Gbps 2 6 2 8 2 10 2 12 2 14 2 16 2 18 2 20 Number of Rules 12 Pleasecomevisitour posterformoredetails! DanielLy-Ma([email protected]) 13
© Copyright 2026 Paperzz