Skip to main content

Promise Plus: Flexible Synchronization for Parallel Computations on Arrays

  • 315 Accesses

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 12818)


Parallel applications make use of parallelism where work is shared between tasks; often, tasks need to exchange data stored in arrays and synchronize depending on the availability of these data. Fine-grained synchronizations, e.g. one synchronization for each element in the array, may lead to too many synchronizations while coarse-grained synchronizations, e.g. a single synchronization for the whole array, may prevent parallelism. We propose PromisePlus, a synchronization tool allowing tasks to synchronize on chunks of arrays with a granularity configurable by the programmer.


This is a preview of subscription content, log in via an institution.

Buying options

USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
USD   59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions


  1. Azadbakht, K., Boer, F., Bezirgiannis, N., Vink, E.: A formal actor-based model for streaming the future. Sci. Comput. Program. 186, 102341 (2019).

    Article  Google Scholar 

  2. Enmyren, J., Kessler, C.: SkePU: a multi-backend skeleton programming library for multi-GPU systems, pp. 5–14 (2010).

  3. Frølund, S., Agha, G.: Abstracting interactions based on message sets. In: Ciancarini, P., Nierstrasz, O., Yonezawa, A. (eds.) ECOOP 1994. LNCS, vol. 924, pp. 107–124. Springer, Heidelberg (1995).

    Chapter  Google Scholar 

  4. Haller, P., Van Cutsem, T.: Implementing joins using extensible pattern matching. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 135–152. Springer, Heidelberg (2008).

    Chapter  Google Scholar 

  5. Jin, H., Van der Wijngaart, R.F.: Performance characteristics of the multi-zone NAS parallel benchmarks. J. Parallel Distrib. Comput. 66(5), 674–685 (2006). iPDPS 2004 Special Issue

    Article  MATH  Google Scholar 

  6. Le, N., Guatto, A., Cohen, A., Pop, A.: Correct and efficient bounded FIFO queues, pp. 144–151, September 2013.

  7. Leca, P., Suijlen, W., Henrio, L., Baude, F.: Distributed futures for efficient data transfer between parallel processes, pp. 1344–1347, March 2020.

  8. Liskov, B., Shrira, L.: Promises: linguistic support for efficient asynchronous procedure calls in distributed systems. SIGPLAN Not. 23(7), 260–267 (1988).

    Article  Google Scholar 

  9. Pop, A., Cohen, A.: OpenStream: expressiveness and data-flow compilation of openMP streaming programs. ACM Trans. Archit. Code Optim. 9(4), (2013).

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Amaury Maillé .

Editor information

Editors and Affiliations

A Algorithms of get and set

A Algorithms of get and set

In this annex we present algorithms for the get function of PromisePlus in Algorithm 1, and for the set function of PromisePlus in Algorithm 2.

figure a
figure b

Rights and permissions

Reprints and permissions

Copyright information

© 2021 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Maillé, A., Henrio, L., Moy, M. (2021). Promise Plus: Flexible Synchronization for Parallel Computations on Arrays. In: Hojjat, H., Massink, M. (eds) Fundamentals of Software Engineering. FSEN 2021. Lecture Notes in Computer Science(), vol 12818. Springer, Cham.

Download citation

  • DOI:

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-89246-3

  • Online ISBN: 978-3-030-89247-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics