Path: blob/master/tools/memory-model/Documentation/references.txt
26285 views
This document provides background reading for memory models and related1tools. These documents are aimed at kernel hackers who are interested2in memory models.345Hardware manuals and models6===========================78o SPARC International Inc. (Ed.). 1994. "The SPARC Architecture9Reference Manual Version 9". SPARC International Inc.1011o Compaq Computer Corporation (Ed.). 2002. "Alpha Architecture12Reference Manual". Compaq Computer Corporation.1314o Intel Corporation (Ed.). 2002. "A Formal Specification of Intel15Itanium Processor Family Memory Ordering". Intel Corporation.1617o Intel Corporation (Ed.). 2002. "Intel 64 and IA-32 Architectures18Software Developer’s Manual". Intel Corporation.1920o Peter Sewell, Susmit Sarkar, Scott Owens, Francesco Zappa Nardelli,21and Magnus O. Myreen. 2010. "x86-TSO: A Rigorous and Usable22Programmer's Model for x86 Multiprocessors". Commun. ACM 53, 723(July, 2010), 89-97. http://doi.acm.org/10.1145/1785414.17854432425o IBM Corporation (Ed.). 2009. "Power ISA Version 2.06". IBM26Corporation.2728o ARM Ltd. (Ed.). 2009. "ARM Barrier Litmus Tests and Cookbook".29ARM Ltd.3031o Susmit Sarkar, Peter Sewell, Jade Alglave, Luc Maranget, and32Derek Williams. 2011. "Understanding POWER Multiprocessors". In33Proceedings of the 32Nd ACM SIGPLAN Conference on Programming34Language Design and Implementation (PLDI ’11). ACM, New York,35NY, USA, 175–186.3637o Susmit Sarkar, Kayvan Memarian, Scott Owens, Mark Batty,38Peter Sewell, Luc Maranget, Jade Alglave, and Derek Williams.392012. "Synchronising C/C++ and POWER". In Proceedings of the 33rd40ACM SIGPLAN Conference on Programming Language Design and41Implementation (PLDI '12). ACM, New York, NY, USA, 311-322.4243o ARM Ltd. (Ed.). 2014. "ARM Architecture Reference Manual (ARMv8,44for ARMv8-A architecture profile)". ARM Ltd.4546o Imagination Technologies, LTD. 2015. "MIPS(R) Architecture47For Programmers, Volume II-A: The MIPS64(R) Instruction,48Set Reference Manual". Imagination Technologies, LTD.4950o Shaked Flur, Kathryn E. Gray, Christopher Pulte, Susmit51Sarkar, Ali Sezgin, Luc Maranget, Will Deacon, and Peter52Sewell. 2016. "Modelling the ARMv8 Architecture, Operationally:53Concurrency and ISA". In Proceedings of the 43rd Annual ACM54SIGPLAN-SIGACT Symposium on Principles of Programming Languages55(POPL ’16). ACM, New York, NY, USA, 608–621.5657o Shaked Flur, Susmit Sarkar, Christopher Pulte, Kyndylan Nienhuis,58Luc Maranget, Kathryn E. Gray, Ali Sezgin, Mark Batty, and Peter59Sewell. 2017. "Mixed-size Concurrency: ARM, POWER, C/C++11,60and SC". In Proceedings of the 44th ACM SIGPLAN Symposium on61Principles of Programming Languages (POPL 2017). ACM, New York,62NY, USA, 429–442.6364o Christopher Pulte, Shaked Flur, Will Deacon, Jon French,65Susmit Sarkar, and Peter Sewell. 2018. "Simplifying ARM concurrency:66multicopy-atomic axiomatic and operational models for ARMv8". In67Proceedings of the ACM on Programming Languages, Volume 2, Issue68POPL, Article No. 19. ACM, New York, NY, USA.697071Linux-kernel memory model72=========================7374o Jade Alglave, Will Deacon, Boqun Feng, David Howells, Daniel75Lustig, Luc Maranget, Paul E. McKenney, Andrea Parri, Nicholas76Piggin, Alan Stern, Akira Yokosawa, and Peter Zijlstra.772019. "Calibrating your fear of big bad optimizing compilers"78Linux Weekly News. https://lwn.net/Articles/799218/7980o Jade Alglave, Will Deacon, Boqun Feng, David Howells, Daniel81Lustig, Luc Maranget, Paul E. McKenney, Andrea Parri, Nicholas82Piggin, Alan Stern, Akira Yokosawa, and Peter Zijlstra.832019. "Who's afraid of a big bad optimizing compiler?"84Linux Weekly News. https://lwn.net/Articles/793253/8586o Jade Alglave, Luc Maranget, Paul E. McKenney, Andrea Parri, and87Alan Stern. 2018. "Frightening small children and disconcerting88grown-ups: Concurrency in the Linux kernel". In Proceedings of89the 23rd International Conference on Architectural Support for90Programming Languages and Operating Systems (ASPLOS 2018). ACM,91New York, NY, USA, 405-418. Webpage: http://diy.inria.fr/linux/.9293o Jade Alglave, Luc Maranget, Paul E. McKenney, Andrea Parri, and94Alan Stern. 2017. "A formal kernel memory-ordering model (part 1)"95Linux Weekly News. https://lwn.net/Articles/718628/9697o Jade Alglave, Luc Maranget, Paul E. McKenney, Andrea Parri, and98Alan Stern. 2017. "A formal kernel memory-ordering model (part 2)"99Linux Weekly News. https://lwn.net/Articles/720550/100101o Jade Alglave, Luc Maranget, Paul E. McKenney, Andrea Parri, and102Alan Stern. 2017-2019. "A Formal Model of Linux-Kernel Memory103Ordering" (backup material for the LWN articles)104https://mirrors.edge.kernel.org/pub/linux/kernel/people/paulmck/LWNLinuxMM/105106107Memory-model tooling108====================109110o Daniel Jackson. 2002. "Alloy: A Lightweight Object Modelling111Notation". ACM Trans. Softw. Eng. Methodol. 11, 2 (April 2002),112256–290. http://doi.acm.org/10.1145/505145.505149113114o Jade Alglave, Luc Maranget, and Michael Tautschnig. 2014. "Herding115Cats: Modelling, Simulation, Testing, and Data Mining for Weak116Memory". ACM Trans. Program. Lang. Syst. 36, 2, Article 7 (July1172014), 7:1–7:74 pages.118119o Jade Alglave, Patrick Cousot, and Luc Maranget. 2016. "Syntax and120semantics of the weak consistency model specification language121cat". CoRR abs/1608.07531 (2016). https://arxiv.org/abs/1608.07531122123124Memory-model comparisons125========================126127o Paul E. McKenney, Ulrich Weigand, Andrea Parri, and Boqun128Feng. 2018. "Linux-Kernel Memory Model". (27 September 2018).129http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0124r6.html.130131132