• 内核旁路、共享内存的零拷贝问题


    实习时,测试万兆网卡在使用onload和tcpdirect加速时用到了内存旁路技术,学习一下。下面是一个问题https://stackoverflow.com/questions/18343365/zero-copy-networking-vs-kernel-bypass

    总结一下:

    1、使用内核旁路技术可以实现零拷贝,共享内存也可以实现零拷贝。所谓零拷贝是对于内核来说的,不会有内核读取的操作。

    2、共享内存一般对于两个进程来说,内核旁路是在用户态层面,实现硬件(比如网卡)和应用的直接数据传输。

    引申:

      内核旁路是阻塞还是非阻塞?异步还是同步?或者有没有这两个概念。注意!内核旁路是一种用户态网络协议栈!

      https://blog.csdn.net/u011408355/article/details/45868165

      https://www.cnblogs.com/passion-hzhang/p/6105829.html

      同步IO和异步IO的区别就在于:数据拷贝的时候进程是否阻塞!

      阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回!

  • 相关阅读:
    Socket 的网络编程
    《Python 3.5从零开始学》笔记-第8章 面向对象编程
    Python 的8个关键要素
    分布式发布订阅模型网络的实现有哪些
    MongoDB知识整理
    C++模板类与Qt信号槽混用
    C++中 =default,=delete用法
    QT知识整理
    Python题整理
    STL库的应用
  • 原文地址:https://www.cnblogs.com/huangfuyuan/p/9243558.html
Copyright © 2020-2023  润新知