dpdk学习五 多进程
1、dpdk学习五 多进程
EAL 已被修改以允许生成不同类型的 DPDK 进程,每个进程对应用程序使用的巨页内存具有不同的权限。目前,指定了两种类型的进程:
- 主进程,可以初始化并且对共享内存具有完全权限
- 辅助进程,不能初始化共享内存,但可以附加到预先初始化的共享内存并在其中创建对象。
独立的 DPDK 进程是主进程,而辅助进程只能与主进程一起运行,或者在主进程已经为它们配置好大页共享内存之后才能运行。
1.1 内存共享
使多进程应用程序使用 DPDK 工作的关键要素是确保在构成多进程应用程序的进程之间正确共享内存资源。一旦存在可供多个进程访问的共享内存块,那么诸如进程间通信 (IPC) 之类的问题就会变得更加简单。
在主进程或独立进程中启动应用程序时,DPDK 将其正在使用的内存配置的详细信息记录到内存映射文件 - 正在使用的大页面、它们映射的虚拟地址、存在的内存通道数量等. 当一个辅助进程启动时,这些文件被读取并且EAL在辅助进程中重新创建相同的内存配置,以便所有内存区域在进程之间共享并且所有指向该内存的指针都是有效的,并且指向相同的对象。
![在这里插入图片描述](https://img-blog.csdnimg.cn/26f7f959ac314e03be36b75a8a625bc9.png#pic_center