Abstract
With the evolution toward fast networks of many-core processors, the design assumptions at the basis of software-level distributed shared memory (DSM) systems change considerably. But efficient DSMs are needed because they can significantly simplify the implementation of complex distributed algorithms. This paper discusses implications of the many-core evolution and derives a set of reusable elementary operations for future software DSMs. These elementary operations will help in exploring and evaluating new memory models and consistency protocols.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Mintomic, http://mintomic.github.io (accessed: 2014)
Scalemp vsmp foundation, http://www.scalemp.com (accessed: 2014)
Agarwal, A., Levy, M.: The kill rule for multicore. In: 44th ACM/IEEE Design Automation Conference, DAC 2007, pp. 750–753 (June 2007)
Amza, C., Cox, A.L., Dwarkadas, S., Keleher, P., Lu, H., Rajamony, R., Yu, W., Zwaenepoel, W.: Treadmarks: Shared memory computing on networks of workstations. Computer 29(2), 18–28 (1996)
Boehm, H.: Threads cannot be implemented as a library. ACM Sigplan Notices, 261–268 (2005)
Bueno, J., Martorell, X., Badia, R.M., Ayguadé, E., Labarta, J.: Implementing ompss support for regions of data in architectures with multiple address spaces. In: Proceedings of the 27th International ACM Conference on International Conference on Supercomputing, ICS 2013, pp. 359–368. ACM, New York (2013)
Carter, J.B.: Design of the munin distributed shared memory system. Journal of Parallel and Distributed Computing 29(2), 219–227 (1995)
Carter, J.B., Khandekar, D., Kamb, L.: Distributed shared memory: Where we are and where we should be headed. In: Proceedings of the Fifth Workshop on Hot Topics in Operating Systems (HotOS-V), pp. 119–122. IEEE (1995)
Chamberlain, B.L., Callahan, D., Zima, H.P.: Parallel programmability and the chapel language. International Journal of High Performance Computing Applications 21(3), 291–312 (2007)
Chapman, B.: Scalable shared memory parallel programming: Will one size fit all? In: 14th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, PDP 2006, p. 3 (February 2006)
Charles, P., Grothoff, C., Saraswat, V., Donawa, C., Kielstra, A., Ebcioglu, K., Von Praun, C., Sarkar, V.: X10: an object-oriented approach to non-uniform cluster computing. ACM Sigplan Notices 40(10), 519–538 (2005)
Cordsen, J., Garnatz, T., Sander, M., Gerischer, A., Gubitoso, M.D., Haack, U., Schröder-Preikschat, W.: Vote for peace: Implementation and performance of a parallel operating system. IEEE Concurrency 5(2), 16–27 (1997)
Eicker, N., Lippert, T., Moschny, T., Suarez, E.: The deep project - pursuing cluster-computing in the many-core era. In: 2013 42nd International Conference on Parallel Processing (ICPP), pp. 885–892 (October 2013)
El-Ghazawi, T., Smith, L.: Upc: uni ed parallel c. In: Proceedings of the 2006 ACM/IEEE conference on Supercomputing (2006), p. 27. ACM (2006)
Fleisch, B., Popek, G.: Mirage: A coherent distributed shared memory design. In: Proceedings of the Twelfth ACM Symposium on Operating Systems Principles, SOSP 1989, pp. 211–223. ACM, New York (1989)
Göckelmann, R., Schoettner, M., Frenz, S., Schulthess, P.: Plurix, a distributed operating system extending the single system image concept. In: Canadian Conference on Electrical and Computer Engineering, vol. 4, pp. 1985–1988. IEEE (2004)
Itzkovitz, A., Schuster, A., Shalev, L.: Thread migration and its appli- cations in distributed shared memory systems. Journal of Systems and Software 42(1), 71–87 (1998)
Lankes, S., Reble, P., Sinnen, O., Clauss, C.: Revisiting shared virtual memory systems for non-coherent memory-coupled cores. In: Proceedings of the 2012 International Workshop on Programming Models and Applications for Multicores and Manycores - PMAM 2012, pp. 45–54 (2012)
Lauer, H.C., Needham, R.M.: On the duality of operating system struc- tures. SIGOPS Oper. Syst. Rev. 13(2), 3–19 (1979)
Li, K.: Ivy: A shared virtual memory system for parallel computing. In: ICPP (2), pp. 94–101 (1988)
Martin, M.M.K., Hill, M.D., Sorin, D.J.: Why on-chip cache coherence is here to stay. Commun. ACM 55(7), 78–89 (2012)
McKenney, P.E.: Memory barriers: a hardware view for software hackers. Linux Technology Center, IBM Beaverton (2010)
Oechslein, B., Schedel, J., Kleinöder, J., Bauer, L., Henkel, J., Lohmann, D., Schröoder-Preikschat, W.: OctoPOS: A parallel operating system for invasive computing. In: Proceedings of the International Workshop on Systems for Future Multi-Core Architectures (SFMA), EuroSys, pp. 9–14 (2011)
Ramos, S., Hoefler, T.: Modeling Communication in Cache-Coherent SMP Systems - A Case-Study with Xeon Phi. In: Proceedings of the 22nd International Symposium on High-Performance Parallel and Distributed Computing, pp. 97–108. ACM (June 2013)
Saha, B., Mendelson, A., Zhou, X., Chen, H., Gao, Y., Yan, S., Rajagopalan, M., Fang, J., Zhang, P., Ronen, R.: Programming model for a heterogeneous x86 platform. In: Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation - PLDI 2009, p. 431 (2009)
Salihundam, P., Jain, S., Jacob, T., Kumar, S., Erraguntla, V., Hoskote, Y., Vangal, S., Ruhl, G., Borkar, N.: A 2 Tb/s 6x4 Mesh Network for a Single-Chip Cloud Computer With DVFS in 45 nm CMOS. IEEE Journal of Solid-State Circuits 46(4), 757–766 (2011)
Seiler, L., Carmean, D., Sprangle, E., Forsyth, T., Abrash, M., Dubey, P., Junkins, S., Lake, A., Sugerman, J., Cavin, R., Espasa, R., Grochowski, E., Juan, T., Hanrahan, P.: Larrabee: A many-core x86 architecture for visual computing. In: ACM SIGGRAPH 2008 Papers, SIGGRAPH 2008, pp. 18:1-18:15. ACM, New York (2008)
Sewell, P., Sarkar, S., Owens, S., Nardelli, F.Z., Myreen, M.O.: x86-TSO. Communications of the ACM 53(7), 89 (2010)
Snir, M.: Shared memory programming on distributed memory systems. In: Proceedings of the Third Conference on Partitioned Global Address Space Programing Models, PGAS 2009, pp. 3:1–3:1. ACM, New York (2009)
Swanson, M., Stoller, L., Carter, J.: Making distributed shared memory simple, yet efficient. In: Proceedings of the Third International Workshop on High-Level Parallel Programming Models and Supportive Environments, pp. 2–13. IEEE (1998)
Zappa Nardelli, F., Sewell, P., Sevcik, J.: Relaxed memory models must be rigorous. In: Exploiting Concurrency Efficiently and Correctly Workshop (2009)
Zheng, Y., Kamil, A., Driscoll, M., Shan, H., Yelick, K.: Upc++: A pgas extension for c++. In: 2014 IEEE 28th International Parallel and Distributed Processing Symposium, pp. 1105–1114 (May 2014)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Nürnberger, S., Drescher, G., Rotta, R., Nolte, J., Schröder-Preikschat, W. (2014). Shared Memory in the Many-Core Age. In: Lopes, L., et al. Euro-Par 2014: Parallel Processing Workshops. Euro-Par 2014. Lecture Notes in Computer Science, vol 8806. Springer, Cham. https://doi.org/10.1007/978-3-319-14313-2_30
Download citation
DOI: https://doi.org/10.1007/978-3-319-14313-2_30
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-14312-5
Online ISBN: 978-3-319-14313-2
eBook Packages: Computer ScienceComputer Science (R0)