intel dpdk api memory manage module (内存管理模块)

声明:此文档只做学习交流使用,请勿用作其他商业用途

author:朝阳_tony
E-mail : [email protected]
Create Date: 2013-9-2 10:29:22 Monday
Last Change: 2013-9-2 10:29:37 Monday

转载请注明出处:http://blog.csdn.net/linzhaolover


此文请结合intel dpdk源码去阅读,基于dpdk-1.3.1 版本源码讲解,源码可以去http://dpdk.org/dev 网页中下载;更多官方文档请访问http://dpdk.org

intel DPDK交流群希望大家加入互相学习,QQ群号:289784125

摘要

intel dpdk 构建了一套新的内存管理机制;采用了多核无锁操作的队列,以及零拷贝技术;

1、dpdk内存管理模块分几个层次

1)内存层

由huge部分创建和初始化,负责从系统分配一块比较大的内存,然后初始化,方便以后dpdk利用这块内存,由于dpdk有自己的内存管理模块,所以它的内存处理开销小,可以实现内存零拷贝,自身内存索引地址之间的切换等 ;
关于dpdk hugepage模块的详细介绍请看我写的博文: http://blog.csdn.net/linzhaolover/article/details/9273193

2)循环语句队列

dpdk中提供了ring管理模块,它实现了一个无锁多核操作的机制;没有了锁的操作等待,也就省去了部分开销,提供运行速度;
关于ring模块的详解介绍,请看我写的博文: http://blog.csdn.net/linzhaolover/article/details/9771329

3)内存池管理

dpdk还有一个内存池管理模块,

2、层次之间的管理关系

本文待续........

技术水平有待提高,如果文章有错误的地方希望读者指正,相互交流,互相学习;O(∩_∩)O~

你可能感兴趣的:(intel,dpdk)