Abstract
Solving the memory model problem will require an ambitious and cross-disciplinary research direction.
- Adve, S.V. Designing Memory Consistency Models for Shared-Memory Multiprocessors. PhD thesis. University of Wisconsin-Madison, 1993. Google ScholarDigital Library
- Adve, S.V. and Gharachorloo, K. Shared memory consistency models: A tutorial. IEEE Computer 29, 12 (1996), 66--76. Google ScholarDigital Library
- Adve, S.V. and Hill, M.D. Weak ordering---A new definition. In Proceedings of the 17th Intl. Symp. Computer Architecture, 1990, 2--14. Google ScholarDigital Library
- Allen, M.D., Sridharan, S. and Sohi, G.S. Serialization sets: A dynamic dependence-based parallel execution model. In Proceedings of the Symp. on Principles and Practice of Parallel Programming, 2009. Google ScholarDigital Library
- Berger, E.D., Yang, T., Liu, T. and Novark, G. Grace: Safe multithreaded programming for C/C++. In Proceedings of the Intl. Conf. on Object-Oriented Programming, Systems, Languages, and Applications, 2009. Google ScholarDigital Library
- Blundell, C. Martin, M.M.K. and Wenisch, T. Invisifence: Performance-transparent memory ordering in conventional multiprocessors. In Proceedings of the Intl. Symp. on Computer Architecture, 2009. Google ScholarDigital Library
- Bocchino, R. et al. Parallel programming must be deterministic by default. In Proceedings of the 1st Workshop on Hot Topics in Parallelism, 2009. Google ScholarDigital Library
- Bocchino. R. et al. A type and effect system for Deterministic Parallel Java. In Proceedings of the Intl. Conf. on Object-Oriented Programming, Systems, Languages, and Applications, 2009. Google ScholarDigital Library
- Boehm, H.-J., Threads cannot be implemented as a library. In Proceedings of the Conf. on Programming Language Design and Implementation, 2005. Google ScholarDigital Library
- Boehm, H.-J. Reordering constraints for pthread-style locks. In Proceedings of the 12th Symp. Principles and Practice of Parallel Programming, 2007, 173--182. Google ScholarDigital Library
- Boehm, H.-J. Threads basics. July 2009; http://www.hpl.hp.com/personal/Hans_Boehm/threadsintro.html.Google Scholar
- Boehm, H.-J. and Adve, S.V. Foundations of the C++ concurrency memory model. In Proceedings of the Conf. on Programming Language Design and Implementation, 2008, 68--78. Google ScholarDigital Library
- Boyapati, C., Lee, R., and Rinard, M. Ownership types for safe programming: Preventing data races and deadlocks. In Proceedings of the Intl. Conf. on Object-Oriented Programming, Systems, Languages, and Applications, 2002. Google ScholarDigital Library
- Ceze, L et al. BulkSC: Bulk Enforcement of Sequential Consistency. In Proceedings of the Intl. Symp. on Computer Architecture, 2007. Google ScholarDigital Library
- Choi, B. et al. DeNovo: Rethinking Hardware for Disciplined Parallelism. In Proceedings of the 2nd Workshop on Hot Topics in Parallelism, June 2010.Google Scholar
- Devietti, J. et al. DMP: Deterministic shared memory processing. In Proceedings of the Intl. Conf. on Architectural Support for Programming Languages and Operating Systems (Mar. 2009), 85--96. Google ScholarDigital Library
- Elmas, T., Qadeer, S. and Tasiran, S. Goldilocks: A race and transaction-aware Java runtime. In Proceedings of the ACM Conference on Programming Language Design and Implementation, 2007, 245--255. Google ScholarDigital Library
- Flanagan, C. and Freund, S. FastTrack: Efficient and precise dynamic race detection. In Proceedings of the Conf. on Programming Language Design and Implementation, 2009. Google ScholarDigital Library
- Frigo, M., Leiserson, C.E. and Randall, K.H. The implementation of the Cilk-5 multithreaded language. In Proceedings of the ACM Conference on Programming Language Design and Implementation, 1998, 212--223. Google ScholarDigital Library
- Gharachorloo, K. Memory consistency models for shared-memory multiprocessors. Ph.D. thesis, 1996, Stanford University, Stanford, CA. Google ScholarDigital Library
- Gharachorloo, K., Gupta, A. and Hennessy, J. Two techniques to enhance the performance of memory consistency models. In Proceedings of the Intl. Conf. on Parallel Processing, 1991, I355--I364.Google Scholar
- IEEE and The Open Group. IEEE Standard 1003.1-2001. 2001.Google Scholar
- Intel. Intel Itanium Architecture: Software Developer's Manual, Jan 2006.Google Scholar
- ISO/IEC JTC1/SC22/WG21. ISO/IEC 14882, Programming languages - C++ (final committee draft) 2010; http://www.open-std.org/jtcl/sc22/wg21/docs/papers/2010/n3092.pdf.Google Scholar
- Reinders, J. Intel Threading Building Blocks: Outfitting C++ for Multi-core Parallelism. O'Reilly, 2007. Google ScholarDigital Library
- Lamport, L. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Transactions on Computers C-28, 9 (1979), 690--691. Google ScholarDigital Library
- Lucia, B. et al. Conflict exceptions: Simplifying concurrent language semantics with precise hardware exceptions for data-races. In Proceedings of the International Symposium on Computer Architecture, 2010. Google ScholarDigital Library
- Lusk, E. and Yelick, E. Languages for high-productivity computing: The DARPA HPCS language project. Parallel Processing Letters 17, 1 (2007) 89--102.Google ScholarCross Ref
- Manson, J., Pugh, W. and Adve, S.V. The Java memory model. In Proceedings of the Symp. on Principles of Programming Languages, 2005. Google ScholarDigital Library
- Musuvathi, M. and Qadeer, S. Iterative context bounding for systematic testing of multithreaded programs. In Proceedings of the ACM Conference on Programming Language Design and Implementation, 2007, 446--455. Google ScholarDigital Library
- Olszewski, M., Ansel, J., and Amarasinghe, S. Kendo: Efficient deterministic multithreading in software. In Proceedings Intl. Conf. on Architectural Support for Programming Languages and Operating Systems. Mar. 2009. Google ScholarDigital Library
- Pugh, W. The Java memory model is fatally flawed. Concurrency-Practice and Experience 12, 6 (2000), 445--455.Google ScholarCross Ref
- Pugh, W. and the JSR 133 Expert Group. The Java memory model (July 2009); http://www.cs.umd.edu/~pugh/java/memoryModel/.Google Scholar
- Rinard, M.C. and Lam, M.S. The design, implementation, and evaluation of Jade. ACM Transactions on Programming Languages and Systems 20, 3 (1998), 483--545. Google ScholarDigital Library
- Sen, K. Race directed random testing of concurrent programs. In Conf. on Programming Language Design and Implementation, 2008. Google ScholarDigital Library
- Sevcik, J. and Aspinall, D. On validity of program transformations in the Java memory model. In Proceedings of the European Conference on Object-Oriented Programming, 2008, 27--51. Google ScholarDigital Library
- Shasha, D and Snir, M. Efficient and correct execution of parallel programs that share memory. ACM Transactions on Programming Languages and Systems 10, 2 (Apr. 1998), 282--312. Google ScholarDigital Library
- Shpeisman, T. et al. Enforcing isolation and ordering in STM. In Proceedings of the ACM Conference on Programming Language Design and Implementation, 2007. Google ScholarDigital Library
- The OpenMP ARB. OpenMP application programming interface: Version 3.0. May 2008; http://www.openmp.org/mp-documents/spec30.pdf.Google Scholar
- United States Department of Defense. Reference Manual for the Ada Programming Language: ANSI/MIL-STD-1815A-1983 Standard 1003.1-2001. Springer, 1983. Google ScholarDigital Library
- Vakilian, M. et al. Inferring method effect summaries for nested heap regions. In Proceedings of the 24th Intl. Conf. on Automated Software Engineering, 2009. Google ScholarDigital Library
Index Terms
- Memory models: a case for rethinking parallel languages and hardware
Recommendations
Write-once-memory-code phase change memory
DATE '14: Proceedings of the conference on Design, Automation & Test in EuropeThis paper describes a write-once-memory-code phase change memory (WOM-code PCM) architecture for next-generation non-volatile memory applications. Specifically, we address the long latency of the write operation in PCM --- attributed to PCM SET --- by ...
Enabling Hybrid PCM Memory System with Inherent Memory Management
RACS '16: Proceedings of the International Conference on Research in Adaptive and Convergent SystemsReplacing the traditional volatile main memory, e.g., DRAM, with a non-volatile phase change memory (PCM) has become a possible solution to reduce the energy consumption of computing systems. To further reduce the bit cost of PCM, the development trend ...
Simple memory machine models for GPUs
The main contribution of this paper is to introduce two parallel memory machines, the discrete memory machine DMM and the unified memory machine UMM. Unlike well-studied theoretical parallel computational models such as parallel random access machines, ...
Comments