[zz from newsmth] 王大牛的Memory Model reading list

发信人: yifanw (王轶凡), 信区: CPlusPlus
标  题: 内存模型之参考文献
发信站: 水木社区 (Sun Mar 15 22:51:46 2009), 站内

前两篇文章,希望大家多多带着怀疑的态度来读,很有可能有错误。:)

如果想进一步了解,可以看如下文献:

1. Shared Memory Consistency Models: A Tutorial                                                                         
http://www.cs.utexas.edu/users/dburger/teaching/cs382m-f06/papers/16paper.pdf                                           
Sarita Advey和Kourosh Gharachorloo对内存一致性模型做了非常好的综述,好读懂
                                                                                                                        

2. Threads Cannot be Implemented as a Library
http://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf                                                                 
Boehm一篇非常著名的paper,说明了为什么现在pthread不能保证线程安全:编译器和CPU的                                        
优化会使线程同步出现错误,好读懂
                                                                                                                        
3. C++ and the Perils of Double-Checked Locking                                                                         
http://www.aristeia.com/Papers/DDJ_Jul_Aug_2004_revised.pdf                                                             
Scott Meyers和Andrei Alexandrescu说明了为什么C++里double checked locking会出问题                                        
,还说明了为啥现阶段的volatile不管用,好读懂
                                                                                                                        
4. Foundations of the C++ Concurrency Memory Model
http://www.hpl.hp.com/techreports/2008/HPL-2008-56.pdf
Boehm和Sarita Adve一篇关于C++0x的memory model的非常重要的paper,写的非常晦涩,但
是只要把它的结论看明白就可以了,可以忽略证明

5. C++ 0x standard draft
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2798.pdf
传说中的标准,形式化的描述了c++0x的memory model
重点关注这两章:
    1.10 Multi-threaded executions and data races
    29   Atomic operations library                                                                                      
写的非常形式化,比较晦涩

6. The Java Memory Model
http://www.cs.umd.edu/~pugh/java/memoryModel/
写的非常形式化,比较晦涩
                                                                                                                        
7. The CLR(dotnet) memory Model (Standard ECMA-335)                                                                     
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-335.pdf                                               
主要关注12.6节,讲述CLR(dotnet)的memory model,用的大白话,我很喜欢:)

8. Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 3A:
System Programming Guide, Part 1
http://download.intel.com/design/processor/manuals/253668.pdf
主要关注7.2节,讲述了x86会进行哪些reorder的优化,怎么阻止这些reorder

9. The JSR-133 Cookbook for Compiler Writers
http://g.oswego.edu/dl/jmm/cookbook.html
Doug Lea简述了compiler/runtime应该如何实现Java Memory Model,比如什么时候应该插
入barrier
                                                                                                                        
--
欢迎来CSARCH版


※ 来源:·水木社区 newsmth.net·[FROM: 222.67.1.*]

你可能感兴趣的:(reading)