自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (6)
  • 收藏
  • 关注

原创 DPDK-利用DPDK开发项目应该注意的性能点

0x01 缘由    最近也在尝试写一个DPDK应用程序,也是对之前的学习做一下检验。然而在编写过程中,发现自己陷入到一个码API的思路中,完全没有考虑到DPDK的设计思想,于是放开编程指南,学习下。0x02 写高效的代码    Intel® 64 and IA-32 指导手册。    1.内存    内存拷贝:建议不要使用libc中的memcpy函数,而用rte_memcpy

2017-11-28 15:44:31 5612

原创 DPDK-__attribute__((constructor))

0x01 缘由    在DPDK库开发过程中,遇到的问题。做个简短小结。#include__attribute__((constructor)) void before_main() { printf("Before main\n");}__attribute__((destructor)) void after_main() { printf("After main\n")

2017-11-20 10:36:19 900

原创 DPDK-同步互斥机制

0x01 缘由    继续学习DPDK设计思想。0x02 概念   原子操作:多个线程执行一个操作时,其中任何一个线程要么完全执行完此操作,要么没有执行此操作的任何步骤,那么这个操作就是原子的。原子操作操作系统中:“不能被进一步分割的最小粒子”。   原子保证操作:一些基础的内存事务操作,如对一个字节的读和写,它们总是原子的。对于边界对齐的字节、字、双字和四字节都可

2017-11-15 15:02:51 1566

原创 DPDK-并行计算

0x01 缘由    继续学习DPDK在并行计算上的优化。对于DPDK的主要应用领域--数据包处理。资源局部优化、避免跨核共享、减少临界区碰撞、加快临界区皖苏完成速率,都不同程度地降低了不可并行部分和并发干扰部分的占比。0x02 慨念    多核处理器:在一个处理器中集成两个或者多个完整的内核(及计算引擎)。    超线程(Hyper-Threading):在一个处理器中提供两个逻

2017-11-14 16:33:44 682

原创 DPDK-Cache和内存优化点

0x01 缘由     在一篇博文中看到false-sharing问题(多核编程中伪共享问题),引发了我对DPDK内存和Cache的思考和学习。看看这些知识点,大部分都是计算机组成原理和操作系统的知识点,如果做系统编程,这些知识点不能还给大学老师。0x02 概念    南桥:系统I/O芯片(SI/O):主要管理中低速外部设备;集成了中断控制器、DMA控制器、PCI网卡等。    北

2017-11-13 15:49:51 1550

原创 DPDK-工具脚本网卡与驱动绑定

0x01 缘由    dpdk_nic_bind.py脚本功能,将网卡名称同dpdk支持的驱动进行绑定,直接修改相关参数来达到此目的。此脚本处理流程:解析参数、检测网卡、将对应的网卡与对应驱动绑定。    脚本做了异常处理:防止断开ssh连接,避免将DPDK驱动绑定到管理网口上。0x02 源码注释    直接上源码目的,复习python和看如何手动绑定驱动。import sys

2017-11-09 13:19:24 7951

原创 API设计--性能

0x01 缘由    前面学习了一些API编写的原则,作为后期的指导作用。今天关注一些API性能细节和分析方法。0x02 API考虑的性能指标和原则    1.编译时速度。    2.运行时速度。    3.运行时内存开销。    4.库的大小。    5.启动时间。    一个重要的性能优化经验是:绝不应该相信你的“哪些部分会比较慢”直觉,而是应该在实际环境中测量

2017-11-08 10:16:18 463

原创 设计模式-包装模式(代理模式、适配器模式、外观模式)

0x01 缘由    编写基于另一组类的包装器接口是一项常见的API设计任务。例如,你的工作可能是维护一个大型的遗留代码库,相比重构所有代码,你更愿意设计一个新的、更简洁的API,以隐藏所有的底层遗留代码;或者你可能已经编写了一个C++ API,后来需要给特定客户提供纯C接口;或者你的API用到了一个第三方依赖库,你想让客户直接使用此库,但是又不想将此库直接暴露给客户。    以上就是包装

2017-11-06 15:47:07 1527

原创 DPDK-UIO 驱动认识

0x01 缘由    前期学习了一些DPDK的demo,了解了一些基础DPDK的应用。对dpdk的一些底层原理没做过多分析,今天主要学习用户态驱动程序的实现情况。0x02 用户态驱动程序UIO    UIO(Userspace I/O)是运行在用户空间的I/O技术。Linux系统中一般的驱动设备都是运行在内核空间,而在用户空间用应用程序调用即可。    UIO的内核部分和用户空间的

2017-11-06 14:52:02 9134 1

原创 DPDK-KNI学习和利用(DNS服务)

0x01 缘由    看到这个例子,不禁想起前期我们做的一个项目,我们通过pfring捕获数据包,想让这个数据包再回到linux协议栈,然后访问我们的服务。我记得我们采用的方式是将两个物理网卡相连,然后数据包转发到另外一个普通网卡,让其进Linux协议栈处理流程。    同样KNI也是一种方式,用DPDK捕获数据包让其走linux协议栈去处理。0x02 KNI是咋回事?    KN

2017-11-03 16:43:24 7812

原创 设计模式--工厂模式

0x01 缘由    继续学习相关设计模式,在编程中得到进一步利用,在目前的产品开发过程中,有很多地方都用到了工厂模式。0x02 工厂模式    “工厂”现实中的意义是按照某种工艺制造产品。那么为什么要使用工厂模式了?有什么好处?    工厂模式是一个创建型的设计模式。他允许创造对象时不指定要创建的对象的具体类型(可能就某个参数)。本质上,工厂方法是构造函数的一般化。在C++中,构

2017-11-03 14:08:07 232

转载 C++11特性

转载理由:最近在找一些高性能开源库,结果都需要支持C++11特性,然而公司产品开发编译器版本又比较低,所以看看C++11到底啥特性。转载于:http://blog.csdn.net/linchaolong/article/details/46336501auto自动推导类型。 auto i = 10; std::cout std::endl;

2017-11-01 14:08:08 192

原创 设计模式--Pimpl(pointer to implementation 指向实现的指针)

0x01 缘由    以前学习了一些设计模式,但是实践中使用得较少。用得比较多的是单列模式、代理模式等,这些模式我在其他博文中也有讲解。为什么这些模式没有使用,难道是真的用不到? 我应该不是。现在重新学习设计模式:设计模式是针对软件设计问题的通用解决方案。从基本的原理、优缺点、什么场景下使用等方面考虑和思考。    设计模式是前辈们提炼和总结的一些设计思路,所以掌握它有利无弊。0x02

2017-11-01 11:50:44 1483

Snort运行流程图(gperftools结果)

Snort运行流程图(gperftools结果),整体了解snort运行机制。

2017-06-29

Stack 的建立,删除及相关操作

Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作

2010-12-24

Stack 的建立,删除及相关操作

Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作

2010-12-24

Stack 的建立,删除及相关操作

Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作

2010-12-24

数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT

数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT

2010-12-21

Link操作链表的操作,删除,插入等

链表的操作,删除,插入等链表的操作,删除,插入等链表的操作,删除,插入等链表的操作,删除,插入等链表的操作,删除,插入等

2010-12-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除