{"title":"缓存分区对软件包处理的影响","authors":"N. Schramm, Torsten M. Runge, B. Wolfinger","doi":"10.1109/NetSys.2019.8854519","DOIUrl":null,"url":null,"abstract":"Traditionally, network functions were often implemented on expensive special networking hardware (e.g. middle-boxes). The architectural concept of network functions virtualization (NFV) enables the implementation of network functions (e.g. routing, firewall) as virtual network functions (VNF) in software to execute them on off-the-shelf x86 hardware. To leverage the capabilities of multi-core processors, the VNFs must be distributed on several cores. However, when many VNFs are executed on different CPU cores, the VNFs compete for the last level cache (LLC) which is a shared resource between all CPU cores and might become a performance bottleneck. With the help of cache partitioning, it is possible to divide the LLC into dedicated blocks for each VNF. This paper investigates if a performance gain can be achieved by cache partitioning. With the help of real testbed measurements, a Linux router as well as a DPDK-based router is examined. Our results show that cache partitioning can be beneficial if the cache partition size is sufficiently large.","PeriodicalId":291245,"journal":{"name":"2019 International Conference on Networked Systems (NetSys)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"The Impact of Cache Partitioning on Software-Based Packet Processing\",\"authors\":\"N. Schramm, Torsten M. Runge, B. Wolfinger\",\"doi\":\"10.1109/NetSys.2019.8854519\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Traditionally, network functions were often implemented on expensive special networking hardware (e.g. middle-boxes). The architectural concept of network functions virtualization (NFV) enables the implementation of network functions (e.g. routing, firewall) as virtual network functions (VNF) in software to execute them on off-the-shelf x86 hardware. To leverage the capabilities of multi-core processors, the VNFs must be distributed on several cores. However, when many VNFs are executed on different CPU cores, the VNFs compete for the last level cache (LLC) which is a shared resource between all CPU cores and might become a performance bottleneck. With the help of cache partitioning, it is possible to divide the LLC into dedicated blocks for each VNF. This paper investigates if a performance gain can be achieved by cache partitioning. With the help of real testbed measurements, a Linux router as well as a DPDK-based router is examined. Our results show that cache partitioning can be beneficial if the cache partition size is sufficiently large.\",\"PeriodicalId\":291245,\"journal\":{\"name\":\"2019 International Conference on Networked Systems (NetSys)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-03-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2019 International Conference on Networked Systems (NetSys)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/NetSys.2019.8854519\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 International Conference on Networked Systems (NetSys)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/NetSys.2019.8854519","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
The Impact of Cache Partitioning on Software-Based Packet Processing
Traditionally, network functions were often implemented on expensive special networking hardware (e.g. middle-boxes). The architectural concept of network functions virtualization (NFV) enables the implementation of network functions (e.g. routing, firewall) as virtual network functions (VNF) in software to execute them on off-the-shelf x86 hardware. To leverage the capabilities of multi-core processors, the VNFs must be distributed on several cores. However, when many VNFs are executed on different CPU cores, the VNFs compete for the last level cache (LLC) which is a shared resource between all CPU cores and might become a performance bottleneck. With the help of cache partitioning, it is possible to divide the LLC into dedicated blocks for each VNF. This paper investigates if a performance gain can be achieved by cache partitioning. With the help of real testbed measurements, a Linux router as well as a DPDK-based router is examined. Our results show that cache partitioning can be beneficial if the cache partition size is sufficiently large.