Automata-based Optimization of Interaction Protocols for Scalable Multicore Platforms (Technical Report)

Sung-Shik Jongmans, Sean Halle, Farhad Arbab · Centrum Wiskunde & Informatica (CWI), the national research institute for mathematics and computer science in the Netherlands · 2014

Abstract. Multicore platforms offer the opportunity for utilizing mas-sively 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 com-positional construction of interaction protocols as declarative specifica-tions. 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 proto-cols as the formal basis for our optimizations. We optimize a generaliza-tion of the producer-consumer pattern, by applying CA transformations and prove the correctness of the transforms. 1

Read the paper · More papers on PaperTik