序言
2015年的春天,在北京参加DPDK研讨大会时,有幸结识了本书的部分作者和众多DPDK研发的专业人士。这使我对这个专题的感召力深感诧异。DPDK就像一块磁铁,可以把这么多不同行业的专业人士吸引在一起。同时,大家会上也相约来年的春天,国内的同仁们能在DPDK技术进步中展现出自己独到的贡献。
作为运营商研发队伍的一员,我们无时不刻都能感受到NFV这个话题的灼热度。作为网络演进的大趋势,NFV将在未来为运营商实现网络重构扮演重要的角色。然而,大家都知道,NFV技术的发展之路存在各种屏障,性能问题是一道迈不过去的坎。这个问题的复杂性在于,它涉及I/O、操作系统内核、协议栈和虚拟化等多个层面对网络报文的优化处理技术。虽然IT界已发展出多类小众技术来应对,但这些技术对于普通应用技术人员而言比较陌生,即使对于传统网络的开发者而言,全面掌握这些技术也存在巨大的挑战。长久以来,用户更希望在这个领域有系统性的解决方案,能把相关的技术融会贯通,并系统性地组织在一起,同时也需要更为深入的细节技术支持工作。
DPDK的到来正逢其时,它之所以能脱颖而出,并迅速发展为业界在NFV加速领域的一种标杆技术,在于它不仅是上述技术的集大成者,更重要的是它的开放性和持续迭代能力,这些都得益于DPDK背后这支强大的专业研发团队,而本书的专业功力也可见一斑。
作为运营商的网络研发队伍,我们已关注DPDK近3年,尽管学习过DPDK部分源码和大量社区文档,也组织通过大量的DPDK相关NFV测试验证,但我们仍然觉得迫切需要系统性地介绍现代服务器体系架构,以及虚拟化环境下I/O优化的最新技术。令人倍感欣慰的是,本书作者对DPDK的讲解游刃有余,系统全面的同时又不乏敏锐的产业视角。可以说,深入浅出是本书最大的特点。
形而上者谓之道,形而下者谓之器。书中一方面透彻地讲解了现代处理器体系架构、网络I/O、内核优化和I/O虚拟化的原理与技术发展史,在这个“道用”的基础上,另一方面也清晰地介绍了DPDK细节性的“器用”知识,包括并行处理、队列调度、I/O调优、VNF加速等大量方法与应用,两方面相得益彰。结合DPDK社区的开源代码和动手实践,相信读者仔细学习完本书,必能加快对NFV性能关键技术的领悟。本书的受益对象首先是那些立志跨界转型的NFV研发工程师,也面向高等院校计算机专业希望在体系架构方面有更深发展的在校生,更包括像我们这样关注DPDK应用场景、NFVI集成和测试技术的最终用户。我们衷心感谢作者为业界带来的全新技术指引。这本书就像一粒种子,其中蕴含的知识未来定会在NFV这片沃土上枝繁叶茂,开花结果。
严格地讲,我们的团队只是DPDK用户的用户,我们研究DPDK的目的并非针对DPDK本身,而是为NFV的集成和开发提供一个准确的、可供评估的NFVI性能基准,减少各类网络功能组件在私有的优化过程中存在的不稳定风险。从对DPDK的初步评测来看,结果令人满意甚至超出预期,但我们仍应清醒地认识到,DPDK作为NFV加速技术架构仍有很长的路要走,打造成熟、规范和完善的产业链是近期要解决的重要课题。我们呼吁也乐见有更多的朋友加入DPDK应用推广的行列,众志成城,汇聚成一股SDN时代的创新洪流。
欧亮博士 中国电信广州研究院