DPDK
文章平均质量分 86
七夜落幕丶
这个作者很懒,什么都没留下…
展开
-
dpdk探究1-理解dpdk的运行逻辑
DPDK介绍DPDK主要功能:利用IA(intel architecture)多核处理器进行高性能数据包处理Linux下传统的网络设备驱动包处理的动作可以概括如下:数据包到达网卡设备网卡设备依据配置进行DMA操作网卡发送中断,唤醒处理器驱动软件填充读写缓冲区数据结构数据报文到达内核协议栈,进行高层处理如果最终应用在用户态,数据从内核搬移到用户态如果最终应用在内核态,在内核...原创 2018-06-04 16:37:58 · 3445 阅读 · 2 评论 -
dpdk存储系统
NUMA系统简介普通的南北桥系统里面主要是通过北桥进行数据的交换,这样系统的瓶颈在北桥中,NUMA(非一致性内存架构Non-Uniform Memory Architecture)系统可以解决这样的系统瓶颈。在这种架构下,在一个配有四核的机器中,不需要一个复杂的北桥就能将内存带宽增加到之前的四倍,这样有一个问题就是该系统中,访问内存花费的时间和处理器相关,之所以和处理器相关是因为该系统每个处理...原创 2018-07-09 17:44:00 · 538 阅读 · 0 评论 -
dpdk无锁队列
这篇博客是从网上博客整理摘抄而来,具体参考的博客内容在文末给出。Linux无锁队列kfifo概述Linux内核中有一个先进先出的数据结构,采用环形队列的数据结构来实现,提供一个无边界的字节流服务。最重要的是,这个队列采用的是无锁的方式来实现。即当它用于只有一个入队线程和一个出队线程的场景时,两个线程可以并发操作,而不需要任何加锁行为,就可以保证kfifo的线程安全。 这个队列名为k...转载 2018-07-09 17:45:51 · 5759 阅读 · 0 评论 -
dpdk线程亲和性
Linux对线程的亲和性是有支持的,在Linux内核中,所有线程都有一个相关的数据结构,称为task_count,这个结构中和亲和性有关的是cpus_allowed位掩码,这个位掩码由n位组成,n代码逻辑核心的个数。Linux内核API提供了一些方法,让用户可以修改位掩码或者查看当前的位掩码。sched_set_affinity(); //修改位掩码sched_get_affinit...原创 2018-07-04 21:13:51 · 2658 阅读 · 0 评论