通过工作负载整合提升系统性能
在工作负载和I/O处理方面,目前的市场和技术发展趋势比较倾向采用将传统的网络架构整合到一个通用平台或模块化的组件上来,以支持多网络设备和提供不同的服务功能,如应用处理、控制处理、包处理和信号处理功能等。处理器架构以及新的软件开发工具的功能提升,让开发人员可以很容易的将工作负载整合到统一的刀片架构中,这些负载包含了应用、控制以及包处理等。通过软硬件的整合,可以大幅度提升性能,并使得刀片式服务器架构在包处理解决方案中的应用大幅增加。
为了说明工作负载整合的演变,我们设计了一系列的测试方法。这些测试方法是在单一平台中,通过将CPU制造商提供的DPDK整合到ATCA处理器刀片上,以此验证处理器刀片提供的性能以及整合的IP转发服务。比较在没有使用Intel® DPDK做任何优化时,采用原生 Linux(Native Linux) IP转发时的第三层转发性能。然后,我们再分析采用Intel® DPDK技术之后所获得的IP转发性能提升的原因。
数据平面开发套件
DPDK(Data Plane Development Kit,数据平面开发套件)是一个专为x86架构处理器提供的轻量级运行环境。它提供了低功耗和Run-to-Completion(RTC,运行到完成)模式,以此最大限度的提升数据包的处理性能。而且DPDK还包含了优化的和高效的函数库,为用户提供丰富的选择,例如我们熟知的环境抽象层(EAL,Environment Abstraction Layer),它负责控制低级资源并提供优化的轮询模式驱动(PMD,Poll Mode Driver),以及更高级别应用的完整API接口,图7为软件层级结构图。
图7: Linux应用环境下的EAL和GLIBC
测试拓扑结构
为了测量ATCA处理器刀片在第三层处理和转发IP包的速度,我们使用图8中所示的环境进行测试。
图8:IP转发测试环境
我们的测试使用了ATCA处理器刀片的2个10GbE外部接口和两个10GbE Fabric接口(总计40G),通过比较使用和未使用DPDK的结果,我们可以得出结论:在相同的硬件平台下,使用DPDK后的Linux仅用两个CPU线程进行IP转发的性能,与原生 Linux(Native Linux)使用全部的CPU线程进行IP转发的性能相比,前者是后者的10倍。使用DPDK的平台,3层小数据包的转发线速可以达到>70%。DPDK中优化过的软件堆栈可以实现10倍性能的提升。如果在一个基于IA架构的刀片的控制层和数据层配备DPDK,就可以减少一个40G的NPU刀片。通常一个40G的GPU刀片的功耗为180W,因此通过工作负载整合可以节省56%的能耗。
从图9可以看出,搭配DPDK后的处理器刀片的IPv4转发性能,可以让客户以更好的性价比成本,将包处理应用从基于硬件的网络处理器移植到基于x86的计算平台,同时使用同一个平台来部署不同的服务,如程序处理、控制处理和包处理服务。更多关于我们的测试过程和结果,请登录凌华科技网站www.adlinktech.com查询凌华科技的技术白皮书:采用Intel® DPDK技术的凌华科技aTCA-6200刀片式服务器完美实现包转发服务性能的提升。
图9:采用4个10GbE的IP转发性能比较
结论
目前有很多途径可以优化多板卡/多处理器系统的电源使用及效率。我们已经看到了使用嵌入式电源管理、整合嵌入式电源管理的动态迁移以及优化吞吐量的工作负载整合等方法的可能性。由于每个系统的配置和对工作负载的需求都不尽相同,因此没有一个绝对的解决办法。对于每一个方案,都需要仔细选择适合的技术和策略,以满足预期的吞吐量和功耗。
共0条 [查看全部] 网友评论