摘要:
一: 乱序 乱序包含处理器的乱序执行和编译器的乱序优化; (1)处理器的乱序 乱序执行就是说把原来 有序执行的 指令列表,在保证执行结果一致的情况下 根据 指令依赖关系及指令执行周期 重新安排执行顺序。 例如以下指令(a = 1;b=a;c=2;d=c)在CPU中就很可能被重排序成为以下的执行顺序( 阅读全文
摘要:
一: 乱序 乱序包含处理器的乱序执行和编译器的乱序优化; (1)处理器的乱序 乱序执行就是说把原来 有序执行的 指令列表,在保证执行结果一致的情况下 根据 指令依赖关系及指令执行周期 重新安排执行顺序。 例如以下指令(a = 1;b=a;c=2;d=c)在CPU中就很可能被重排序成为以下的执行顺序( 阅读全文
摘要:
无论对于DPDK做怎样的增量开发,了解DPDK的内存管理模式有利于在满足自己产品功能同时最大化的提高性能; 一:Mempool的基本单元概念(https://doc.dpdk.org/guides/prog_guide/mempool_lib.html) Mempool是固定大小的对象分配器。 在D 阅读全文
摘要:
(一)一些概念: 分页:将物理内存分成固定大小的块,按照页来进行分配和释放;一般带下为4K(2^12)个字节; 大页:比如大小为2M(2^20)和2G(2^32)字节大小的页; 虚拟地址:软件编码通过虚拟地址来访问内存;由处理器将虚拟地址转换成物理地址;(虚拟地址对应虚拟内存,虚拟内存对应了numa 阅读全文
摘要:
(一)DPDK出现之前的问题: 以Linux 为例,传统网络设备驱动包处理的动作可以概括如下: 因此,可能产生以下问题: 1:数据包产生通过中断上报处理器,再到处理,延时过长 2:数据报文先送到内核协议栈进行高层处理,再复制到用户空间的耗时 3:用户态线程由操作系统调度,除去本身任务切换的开销,由切 阅读全文
摘要:
目前要测试一段驱动程序在ARM和X86不同款型CPU上的性能;需求是可以在任意一段代码前后进行打点N次,然后show出cycle的平均开销值(算平均值避免波动的影响); 关键点为:(1)cpu上获取cycle值的方法; (2)设计结构体能够存储不同cpu core的不同事件的多次cycle开销值; 阅读全文
摘要:
可以先较为完整的了解下递归特性; 递归思想来由: 递归思想的数学模型其实就是归纳法;而归纳法适用于想解决一个问题转化为解决他的子问题,而他的子问题又变成子问题的子问题,而且我们发现这些问题其实都是一个模型,也就是说存在相同的逻辑归纳处理项; 当然有一个是例外的,也就是递归结束的哪一个处理方法不适用于 阅读全文
摘要:
最近在刷leetcode,会将一些比较常用的算法整理归纳一下; 双指针法: 以一道题为例(leetcode 第26题); 解法: 1、要求在“原地修改数组”,意味直接修改原有输入数组,不能增加拷贝动作; 2、所以很容易想到, 对于一串数字 1 1 2 2 3 3 4 4......... 将重复的1 阅读全文
摘要:
网络的基本模型和各级网络分析总结: 一: 引用:https://www.cnblogs.com/kevingrace/p/5909719.html 详细介绍了 1:OSI七层模型 TCP/IP架构的定义、区别和联系 2:详细说明了TCP/IP 的三次握手(连接)和四次挥手(断开); 3:二层 三层网 阅读全文
|