New Safe Memory Reclamation feature in UMA

栏目: IT技术 · 发布时间: 6年前

Jeff Roberson jroberson at jroberson.net

Sat Jan 25 18:58:29 UTC 2020
Hello Folks,

I want to make the larger community aware of a substantial feature coming 
to UMA soon.  The review is at <a href="https://reviews.freebsd.org/D22586">https://reviews.freebsd.org/D22586</a> along 
with some perf results.

SMR is a technique that allows for various types of lockless 
synchronization by eliminating use-after-free hazards.  This is in the 
same family as RCU/QSBR/EPOCH/Parsec.  There is quite a lot of material 
available on the uses of these algorithms.

Most of these algorithms suffer from holding on to freed memory for a 
relatively long period of time and reclaiming it when it's cache-cold. 
This also creates quite a lot of resource starvation edge cases.  This is 
evident by the amount of code in RCU on linux intended to work around 
these issues.  These algorithms are generally best with a small write/free 
workload and a very heavy read workload.

For the virtual memory system I needed something that could sustain 
relatively rapid frees.  I have ended up with a scheme that integrates 
with the allocator and uses a novel epoch/version tracking mechanism. 
The pair of these gives me 3x faster performance with 1/20th the memory 
overhead of our existing epoch implementation in my obviously contrived 
perf test.  I do not want to imply that if we replaced the network epoch 
with uma smr the network stack would go 3x faster.  I do think there may 
be benefits there especially for things with high turnover like pcbs.  I 
do not yet have support for sleepable sections so there is a lot of 
technical space between here and there.

There is a lot of information in the review and comments in the code.  I 
will be validating on weaker memory ordering architectures.  I need to 
write a man page.  I would like to find a snappy name to avoid confusion 
with other algorithms.  If anyone has suggestions I am open to it.

Thanks,
Jeff
More information about the freebsd-arch mailing list

以上所述就是小编给大家介绍的《New Safe Memory Reclamation feature in UMA》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构、算法与应用(原书第2版)

数据结构、算法与应用(原书第2版)

Sartaj Sahni / 王立柱、刘志红 / 机械工业出版社 / 2015-4 / 79.00元

《数据结构、算法与应用——C++语言描述》是享有盛誉的数据结构教科书的第2版。它完整地包含了基本数据结构的内容,是CS2课程的理想用书。作者Sartaj Sahni通过循循善诱的讲解、直观具体的讨论和基于现实的应用,让读者轻松、愉快地学习。新版书着重利用标准模板库(STL),把书中开发的数据结构和算法与相应的STL实现方法相互关联。本书还增加了很多新的实例和练习题。 书中的应用实例是它的特色......一起来看看 《数据结构、算法与应用(原书第2版)》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换