Active Objects for Coordinating BSP Computations (Short Paper)

  • Gaétan Hains
  • Ludovic Henrio
  • Pierre LecaEmail author
  • Wijnand Suijlen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10852)


Among the programming models for parallel and distributed computing, one can identify two important families. The programming models adapted to data-parallelism, where a set of coordinated processes perform a computation by splitting the input data; and coordination languages able to express complex coordination patterns and rich interactions between processing entities. This article takes two successful programming models belonging to the two categories and puts them together into an effective programming model. More precisely, we investigate the use of active objects to coordinate BSP processes. We choose two paradigms that both enforce the absence of data-races, one of the major sources of error in parallel programming. This article explains why we believe such a model is interesting and provides a formal semantics integrating the notions of the two programming paradigms in a coherent and effective manner.


Parallelism Programming models Active objects BSP 


  1. 1.
    Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
  2. 2.
    Azadbakht, K., de Boer, F.S., Serbanescu, V.: Multi-threaded actors. In: Proceedings 9th Interaction and Concurrency Experience, ICE 2016, Heraklion, Greece, 8–9 June 2016, pp. 51–66 (2016)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Baduel, L., et al.: Programming, composing, deploying for the grid. In: Cunha, J.C., Rana, O.F. (eds.) Grid Computing: Software Environments and Tools, pp. 205–229. Springer, London (2006). Scholar
  4. 4.
    Bisseling, R.: Parallel Scientific Computation: A Structured Approach Using BSP and MPI. OUP, Oxford (2004)CrossRefGoogle Scholar
  5. 5.
    Boer, F.D., Serbanescu, V., Hähnle, R., Henrio, L., Rochas, J., Din, C.C., Johnsen, E.B., Sirjani, M., Khamespanah, E., Fernandez-Reyes, K., Yang, A.M.: A survey of active object languages. ACM Comput. Surv. 50, 76:1–76:39 (2017)CrossRefGoogle Scholar
  6. 6.
    Bonorden, O., Juurlink, B., von Otte, I., Rieping, I.: The paderborn university BSP (PUB) library. Parallel Comput. 29(2), 187–207 (2003)CrossRefGoogle Scholar
  7. 7.
    Caromel, D., Henrio, L., Serpette, B.P.: Asynchronous and deterministic objects. In: Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2004, pp. 123–134. ACM, New York (2004)Google Scholar
  8. 8.
    Fernandez-Reyes, K., Clarke, D., McCain, D.S.: ParT: an asynchronous parallel abstraction for speculative pipeline computations. In: Lluch Lafuente, A., Proença, J. (eds.) COORDINATION 2016. LNCS, vol. 9686, pp. 101–120. Springer, Cham (2016). Scholar
  9. 9.
    Gava, F., Fortin, J.: Formal semantics of a subset of the paderborn’s BSPlib. In: 2008 Ninth International Conference on Parallel and Distributed Computing, Applications and Technologies, pp. 269–276 (2008)Google Scholar
  10. 10.
    Hains, G.: Subset synchronization in BSP computing. In: PDPTA, vol. 98, pp. 242–246 (1998)Google Scholar
  11. 11.
    Halstead Jr., R.H.: Multilisp: a language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst. 7(4), 501–538 (1985)CrossRefGoogle Scholar
  12. 12.
    Henrio, L., Huet, F., István, Z.: Multi-threaded active objects. In: De Nicola, R., Julien, C. (eds.) COORDINATION 2013. LNCS, vol. 7890, pp. 90–104. Springer, Heidelberg (2013). Scholar
  13. 13.
    Hill, J.M.D., McColl, B., Stefanescu, D.C., Goudreau, M.W., Lang, K., Rao, S.B., Suel, T., Tsantilas, T., Bisseling, R.H.: BSPlib: the BSP programming library. Parallel Comput. 24, 1947–1980 (1998)CrossRefGoogle Scholar
  14. 14.
    Suijlen, W.J., BISSELING, R.: BSPonMPI (2013).
  15. 15.
    Tesson, J., Loulergue, F.: Formal semantics of DRMA-style programming in BSPlib. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Wasniewski, J. (eds.) PPAM 2007. LNCS, vol. 4967, pp. 1122–1129. Springer, Heidelberg (2008). Scholar
  16. 16.
    Thies, W., Karczmarek, M., Amarasinghe, S.: StreamIt: a language for streaming applications. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 179–196. Springer, Heidelberg (2002). Scholar
  17. 17.
    Valiant, L.G.: A bridging model for parallel computation. CACM 33(8), 103 (1990)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2018

Authors and Affiliations

  • Gaétan Hains
    • 1
  • Ludovic Henrio
    • 2
  • Pierre Leca
    • 1
    • 2
    Email author
  • Wijnand Suijlen
    • 1
  1. 1.Huawei Technologies, Paris Research CenterParisFrance
  2. 2.Université Côte d’Azur, CNRS, I3SSophia-AntipolisFrance

Personalised recommendations