Reza Falamarzi, Bahram Bahrambeigy, M. Ahmadi, Amir Rajabzade
{"title":"具有共享和私有队列的高性能多核/多核网络处理体系结构","authors":"Reza Falamarzi, Bahram Bahrambeigy, M. Ahmadi, Amir Rajabzade","doi":"10.1109/IKT.2015.7288757","DOIUrl":null,"url":null,"abstract":"Nowadays, the efficient and probabilistic data-structure named Bloom filter is widely used in network processing applications. Moreover, the parallel nature of Bloom filter has made it suitable for multi/many-core architectures. In this paper, two schemes called multi-core architecture with shared queue and multi-core architecture with private queue (both employing Bloom filter cores) are proposed and implemented on FPGA. The inherent parallelism in querying of packets and different number of cores (such as 1, 2, 4, 8 and 16 cores) are considered. Experimental results show that the multi-core architecture with private queue achieves higher throughput than the latter one. Furthermore, Bloom filter is also implemented on GPU (as many-core architecture) and the results are compared to the CPU only version. When the number of packets in GPU memory is 16384, the speedup achieved by GPU implementations using CUDA is about 274 times compared to CPU implementation. However FPGA results outperform GPU, so that the throughput of first architecture (shared queue) and second architecture (private queue) with 16 cores are respectively almost 5.5 and 7.1 times higher than GPU throughput.","PeriodicalId":338953,"journal":{"name":"2015 7th Conference on Information and Knowledge Technology (IKT)","volume":"20 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"High-performance multi/many-core network processing architectures with shared and private queues\",\"authors\":\"Reza Falamarzi, Bahram Bahrambeigy, M. Ahmadi, Amir Rajabzade\",\"doi\":\"10.1109/IKT.2015.7288757\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Nowadays, the efficient and probabilistic data-structure named Bloom filter is widely used in network processing applications. Moreover, the parallel nature of Bloom filter has made it suitable for multi/many-core architectures. In this paper, two schemes called multi-core architecture with shared queue and multi-core architecture with private queue (both employing Bloom filter cores) are proposed and implemented on FPGA. The inherent parallelism in querying of packets and different number of cores (such as 1, 2, 4, 8 and 16 cores) are considered. Experimental results show that the multi-core architecture with private queue achieves higher throughput than the latter one. Furthermore, Bloom filter is also implemented on GPU (as many-core architecture) and the results are compared to the CPU only version. When the number of packets in GPU memory is 16384, the speedup achieved by GPU implementations using CUDA is about 274 times compared to CPU implementation. However FPGA results outperform GPU, so that the throughput of first architecture (shared queue) and second architecture (private queue) with 16 cores are respectively almost 5.5 and 7.1 times higher than GPU throughput.\",\"PeriodicalId\":338953,\"journal\":{\"name\":\"2015 7th Conference on Information and Knowledge Technology (IKT)\",\"volume\":\"20 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-05-26\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2015 7th Conference on Information and Knowledge Technology (IKT)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/IKT.2015.7288757\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 7th Conference on Information and Knowledge Technology (IKT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IKT.2015.7288757","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
High-performance multi/many-core network processing architectures with shared and private queues
Nowadays, the efficient and probabilistic data-structure named Bloom filter is widely used in network processing applications. Moreover, the parallel nature of Bloom filter has made it suitable for multi/many-core architectures. In this paper, two schemes called multi-core architecture with shared queue and multi-core architecture with private queue (both employing Bloom filter cores) are proposed and implemented on FPGA. The inherent parallelism in querying of packets and different number of cores (such as 1, 2, 4, 8 and 16 cores) are considered. Experimental results show that the multi-core architecture with private queue achieves higher throughput than the latter one. Furthermore, Bloom filter is also implemented on GPU (as many-core architecture) and the results are compared to the CPU only version. When the number of packets in GPU memory is 16384, the speedup achieved by GPU implementations using CUDA is about 274 times compared to CPU implementation. However FPGA results outperform GPU, so that the throughput of first architecture (shared queue) and second architecture (private queue) with 16 cores are respectively almost 5.5 and 7.1 times higher than GPU throughput.