Advertisement

Automata-Based Optimization of Interaction Protocols for Scalable Multicore Platforms

  • Sung-Shik T. Q. Jongmans
  • Sean Halle
  • Farhad Arbab
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8459)

Abstract

Multicore platforms offer the opportunity for utilizing massively parallel resources. However, programming them is challenging. We need good compilers that optimize commonly occurring synchronization/ interaction patterns. To facilitate optimization, a programming language must convey what needs to be done in a form that leaves a considerably large decision space on how to do it for the compiler/run-time system.

Reo is a coordination-inspired model of concurrency that allows compositional construction of interaction protocols as declarative specifications. This form of protocol programming specifies only what needs to be done and leaves virtually all how-decisions involved in obtaining a concrete implementation for the compiler and the run-time system to make, thereby maximizing the potential opportunities for optimization. In contrast, the imperative form of protocol specification in conventional concurrent programming languages, generally, restrict implementation choices (and thereby hamper optimization) due to overspecification.

In this paper, we use the Constraint Automata semantics of Reo protocols as the formal basis for our optimizations. We optimize a generalization of the producer-consumer pattern, by applying CA transformations and prove the correctness of the transforms.

Keywords

Data Item Complete Product Propositional Formula Interaction Protocol Hoare Logic 
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

  1. 1.
    Arbab, F.: Reo: a channel-based coordination model for component composition. MSCS 14(3), 329–366 (2004)zbMATHMathSciNetGoogle Scholar
  2. 2.
    Arbab, F.: Puff, The Magic Protocol. In: Agha, G., Danvy, O., Meseguer, J. (eds.) Talcott Festschrift. LNCS, vol. 7000, pp. 169–206. Springer, Heidelberg (2011)Google Scholar
  3. 3.
    Jongmans, S.S., Arbab, F.: Modularizing and Specifying Protocols among Threads. In: Proceedings of PLACES 2012. EPTCS. CoRR, vol. 109, pp. 34–45 (2013)Google Scholar
  4. 4.
    Jongmans, S.S., Arbab, F.: Overview of Thirty Semantic Formalisms for Reo. SACS 22(1), 201–251 (2012)CrossRefMathSciNetGoogle Scholar
  5. 5.
    Kokash, N., Krause, C., de Vink, E.: Reo+mCRL2: A framework for model-checking dataflow in service compositions. FAC 24(2), 187–216 (2012)zbMATHGoogle Scholar
  6. 6.
    Jongmans, S.S., Halle, S., Arbab, F.: Reo: A Dataflow Inspired Language for Multicore. In: Proceedings of DFM 2013 (2013)Google Scholar
  7. 7.
    Baier, C., Sirjani, M., Arbab, F., Rutten, J.: Modeling component connectors in Reo by constraint automata. SCP 61(2), 75–113 (2006)zbMATHMathSciNetGoogle Scholar
  8. 8.
    Halle, S.: A Study of Frameworks for Collectively Meeting the Productivity, Portability, and Adoptability Goals for Parallel Software. PhD thesis, University of California, Santa Cruz (2011)Google Scholar
  9. 9.
    Halle, S., Cohen, A.: A Mutable Hardware Abstraction to Replace Threads. In: Rajopadhye, S., Mills Strout, M. (eds.) LCPC 2011. LNCS, vol. 7146, pp. 185–202. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  10. 10.
    Butenhof, D.: Programming with POSIX Threads. Addison-Wesley (1997)Google Scholar
  11. 11.
    Jongmans, S.S., Halle, S., Arbab, F.: Automata-based Optimization of Interaction Protocols for Scalable Multicore Platforms (Technical Report). Technical Report FM-1402, CWI (2014)Google Scholar
  12. 12.
    Sirjani, M., Jaghoori, M.M., Baier, C., Arbab, F.: Compositional Semantics of an Actor-Based Language Using Constraint Automata. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 281–297. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Bretto, A.: Hypergraph Theory: An Introduction. Springer (2013)Google Scholar
  14. 14.
    Hoare, T.: An Axiomatic Basis for Computer Programming. CACM 12(10), 576–580 (1969)CrossRefzbMATHGoogle Scholar
  15. 15.
    Apt, K., de Boer, F., Olderog, E.R.: Verification of Sequential and Concurrent Programs. Springer (2009)Google Scholar
  16. 16.
    Bonsangue, M., Clarke, D., Silva, A.: A model of context-dependent component connectors. SCP 77(6), 685–706 (2009)Google Scholar
  17. 17.
    Kokash, N., Arbab, F., Changizi, B., Makhnist, L.: Input-output Conformance Testing for Channel-based Service Connectors. In: Proceedings of PACO 2011. EPTCS. CoRR, vol. 60, pp. 19–35 (2011)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2014

Authors and Affiliations

  • Sung-Shik T. Q. Jongmans
    • 1
  • Sean Halle
    • 1
  • Farhad Arbab
    • 1
  1. 1.Centrum Wiskunde & InformaticaAmsterdamThe Netherlands

Personalised recommendations