您的位置:首页 > 其它

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

2013-09-02 11:00 706 查看
声明:此文档只做学习交流使用,请勿用作其他商业用途
author:朝阳_tony
E-mail : linzhaolover@gmail.com
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 api