【问题标题】:why mutex lock latency is smaller than main memory reference in JEFF DEAN's Latency Numbers Every Programmer Should Know?为什么互斥锁延迟小于 JEFF DEAN 的每个程序员都应该知道的延迟数字中的主内存引用?
【发布时间】:2017-12-20 09:19:53
【问题描述】:

根据 http://people.eecs.berkeley.edu/~rcs/research/interactive_latency.html

2017年互斥锁17ns左右,比主存引用还小,怎么会这样?

据我所知,实现中至少包含一个原子标志,改成这个标志本身就是一个主存引用操作,锁怎么可能是17ns, 在我的测试中,即使没有争用,pthread_mutex_lock 函数也包含许多内存操作。

有人可以帮忙吗?

【问题讨论】:

    标签: multithreading linux-kernel low-latency


    【解决方案1】:

    您似乎认为原子操作意味着访问主内存而不是缓存。事实并非如此。

    【讨论】:

    • 这听起来像是硬件的原子比较和交换需要 17ns,而不是互斥锁
    • CAS 可能是获取非竞争互斥锁最昂贵的部分,是的。
    猜你喜欢
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多