[zz from newsmth] 王大牛的Memory Model reading list
生活随笔
收集整理的這篇文章主要介紹了
[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.*]
標? 題: 內存模型之參考文獻
發信站: 水木社區 (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.*]
轉載于:https://www.cnblogs.com/shawn-zhou/archive/2009/03/16/1413580.html
總結
以上是生活随笔為你收集整理的[zz from newsmth] 王大牛的Memory Model reading list的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用阿里云code和git管理项目
- 下一篇: 莫烦python