{"title":"基于软件电路的快速包转发引擎","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":"{\"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}","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}
Fast packet forwarding engine based on software circuits
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.