RIT researchers create programmable network switch to improve IP lookup time
Team combines Vector Packet Processing with cuckoo filters to increase router speed
A team of RIT computer science researchers has created a new programmable switch that significantly reduces lookup time, helping to improve router performance by more than 100 percent.
The team developed the switch with a novel longest prefix matching algorithm that they named CuVPP. The algorithm uses packet batch processing and cache locality for both instructions and data, by leveraging Vector Packet Processing (VPP), and uses a cuckoo filter in the cache as the fast pre-screening mechanism. According to RIT researchers, CuVPP can achieve up to 4.5 million lookups per second with real traffic — higher than other popular approaches.
For the work, the team received a best paper award at IEEE Cluster 2020, an international conference in the field of cluster computing. The research was led by Minseok Kwon, professor of computer science; M. Mustafa Rafique, assistant professor of computer science; Krishna Prasad Neupane, computing and information sciences Ph.D. student; and John Marshall, a Distinguished Engineer at Cisco Systems and 1989 computer engineering alumnus.
The researchers set out to improve the processing time of programmable software routers, which are more flexible to scale than hardware routers, but are currently not as fast.
“Programmability in network switches has become increasingly important as virtualization is introduced into networking and software-defined networking becomes more prevalent,” said Kwon. “Yet, the performance of programmable network switches on commodity hardware is a major concern, in light of ever-increasing network speed and routing table size.”
When internet users try to visit a website, the router must be able to efficiently lookup the destination IP address and forward data packets. This lookup challenge has been extensively studied because it can be a computationally expensive and timely process. To shorten the time it takes to search for an IP address, the RIT team decided to use cuckoo filter technology.
“We can put the filter in a cache memory — a really fast and really small memory — so we can pre-screen for IP addresses, instead of searching an entire table,” said Kwon. “The challenge in building this is that you need to go over the source code and modify it, to make sure the filter is small and doesn’t impact things negatively.”
The researchers evaluated CuVPP with real network traffic using IPv6 prefixes from operational routers. They found that their switch helps enhance the lookup rates by up to 24 percent over Base VPP, 51 percent over VPP with Bloom filters, and 128 percent over VPP with a trie.
“As the internet continues to grow, technology to improve the efficiency of IPv6 is necessary,” said Marshall, who works with Cisco Systems in North Carolina. “This algorithmic technique can really improve packet forwarding performance in software routers.”
CuVPP is an open source prototype and the researchers hope to make it part of IP lookup in the future. For more information about CuVPP, read the paper.