01 2013 档案

摘要:线程进度机制是Erts 5.9引入的一项性能改进,是Erlang运行时面向多核处理器的优化措施之一。线程进度机制可以跟踪所有受管的线程的进度,以此判断线程是否完成了某个进度点的执行。Erlang运行时中的系统阻塞功能被新的基于这项机制的系统阻塞功能替代。基于这项机制,Erlang运行时还实现了无锁的同步数据结构,未来Erlang运行时会越来越多地采用无锁数据结构。本文分析了这项机制的基本原理,详细分析了运行时中相关的数据结构和源代码,还分析了全新系统阻塞功能的实现。 阅读全文
posted @ 2013-01-27 00:54 siyao 阅读(4743) 评论(1) 推荐(5) 编辑
摘要:本文介绍了Erts中使用的读写锁(rwmutex)的原理和实现。在R14B中,Erts的读写锁进行了一次重要的性能更新,本文对这一次更新的优化进行了描述。此外还简单介绍了一下代码中使用的基本模式。 阅读全文
posted @ 2013-01-16 22:43 siyao 阅读(1498) 评论(1) 推荐(0) 编辑
摘要:本文用较为轻松的方式介绍了几个经典的互斥算法: Dekker 算法、Dijkstra 提出的算法、Peterson 算法和面包店算法,并简单地给出了每一个算法的正确性证明和相关的讨论。 阅读全文
posted @ 2013-01-04 16:47 siyao 阅读(4788) 评论(1) 推荐(1) 编辑