DPDK内存碎片优化,性能最高提升30+倍!
原文链接点击 DPDK内存碎片优化,性能最高提升30+倍! 背景 DPDK(Data Plane Development Kit)是一个用于高性能数据包处理的开源项目,常用于构建各类高性能网络应用。基于 DPDK 的设计思想及其提供的线程/内存模型,SPDK(Storage Performance Development Kit)被开发出来,广泛用于构建各类高性能存储应用。 为了提升应用程序的性能,DPDK 基于大页内存实现了一套自己的内存管理接口,这些内存接口被广泛应用于SPDK/DPDK 的各类应用中,而且不少应用会在 IO 路径中进行内存的分配与释放。DPDK 常用的内存接口有: void *rte_malloc(const char *type, size_t size, unsigned align); void *rte_realloc(void *ptr, size_t size, unsigned int align); void rte_free(void *ptr); 在实际使用过程中,我们发现 DPDK 原生的内存分配接口在一些场景下有着较大的性能问题。本文将结合...