Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-031-08751-6_17guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

A Productive and Scalable Actor-Based Programming System for PGAS Applications

Published: 21 June 2022 Publication History
  • Get Citation Alerts
  • Abstract

    The Partitioned Global Address Space (PGAS) model is well suited for executing irregular applications on cluster-based systems, due to its efficient support for short, one-sided messages. Separately, the actor model has been gaining popularity as a productive asynchronous message-passing approach for distributed objects in enterprise and cloud computing platforms, typically implemented in languages such as Erlang, Scala or Rust. To the best of our knowledge, there has been no past work on using the actor model to deliver both productivity and scalability to PGAS applications on clusters.
    In this paper, we introduce a new programming system for PGAS applications, in which point-to-point remote operations can be expressed as fine-grained asynchronous actor messages. In this approach, the programmer does not need to worry about programming complexities related to message aggregation and termination detection. Our approach can also be viewed as extending the classical Bulk Synchronous Parallelism model with fine-grained asynchronous communications within a phase or superstep. We believe that our approach offers a desirable point in the productivity-performance space for PGAS applications, with more scalable performance and higher productivity relative to past approaches. Specifically, for seven irregular mini-applications from the Bale benchmark suite executed using 2048 cores in the NERSC Cori system, our approach shows geometric mean performance improvements of 20× relative to standard PGAS versions (UPC and OpenSHMEM) while maintaining comparable productivity to those versions.

    References

    [2]
    Adhianto L et al. HPCTOOLKIT: tools for performance analysis of optimized parallel programs Concurr. Comput. Pract. Exp. 2010 22 6 685-701
    [3]
    Agha, G.: Actors programming for the mobile cloud. In: 2014 IEEE 13th International Symposium on Parallel and Distributed Computing, pp. 3–9 (2014).
    [4]
    Agha, G.A.: ACTORS - A Model of Concurrent Computation in Distributed Systems. MIT Press Series in Artificial Intelligence, MIT Press (1990)
    [5]
    Charousset, D., et al.: Revisiting actor programming in c++. Comput. Lang. Syst. Struct. 45(C), 105–131 (2016).
    [6]
    Chen, W.Y.: Building a Source-to-Source UPC-to-C translator. EECS Department, University of California, Berkeley (Tech. rep. (2004)
    [8]
    Gaspar, J.: Boost. Circular Buffer. https://www.boost.org/doc/libs/1_72_0/doc/html/circular_buffer.html. Accessed 20 Apr 2020
    [9]
    Grossman, M., et al.: A pluggable framework for composable HPC scheduling libraries. In: 2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pp. 723–732. IEEE Computer Society (2017).
    [10]
    Hoefler, T., Belli, R.: Scientific benchmarking of parallel computing systems: Twelve ways to tell the masses when reporting performance results. In: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2015, pp. 1–12 (2015).
    [11]
    Imam, S.M., Sarkar, V.: Selectors: actors with multiple guarded mailboxes. In: Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control, pp. 1–14. ACM (2014).
    [12]
    Jenkins, L., et al.: Chapel aggregation library (CAL). In: 2018 IEEE/ACM Parallel Applications Workshop, Alternatives To MPI, PAW-ATM SC 2018, pp. 34–43. IEEE (2018).
    [14]
    Kalé, L.V., et al.: CHARM++: a portable concurrent object oriented system based on C++. In: Object-Oriented Programming Systems, Languages, and Applications (OOPSLA). ACM (1993).
    [15]
    Kogge, P.M., Kuntz, S.K.: A case for migrating execution for irregular applications. In: Workshop on Irregular Applications: Architectures and Algorithms, IA3@SC 2017, pp. 6:1–6:8. ACM (2017).
    [16]
    Koster, J.D., Cutsem, T.V., Meuter, W.D.: 43 years of actors: a taxonomy of actor models and their key properties. In: Proceedings of the 6th International Workshop on Programming Based on Actors, Agents, and Decentralized Control, pp. 31–40. ACM (2016).
    [17]
    Maley, F.M., DeVinney, J.G.: Conveyors for streaming many-to-many communication. In: Workshop on Irregular Applications: Architectures and Algorithms, IA3 SC 2019, pp. 1–8. IEEE (2019).
    [18]
    Maley, F.M., DeVinney, J.G.: A collection of buffered communication libraries and some mini-applications. https://github.com/jdevinney/bale (2020)
    [19]
    Valiant, L.G.: A bridging model for parallel computation. Commun. ACM 33(8), 103–111 (1990).
    [20]
    Yelick, K.A., et al.: Productivity and performance using partitioned global address space languages. In: Parallel Symbolic Computation, PASCO 2007, International Workshop, pp. 24–32, 27–28 July 2007.

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    Computational Science – ICCS 2022: 22nd International Conference, London, UK, June 21–23, 2022, Proceedings, Part I
    Jun 2022
    796 pages
    ISBN:978-3-031-08750-9
    DOI:10.1007/978-3-031-08751-6

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 21 June 2022

    Author Tags

    1. Actors
    2. Communication aggregation
    3. Conveyors
    4. OpenSHMEM
    5. PGAS
    6. Selectors

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media