PCI‑E零拷贝DMA数据传输方法

    公开(公告)号:CN104239249B

    公开(公告)日:2017-08-04

    申请号:CN201410472223.8

    申请日:2014-09-16

    Abstract: 本发明提供了一种PCI‑E零拷贝DMA数据传输方法,属于PCI‑E数据传输技术领域。本方法首先在数据源和数据目的系统中各自分配适当大小的物理内存,并分别对两个系统中分配的物理内存使用双向链表建立空闲内存池和工作内存池;在数据源系统上,用户应用程序传输数据时,从空闲内存池取得空闲内存后直接进行数据填充,数据填充完后传输给数据目的系统;在数据目的系统,将接收的数据存入工作内存池,用户应用程序使用相应的API接口从工作内存池中取得数据进行使用;使用完毕后将相应的内存归还给空闲内存池。本发明极大地减轻了CPU的压力,减少了系统调用,对于大规模小数据量的传输减轻了用户内核空间的切换,提高了系统效率。

    网络数据包线速捕获方法
    20.
    发明公开

    公开(公告)号:CN103916316A

    公开(公告)日:2014-07-09

    申请号:CN201410145478.3

    申请日:2014-04-11

    Abstract: 本发明公开了网络数据包线速捕获方法,具体包括以下步骤:步骤一、在Tilera众核平台下配置Mpipe规则;步骤二、创建n个收包线程,为各个线程绑定一个用于处理数据包的CPU核,n个收包线程并行运行;步骤三、在每个收包线程中,调用Mpipe接口接收网络数据包,当CPU核接收到数据包,把数据包转变为PCAP文件格式,根据数据包的序列号获取数据包保存在PCAP文件内存的首地址,根据首地址存取数据包;步骤四、在每个收包线程中,当CPU核接收到数据包,修改数据包的描述符,然后调用Mpipe接口转发数据包;步骤五、在每个收包线程中,判断是否完成处理(完成处理指不进行后续数据包的处理),均完成后,结束处理,否则,返回步骤三。本发明大大提高了数据包线速捕获的效率。

Patent Agency Ranking