硬件
-
CPU缓存刷新的误解
原文地址 作者:Mechanical Sympathy 译者:潘曦 校对:Simon-SZ ,方腾飞 即使是资深的技术人员,我经常听到他们谈论某些操作是如何导致一个CPU缓存…
-
Mechanical Sympathy 译文
Mechanical Sympathy(需要翻墙才能访问)是Martin Thompson的博客,这个博客主要讲的是底层硬件是如何运作的,以及如何编程能够与地层硬件良好的协作。英文…
-
内存访问模型的重要性
在高性能的计算中,我们常说缓存失效(cache-miss)是一个算法中最大性能损失点。 近些年来,我们的处理器处理能力的增长速度已经大大超过了访问主内存的延迟的缩短。 通过更宽的,…
-
有助于减少伪共享的@Contended注解
原文链接 作者:Dave 译者:卓二妹 校对:丁一 详细描述看Aleksey Shipilev这封邮件 —— 我们期待@Contended已久。JVM会自动为对象字段进行内存布局。…
-
《深入理解并行编程》中文版
原文的下载地址:http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html中文版下载地址:深入…
-
合并写(write combining)
原文地址 译者:无叶 校对:丁一 现代CPU采用了大量的技术来抵消内存访问带来的延迟。读写内存数据期间,CPU能执行成百上千条指令。 多级SRAM缓存是减小这种延迟带来的影响的主要…
-
从JVM并发看CPU内存指令重排序(Memory Reordering)
这两天,我拜读了 Dennis Byrne 写的一片博文Memory Barriers and JVM Concurrency (中译文内存屏障与JVM并发)。 文中提到: 对主存…
-
无锁并发和无等待并发的对比分析
原文地址:作者:rethinkdb 译者:sooerr 校对:方腾飞 有两种非阻塞线程同步算法,即无锁和无等待,这两种算法经常会产生混淆。 在无锁系统中,当任何特定的运算被阻塞的…
-
Linux内核的内存屏障
原文链接 作者:David Howells、Paul E. McKenney 译者:曹姚君 校对:丁一 内容: 抽象的内存访问模型 考虑下面这个系统的抽象模型: : : : : :…
-
深入理解并行编程-分割和同步设计(二)
原文链接 作者:paul 译者:谢宝友,鲁阳,陈渝 双端队列是一种元素可以从两端插入或删除的数据结构[Knu73]。据说实现一种基于锁的允许在双端队列的两端进行并发操作…