Jinli Yan, Chunbo Jia, Lu Tang, Tao Li, Gaofeng Lv, W. Quan, Hui Yang
{"title":"Network Programming Interface in General-Purpose Multi-core Processor: A Survey","authors":"Jinli Yan, Chunbo Jia, Lu Tang, Tao Li, Gaofeng Lv, W. Quan, Hui Yang","doi":"10.1109/ICCSE49874.2020.9201704","DOIUrl":null,"url":null,"abstract":"Recently, the development and deployment of dedicated hardware can hardly keep pace with the increasing complexity of the network functions. With the performance improvement, the maturity of virtualization technology and many open-source network projects (such as DPDK), the general-purpose multi-core processors (multi-core CPU) have been widely used in network field. Network operators are migrating network functions to multi-core CPU for flexible development and dynamic deployment. Network programming interfaces on multi-core CPU not only provide general packet processing services but also shield the complex implementation of software and hardware for developers. Both network application requirements and implementation mechanisms of the underlying platform have significant influences on the development of network programming interfaces. In this paper, we first review the development of network programming interfaces and classify programming interfaces by information model, resource management mode, and development model. We then analyze the programming interfaces provided by Click, VPP, and mOS, respectively. Because 5G and data center networks require high programmability and performance, and software/hardware co-processing become popular packet processing architectures, we also propose future research directions, including application-defined semantics of control blocks, software/hardware dynamical reconfiguration, and multi-dimensional event management.","PeriodicalId":350703,"journal":{"name":"2020 15th International Conference on Computer Science & Education (ICCSE)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 15th International Conference on Computer Science & Education (ICCSE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICCSE49874.2020.9201704","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Recently, the development and deployment of dedicated hardware can hardly keep pace with the increasing complexity of the network functions. With the performance improvement, the maturity of virtualization technology and many open-source network projects (such as DPDK), the general-purpose multi-core processors (multi-core CPU) have been widely used in network field. Network operators are migrating network functions to multi-core CPU for flexible development and dynamic deployment. Network programming interfaces on multi-core CPU not only provide general packet processing services but also shield the complex implementation of software and hardware for developers. Both network application requirements and implementation mechanisms of the underlying platform have significant influences on the development of network programming interfaces. In this paper, we first review the development of network programming interfaces and classify programming interfaces by information model, resource management mode, and development model. We then analyze the programming interfaces provided by Click, VPP, and mOS, respectively. Because 5G and data center networks require high programmability and performance, and software/hardware co-processing become popular packet processing architectures, we also propose future research directions, including application-defined semantics of control blocks, software/hardware dynamical reconfiguration, and multi-dimensional event management.