Chengjun Jia, Chenglong Li, Yifan Li, Xiaohe Hu, Jun Li
{"title":"FACL:基于fpga的SmartNIC灵活高性能的ACL引擎","authors":"Chengjun Jia, Chenglong Li, Yifan Li, Xiaohe Hu, Jun Li","doi":"10.23919/ifipnetworking55013.2022.9829813","DOIUrl":null,"url":null,"abstract":"Access Control List (ACL) is an important network function in modern cloud and carrier networks. Nowadays, SmartNIC is becoming a promising location to perform network functions in the end-to-end transmission. However, previous ACL designs have difficulties to achieve high throughput and support various kinds of rulesets at the same time. FPGA-based SmartNIC brings a new opportunity due to its flexibility and parallelism. In this paper, we propose FACL, a flexible and high performance ACL engine with the decision tree approach on FPGA-based SmartNIC. With the tree decomposition and the Network-on-Chip (NOC) pipeline scheduling, it is feasible for FACL to support all kinds of rulesets, as long as there is sufficient memory space. A compiler for FACL is also proposed, which maps decision trees to SRAM memory to optimize the throughput of a ruleset. FACL is implemented on Xilinx U250, a typical FPGA SmartNIC. According to the evaluation, FACL achieves up to 250 Mpps throughput with about 150 ns latency, when dealing with various 100 K ACL rulesets. The utilization of LUT/Register is only 10%/3.8%. With further decision tree optimization and engine parallelism, FACL has the potential to achieve higher throughput and support larger rulesets.","PeriodicalId":31737,"journal":{"name":"Edutech","volume":"57 1","pages":"1-9"},"PeriodicalIF":0.0000,"publicationDate":"2022-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"FACL: A Flexible and High-Performance ACL engine on FPGA-based SmartNIC\",\"authors\":\"Chengjun Jia, Chenglong Li, Yifan Li, Xiaohe Hu, Jun Li\",\"doi\":\"10.23919/ifipnetworking55013.2022.9829813\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Access Control List (ACL) is an important network function in modern cloud and carrier networks. Nowadays, SmartNIC is becoming a promising location to perform network functions in the end-to-end transmission. However, previous ACL designs have difficulties to achieve high throughput and support various kinds of rulesets at the same time. FPGA-based SmartNIC brings a new opportunity due to its flexibility and parallelism. In this paper, we propose FACL, a flexible and high performance ACL engine with the decision tree approach on FPGA-based SmartNIC. With the tree decomposition and the Network-on-Chip (NOC) pipeline scheduling, it is feasible for FACL to support all kinds of rulesets, as long as there is sufficient memory space. A compiler for FACL is also proposed, which maps decision trees to SRAM memory to optimize the throughput of a ruleset. FACL is implemented on Xilinx U250, a typical FPGA SmartNIC. According to the evaluation, FACL achieves up to 250 Mpps throughput with about 150 ns latency, when dealing with various 100 K ACL rulesets. The utilization of LUT/Register is only 10%/3.8%. With further decision tree optimization and engine parallelism, FACL has the potential to achieve higher throughput and support larger rulesets.\",\"PeriodicalId\":31737,\"journal\":{\"name\":\"Edutech\",\"volume\":\"57 1\",\"pages\":\"1-9\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-06-13\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Edutech\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.23919/ifipnetworking55013.2022.9829813\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Edutech","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.23919/ifipnetworking55013.2022.9829813","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
ACL (Access Control List)是现代云和运营商网络中的一项重要网络功能。目前,SmartNIC正在成为端到端传输中实现网络功能的理想场所。但是,以往的ACL设计难以同时实现高吞吐量和支持多种规则集。基于fpga的智能网卡由于其灵活性和并行性带来了新的机遇。本文在基于fpga的SmartNIC上提出了一种基于决策树方法的灵活高性能ACL引擎FACL。通过树分解和片上网络(NOC)流水线调度,只要有足够的内存空间,FACL支持各种规则集是可行的。本文还提出了一个FACL编译器,该编译器将决策树映射到SRAM存储器,以优化规则集的吞吐量。FACL是在典型的FPGA SmartNIC Xilinx U250上实现的。根据评估,在处理各种100k ACL规则集时,FACL的吞吐量最高可达250mpps,延迟约为150ns。LUT/Register的利用率仅为10%/3.8%。通过进一步的决策树优化和引擎并行性,FACL有可能实现更高的吞吐量并支持更大的规则集。
FACL: A Flexible and High-Performance ACL engine on FPGA-based SmartNIC
Access Control List (ACL) is an important network function in modern cloud and carrier networks. Nowadays, SmartNIC is becoming a promising location to perform network functions in the end-to-end transmission. However, previous ACL designs have difficulties to achieve high throughput and support various kinds of rulesets at the same time. FPGA-based SmartNIC brings a new opportunity due to its flexibility and parallelism. In this paper, we propose FACL, a flexible and high performance ACL engine with the decision tree approach on FPGA-based SmartNIC. With the tree decomposition and the Network-on-Chip (NOC) pipeline scheduling, it is feasible for FACL to support all kinds of rulesets, as long as there is sufficient memory space. A compiler for FACL is also proposed, which maps decision trees to SRAM memory to optimize the throughput of a ruleset. FACL is implemented on Xilinx U250, a typical FPGA SmartNIC. According to the evaluation, FACL achieves up to 250 Mpps throughput with about 150 ns latency, when dealing with various 100 K ACL rulesets. The utilization of LUT/Register is only 10%/3.8%. With further decision tree optimization and engine parallelism, FACL has the potential to achieve higher throughput and support larger rulesets.