DPDK中CPU相关概念
2017-07-26 16:16
363 查看
Ø lcore
指eal线程,采用pthread创建,并设置了CPU亲和性。我感觉dpdk把这个概念搞混淆了,有时指逻辑核,有时指线程。不过大部分是指线程。
Ø lcore_id
逻辑核标识,可以通过top d1 或cat /proc/cpuinfo 看到的核,这种包括物理核和超线程的核,判断是否为超线程核,可以看/proc/cpuinfo文件中相应的核sibling是不是大于cpu cores,如果是则为超线程核,但超线程对于我们编程是透明的。在/proc/cpuinfo/中Physical id 和core id相同是超线程。
每个eal线程,会存储每线程变量RTE_PER_LCORE(_lcore_id) 存储逻辑核id. 设置亲和力,应该是lcore_id.
Ø core_id
该逻辑核在物理核中的标识,如果是超线程的话,core_id存在相同的情况。通过/sys/devices/system/cpu/cpuX/topology/core_id 可以看到,也可以通过/proc/cpuinfo中查到,前面一种便于编程。在线程的绑定CPU亲和性方面没有用。
Ø socket_id
在DPDK中不同于物理核的socket,应该是numa的标识。查看文件/sys/devices/system/nodeX/cpu.
主要用于内存的分配。
指eal线程,采用pthread创建,并设置了CPU亲和性。我感觉dpdk把这个概念搞混淆了,有时指逻辑核,有时指线程。不过大部分是指线程。
Ø lcore_id
逻辑核标识,可以通过top d1 或cat /proc/cpuinfo 看到的核,这种包括物理核和超线程的核,判断是否为超线程核,可以看/proc/cpuinfo文件中相应的核sibling是不是大于cpu cores,如果是则为超线程核,但超线程对于我们编程是透明的。在/proc/cpuinfo/中Physical id 和core id相同是超线程。
每个eal线程,会存储每线程变量RTE_PER_LCORE(_lcore_id) 存储逻辑核id. 设置亲和力,应该是lcore_id.
Ø core_id
该逻辑核在物理核中的标识,如果是超线程的话,core_id存在相同的情况。通过/sys/devices/system/cpu/cpuX/topology/core_id 可以看到,也可以通过/proc/cpuinfo中查到,前面一种便于编程。在线程的绑定CPU亲和性方面没有用。
Ø socket_id
在DPDK中不同于物理核的socket,应该是numa的标识。查看文件/sys/devices/system/nodeX/cpu.
主要用于内存的分配。
相关文章推荐
- CPU相关基本概念
- dpdk 相关概念
- 关于linux相关的cpu概念
- CPU相关的18个概念
- 手机操作系统知识整理(一):CPU相关概念详解
- 决策树与随机森林相关概念及其Python实现
- 电子电路之集电极开路、漏极开路、上拉电阻、下拉电阻等接口相关基本概念
- JDBC事务相关概念
- Hbase相关概念,配置总结
- Linux设备驱动(1)模块的相关概念
- Linux下快速查看CPU使用情况的相关命令
- 域模型相关概念
- 数据结构 —— 树 (相关概念)
- WebService的相关概念
- linux设备驱动归纳总结(一):内核的相关基础概念
- 宏观税负及相关概念
- 基本计算机相关概念
- 死锁的相关概念
- 信号章节相关概念
- Java SecurityManager相关概念理解