searchusermenu
  • 发布文章
  • 消息中心
三千雷动
3 文章2339 阅读1 订阅
全部 网络 3
三千雷动
3 文章2.339k 阅读1 订阅
全部
  • Mellanox智能网卡驱动程序安装过程。
    李****一
    2023-06-28
    0
    1611
    0
  • RCU 是一种内核同步机制,在2002年10月加入到 Linux 内核中。它属于“无锁编程”的范畴,实现的功能类似于“读写锁”。但是与“读写锁”相比,RCU有着显著的优势: 读者性能极高。特别是当RCU以QSBR方式运行时,读者同步开销为0。 无竞争、无阻塞。读者写者之间、读者读者之间均不互相阻塞,也没有死锁、活锁问题。 当然RCU也有其劣势:当写操作十分频繁时,写者开销较大。虽然写者不会被阻塞或者出现“写饥饿”情况,但是当有大量写操作时,写者的综合开销不亚于,甚至高于传统的读写锁。另外,RCU不支持多写者并发。如果有多个写者的话,写者之间需要加互斥锁(或自旋锁)。 URCU是RCU的用户态版本,目前已经在各种用户态网关中广泛应用。参考:https://github.com/urcu/userspace-rcu DPDK做为用户态数据面开发利器,在DPDK19中首次引入。与URCU库相比,它更适合DPDK的PMD模型,使用起来更简便。 注意:本文旨在向读者初步介绍DPDK-RCU库的使用方式,并假定读者对“锁”、“RCU”、“URCU”、“临界区”、“宽限区”等概念有了充分
    李****一
    2023-06-27
    0
    418
    0
  • 本文旨在介绍一种支持并发读写的无锁哈希表结构。其核心思想来源于两篇论文: Michael, M. M. High performance dynamic lock-free hash tables and list-based sets. In Proceedings of the fourteenth annual ACM symposium on parallel algorithms and architectures, ACM Press, (2002), 73-82. Ori Shalev and Nir Shavit. Split-ordered lists: Lock-free extensible hash tables. J. ACM 53, 3 (May 2006), 379-405. 其中,第一篇论文重点介绍了无锁单链表的实现原理。有了这篇论文,已经可以实现无锁哈希表了(将冲突链替换为论文中表述的无锁单链表)。第 二篇论文更进一步,提出“分裂排序表”的概念,实现了无锁哈希表的动态扩容。基于第二篇论文的分裂排序表已经在URCU库中实现,参考:https://g
    李****一
    2023-06-27
    0
    310
    0
全部
  • Mellanox智能网卡驱动程序安装过程。
  • RCU 是一种内核同步机制,在2002年10月加入到 Linux 内核中。它属于“无锁编程”的范畴,实现的功能类似于“读写锁”。但是与“读写锁”相比,RCU有着显著的优势: 读者性能极高。特别是当RCU以QSBR方式运行时,读者同步开销为0。 无竞争、无阻塞。读者写者之间、读者读者之间均不互相阻塞,也没有死锁、活锁问题。 当然RCU也有其劣势:当写操作十分频繁时,写者开销较大。虽然写者不会被阻塞或者出现“写饥饿”情况,但是当有大量写操作时,写者的综合开销不亚于,甚至高于传统的读写锁。另外,RCU不支持多写者并发。如果有多个写者的话,写者之间需要加互斥锁(或自旋锁)。 URCU是RCU的用户态版本,目前已经在各种用户态网关中广泛应用。参考:https://github.com/urcu/userspace-rcu DPDK做为用户态数据面开发利器,在DPDK19中首次引入。与URCU库相比,它更适合DPDK的PMD模型,使用起来更简便。 注意:本文旨在向读者初步介绍DPDK-RCU库的使用方式,并假定读者对“锁”、“RCU”、“URCU”、“临界区”、“宽限区”等概念有了充分
  • 本文旨在介绍一种支持并发读写的无锁哈希表结构。其核心思想来源于两篇论文: Michael, M. M. High performance dynamic lock-free hash tables and list-based sets. In Proceedings of the fourteenth annual ACM symposium on parallel algorithms and architectures, ACM Press, (2002), 73-82. Ori Shalev and Nir Shavit. Split-ordered lists: Lock-free extensible hash tables. J. ACM 53, 3 (May 2006), 379-405. 其中,第一篇论文重点介绍了无锁单链表的实现原理。有了这篇论文,已经可以实现无锁哈希表了(将冲突链替换为论文中表述的无锁单链表)。第 二篇论文更进一步,提出“分裂排序表”的概念,实现了无锁哈希表的动态扩容。基于第二篇论文的分裂排序表已经在URCU库中实现,参考:https://g
  • 没有更多了