{"title":"Fast packet forwarding engine based on software circuits","authors":"M. Makkes, A. Varbanescu, C. D. Laat, R. Meijer","doi":"10.1145/2742854.2742862","DOIUrl":null,"url":null,"abstract":"Forwarding packets is part of the performance critical path of routing devices, and affects the network performance at any scale. This operation is typically performed by dedicated routing boxes, which are fast, but expensive and inflexible. Recent work has shown that in many cases commodity hardware is becoming an alternative to these specialized boxes. In this work, we present a new technique - based on bitslicing - to improve the performance of forward decision-making on modern commodity hardware. Specifically, we propose to replace memory lookups with logical operations, by evaluating the packet header information as a Boolean circuit. Being less memory-intensive, our algorithm has the potential to achieve high performance on both modern CPUs and GPUs. To measure and qulify the performance of our algorithm, we implemented it in OpenCL and performed a large set of experiments on 5 different platforms - two CPUs and three GPUs. Our results show that bitslicing has the ability to outperform the traditional, memory lookup approach in 70% of the cases, depending on the type of traffic and routing parameters.","PeriodicalId":417279,"journal":{"name":"Proceedings of the 12th ACM International Conference on Computing Frontiers","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-05-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 12th ACM International Conference on Computing Frontiers","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2742854.2742862","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Forwarding packets is part of the performance critical path of routing devices, and affects the network performance at any scale. This operation is typically performed by dedicated routing boxes, which are fast, but expensive and inflexible. Recent work has shown that in many cases commodity hardware is becoming an alternative to these specialized boxes. In this work, we present a new technique - based on bitslicing - to improve the performance of forward decision-making on modern commodity hardware. Specifically, we propose to replace memory lookups with logical operations, by evaluating the packet header information as a Boolean circuit. Being less memory-intensive, our algorithm has the potential to achieve high performance on both modern CPUs and GPUs. To measure and qulify the performance of our algorithm, we implemented it in OpenCL and performed a large set of experiments on 5 different platforms - two CPUs and three GPUs. Our results show that bitslicing has the ability to outperform the traditional, memory lookup approach in 70% of the cases, depending on the type of traffic and routing parameters.