Please refer to these two for lock-free FIFO implementation:
1. Junchang Wang et. al., “Practice of parallelizing network applications on multi-core architectures”, ICS 2009: 204-213
2. @INPROCEEDINGS{Giacomoni08fastforwardfor,
author = {John Giacomoni},
title = {Fastforward for efficient pipeline parallelism: A cache-optimized concurrent lock-free queue},
booktitle = {In PPoPP ’08: Proceedings of the The 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming},
year = {2008},
publisher = {ACM Press}
}
Sorry that I can’t input Chinese.
IMHO, video with the author’s interpretation can be better understood than pure PPT.
支持师兄。
谢谢,参考资料很给力
asg是哪个研究室?前瞻?
DWCAS扩展出版本号来解决CAS的ABA问题,还有其他解决方法么?虽然无锁编程能提高性能,但现在很多多核编程还是依赖锁的。
re 新手:
高性能体系结构研究小组
re jimmy:
关于解决ABA,除了DWCAS,
http://www.cs.cmu.edu/~410-s05/lectures/L31_LockFree.pdf
里面讲到另一种方法是不要很快地回收pop的节点,不过我没怎么搞清楚。除了万不得已,不会去用lock-free stack。
现在最好用的就是SPSC的队列,不用担心错。
写得有些乱, 看上去像未完成版的草稿.
enQ 代码很奇怪, 语义上应该是加到tail上, 而不是head上.
吐槽”锁开销影响并行程序扩展性” 中的”开销”.
Please refer to these two for lock-free FIFO implementation:
1. Junchang Wang et. al., “Practice of parallelizing network applications on multi-core architectures”, ICS 2009: 204-213
2. @INPROCEEDINGS{Giacomoni08fastforwardfor,
author = {John Giacomoni},
title = {Fastforward for efficient pipeline parallelism: A cache-optimized concurrent lock-free queue},
booktitle = {In PPoPP ’08: Proceedings of the The 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming},
year = {2008},
publisher = {ACM Press}
}