| In recent years,emerging network technologies represented by software-defined networks have developed rapidly,and various new protocols have emerged in an endless stream.Multiple heterogeneous protocols are integrated in more and more network architectures,which complicates the design of network devices.Traditional network devices cannot adapt to the continuously evolving network due to the high cost and long cycles of rolling out new functionality.These problems introduce the development of programmable data planes.However,on the one hand,although the programmable data plane based on P4(Programming Protocol-independent Packet Processors)has high performance with the help of hardware design,it cannot realize runtime programming.On the other hand,the programmable data plane based on POF(Protocol Oblivious Forwarding)can change the data packet processing pipeline at runtime by installing the flow table,but it uses software for development and acceleration,and its performance is limited.In order to realize a programmable switch with both high performance and runtime-programmability,it is considered to add smartNIC offloading technology to programmable switches based on POF.However,the current network function offloading technology based on smartNICs mainly supports OpenFlow,which has poor programmability,and does not consider the limited memory capacity of smartNICs and the additional overhead of offloading.In response to the above challenges,this dissertation studies the combination of POF software switches and hardware acceleration,and adaptively offloads POF flow tables to smartNICs for hardware acceleration,thereby improving the performance of POF-based programmable switches.The work of this dissertation is carried out from two aspects of system and theory.In terms of system work,this dissertation first analyzes the performance bottleneck of POF-based software switches.Then,this dissertation designs the offloading principle of POF flow table based on the TC flower subsystem in the Linux kernel.According to the offloading principle of POF flow table,this dissertation designs and implements the offloading and updating framework of POF flow table.In the framework,this dissertation realizes the offloading support for POF flow tables by converting POF flow tables into TC rules,and designs a decision module to realize selective offloading for high-load actions,due to the performance bottlenecks of POF-based software switch,and finally designs and implements offloading revalidation module to ensure that the data packet processing pipeline on the smartNIC can be dynamically reconfigured.The experimental results show that the offloading and updating framework of POF flow table can offload and update the flow table with high load actions in time,and the data packet processing throughput is significantly improved.In theoretical work,considering the limited memory capacity of the smartNIC and the offload communication delay,in order for the POF-based software switch to adaptively select the best flow table for offloading according to the state of the flow,this dissertation formulates two mixed integer linear programming(MILP)models to respectively solve the flow table offloading and replacement problems.To reduce the time complexity and increase the scalability of the scheme,time-efficient heuristic algorithms are designed in this dissertation.The simulation results confirm that the heuristic algorithm can greatly shorten the decision time under the premise that the solution result is close to the optimal solution. |