Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-662-43376-8_7guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Safe and Efficient Data Sharing for Message-Passing Concurrency

Published: 03 June 2014 Publication History
  • Get Citation Alerts
  • Abstract

    Message passing provides a powerful communication abstraction in both distributed and shared memory environments. It is particularly successful at preventing problems arising from shared state, such as data races, as it avoids sharing in general. Message passing is less effective when concurrent access to large amounts of data is needed, as the overhead of messaging may be prohibitive. In shared memory environments, this issue could be alleviated by supporting direct access to shared data; but then ensuring proper synchronization becomes again the dominant problem. This paper proposes a safe and efficient approach to data sharing in message-passing concurrency models based on the idea of distinguishing active and passive computational units. Passive units do not have execution capabilities but offer to active units exclusive and direct access to the data they encapsulate. The access is transparent due to a single primitive for both data access and message passing. By distinguishing active and passive units, no additional infrastructure for shared data is necessary. The concept is applied to SCOOP, an object-oriented concurrency model, where it reduces execution time by several orders of magnitude on data-intensive parallel programs.

    References

    [1]
    Bono, V., Messa, C., Padovani, L.: Typing copyless message passing. In: Barthe, G. ed. ESOP 2011. LNCS, vol. 6602, pp. 57---76. Springer, Heidelberg 2011
    [2]
    Brightwell, R.: Exploiting direct access shared memory for MPI on multi-core processors. International Journal of High Performance Computing Applications 241, 69---77 2010
    [3]
    Bull, J.M., Enright, J.P., Guo, X., Maynard, C., Reid, F.: Performance evaluation of mixed-mode OpenMP/MPI implementations. International Journal of Parallel Programming 385-6, 396---417 2010
    [4]
    Buntinas, D., Mercier, G., Gropp, W.: Implementation and evaluation of shared-memory communication and synchronization operations in MPICH2 using the Nemesis communication subsystem. Parallel Computing 339, 634---644 2007
    [5]
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg 2007
    [6]
    Coulouris, G., Dollimore, J., Kindberg, T., Blair, G.: Distributed Systems: Concepts and Design, 5th edn. Addison-Wesley 2011
    [7]
    Dunn, I.N., Meyer, G.G.: Parallel QR factorization for hybrid message passing/shared memory operation. Journal of the Franklin Institute 3385, 601---613 2001
    [8]
    Ericsson: Erlang/OTP system documentation. Tech. rep., Ericsson 2012
    [9]
    ETH Zurich: EVE 2014, https://trac.inf.ethz.ch/trac/meyer/eve/
    [10]
    ETH Zurich: SCOOP executable formal specification repository 2014, http://bitbucket.org/bmorandi/
    [11]
    Graham, R.L., Shipman, G.M.: MPI support for multi-core architectures: Optimized shared memory collectives. In: Lastovetsky, A., Kechadi, T., Dongarra, J. eds. EuroPVM/MPI 2008. LNCS, vol. 5205, pp. 130---140. Springer, Heidelberg 2008
    [12]
    Gruber, O., Boyer, F.: Ownership-based isolation for concurrent actors on multi-core machines. In: Castagna, G. ed. ECOOP 2013. LNCS, vol. 7920, pp. 281---301. Springer, Heidelberg 2013
    [13]
    Gustedt, J.: Data handover: Reconciling message passing and shared memory. In: Foundations of Global Computing 2005
    [14]
    Hewitt, C., Bishop, P., Steiger, R.: A universal modular ACTOR formalism for artificial intelligence. In: International Joint Conference on Artificial Intelligence, pp. 235---245 1973
    [15]
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall 1985
    [16]
    International Organization for Standardization: Ada. Tech. Rep. ISO/IEC 8652:2012, International Organization for Standardization 2012
    [17]
    Jones, D.L.: Decimation-in-time DIT radix-2 FFT 2014, http://cnx.org/content/m12016/1.7/
    [18]
    Mattson, T.G., Sanders, B.A., Massingill, B.L.: Patterns for Parallel Programming. Addison-Wesley 2004
    [19]
    Message Passing Interface Forum: MPI: A message-passing interface standard. Tech. rep., Message Passing Interface Forum 2012
    [20]
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall 1997
    [21]
    Morandi, B., Schill, M., Nanz, S., Meyer, B.: Prototyping a concurrency model. In: International Conference on Application of Concurrency to System Design, pp. 177---186 2013
    [22]
    Nienaltowski, P.: Practical framework for contract-based concurrent object-oriented programming. Ph.D. thesis, ETH Zurich 2007
    [23]
    OpenMP Architecture Review Board: OpenMP application program interface. Tech. rep., OpenMP Architecture Review Board 2013
    [24]
    Rabenseifner, R., Hager, G., Jost, G.: Hybrid MPI/OpenMP parallel programming on clusters of multi-core SMP nodes. In: Euromicro International Conference on Parallel, Distributed and Network-Based Processing, pp. 427---436 2009
    [25]
    Schill, M., Nanz, S., Meyer, B.: Handling parallelism in a concurrency model. In: Lourenço, J.M., Farchi, E. eds. MUSEPAT 2013 2013. LNCS, vol. 8063, pp. 37---48. Springer, Heidelberg 2013
    [26]
    Villard, J., Lozes, É., Calcagno, C.: Proving copyless message passing. In: Hu, Z. ed. APLAS 2009. LNCS, vol. 5904, pp. 194---209. Springer, Heidelberg 2009

    Cited By

    View all
    • (2021)ChocolaACM Transactions on Programming Languages and Systems10.1145/342720142:4(1-56)Online publication date: 27-Jan-2021
    • (2018)A semantics comparison workbench for a concurrent, asynchronous, distributed programming languageFormal Aspects of Computing10.1007/s00165-017-0443-130:1(163-192)Online publication date: 1-Jan-2018
    • (2017)Transactional actors: communication in transactionsProceedings of the 4th ACM SIGPLAN International Workshop on Software Engineering for Parallel Systems10.1145/3141865.3141866(31-41)Online publication date: 23-Oct-2017
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    Proceedings of the 16th IFIP WG 6.1 International Conference on Coordination Models and Languages - Volume 8459
    June 2014
    193 pages
    ISBN:9783662433751

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 03 June 2014

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)ChocolaACM Transactions on Programming Languages and Systems10.1145/342720142:4(1-56)Online publication date: 27-Jan-2021
    • (2018)A semantics comparison workbench for a concurrent, asynchronous, distributed programming languageFormal Aspects of Computing10.1007/s00165-017-0443-130:1(163-192)Online publication date: 1-Jan-2018
    • (2017)Transactional actors: communication in transactionsProceedings of the 4th ACM SIGPLAN International Workshop on Software Engineering for Parallel Systems10.1145/3141865.3141866(31-41)Online publication date: 23-Oct-2017
    • (2016)A Graph-Based Semantics Workbench for Concurrent Asynchronous ProgramsProceedings of the 19th International Conference on Fundamental Approaches to Software Engineering - Volume 963310.5555/3089458.3089463(31-48)Online publication date: 2-Apr-2016

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media