摘要

随着对网络处理性能及灵活性的要求越来越高,完全依赖于某款特定硬件既实现高速报文处理又提供灵活编程能力已经变得异常困难了,于是,英特尔推出了基于其处理器的高性能网络报文处理开发套件即DPDK(Data PlaneDevelopment Kit)。DPDK的处理框架基于RTC(Run To Complete)即用户态进程或者线程在一个大循环里按顺序执行注册的处理函数,其中每个处理函数执行时不能阻塞,否则后续函数将得不到执行。可见,DPDK的处理框架会限制处理函数的内部实现,增加其编程难度,因为所有处理逻辑必须是同步的。本文主要就是解决上述处理框架的同步性问题,使得其支持异步调度,从而为网络处理提供更大的便利性和灵活性。