In an earlier post I mentioned that one goal of the new introductory curriculum at Carnegie Mellon is to teach parallelism as the general case of computing, rather than an esoteric, specialized subject for advanced students. Many people are incredulous when I tell them this, because it immediately conjures in their mind the myriad complexities…
I recently diagnosed the root cause of a concurrency bug, CR6822370,
and thought it sufficiently interesting to share the details. (CR 6822370 actually represents a
cluster of bugs that are now thought to be related by a common underlying issue).
Briefly, we have a lost wakeup bug in the native C++ Parker::park() platform-specific
infrastructure code that implements java.util.concurrent.LockSupport.park().
The lost wakeup arises from a race that itself arises because of architectural
reordering that in turn occurs because of missing memory barrier instructions.
The lost wakeup may manifest as various 'hangs' or instances of progress failure.
H. Burchell, O. Larose, und S. Marr. Proceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, ACM, (September 2024)
W. Zhao, S. Blackburn, und K. McKinley. Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation, Seite 76--91. ACM, (09.06.2022)
D. Anderson, G. Blelloch, und Y. Wei. Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, Seite 526--541. ACM, (18.06.2021)
J. Choi, T. Shull, und J. Torrellas. Proceedings of the 27th International Conference on Parallel Architectures and Compilation Techniques, Seite 1--12. ACM, (01.11.2018)
M. Parkinson, S. Clebsch, und B. Simner. Proceedings of the 2023 ACM SIGPLAN International Symposium on Memory Management, Seite 85–96. New York, NY, USA, Association for Computing Machinery, (06.06.2023)
R. Shahriyar, S. Blackburn, X. Yang, und K. McKinley. Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications, Seite 93--110. ACM, (29.10.2013)
A. Roy, S. Hand, und T. Harris. Proceedings of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, Seite 227--238. ACM, (09.03.2011)
H. Burchell, O. Larose, S. Kaleba, und S. Marr. Proceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, Seite 1--14. ACM, (Oktober 2023)
A. Georges, L. Eeckhout, und D. Buytaert. Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, Seite 367--384. ACM, (Oktober 2008)