{"title":"Network processor — A simplified approach for transport layer offloading on NIC","authors":"G. Gadre, S. Badhe, Kedar Kulkarni","doi":"10.1109/ICACCI.2016.7732440","DOIUrl":null,"url":null,"abstract":"High performance Network Interconnect is the most important component in High Performance Computing systems. The Network Interconnect mainly consists of three components: Network Interface Card, Switch fabric, and Light weight protocol stack. In order to achieve high bandwidth and low latency, transport protocol is offloaded to Network Interface Card. In transport offload model, the Network Interface Card is not only involved in data transfer but also involved in protocol processing. Protocol processing is a very complex task that involves multiple variables and intricate functionality. Therefore, it would be very beneficial if the Network Interface Card can provide enough flexibility to support multiple protocols. Enhancing support for multiple functionalities will empower the Network Interface Card to support multiple applications. Traditionally, the fixed custom logic in FPGA or ASIC was used for protocol processing. But, it is very difficult to achieve flexibility in the fixed custom logic. To overcome this issue, Network Processor, which provides a lot of flexibility, has emerged as an alternative for conventional hardwired logic. In this paper, we present a novel architecture that makes use of a RISC processor as the Network processor for high-speed network interfaces. We focus on the use of Network Processor in protocol processing. We also share how useful Network Processor is for supporting additional features, even after the complete NIC architecture was finalized. We also explain the debugging strategy, which is very helpful for debugging complex protocol processing.","PeriodicalId":371328,"journal":{"name":"2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICACCI.2016.7732440","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
High performance Network Interconnect is the most important component in High Performance Computing systems. The Network Interconnect mainly consists of three components: Network Interface Card, Switch fabric, and Light weight protocol stack. In order to achieve high bandwidth and low latency, transport protocol is offloaded to Network Interface Card. In transport offload model, the Network Interface Card is not only involved in data transfer but also involved in protocol processing. Protocol processing is a very complex task that involves multiple variables and intricate functionality. Therefore, it would be very beneficial if the Network Interface Card can provide enough flexibility to support multiple protocols. Enhancing support for multiple functionalities will empower the Network Interface Card to support multiple applications. Traditionally, the fixed custom logic in FPGA or ASIC was used for protocol processing. But, it is very difficult to achieve flexibility in the fixed custom logic. To overcome this issue, Network Processor, which provides a lot of flexibility, has emerged as an alternative for conventional hardwired logic. In this paper, we present a novel architecture that makes use of a RISC processor as the Network processor for high-speed network interfaces. We focus on the use of Network Processor in protocol processing. We also share how useful Network Processor is for supporting additional features, even after the complete NIC architecture was finalized. We also explain the debugging strategy, which is very helpful for debugging complex protocol processing.