Title :
Reo: A Dataflow Inspired Language for Multicore
Author :
Jongmans, Sung-Shik T. Q. ; Halle, Sylvain ; Arbab, Farhad
Author_Institution :
Formal Methods, Centrum Wiskunde & Inf., Amsterdam, Netherlands
Abstract :
The Reo language has been well documented to address difficulties in parallel programming. It separates interaction protocol from computation code, which allows separate development, reuse, and formal proofs about the protocol correctness. Modules of computation can be composed by externally defining a protocol, without concern for their internal details. Achieving acceptable performance for code generated from Reo specifications has been a major challenge. In this paper, we address this with a combination of implementing the circuit splitting optimization and using the proto-runtime approach as a base platform for the runtime system of the Reo language. Our results show that the overhead when running Reo is so low that the performance of a k-tuple benchmark protocol compiled from its Reo specification is now up to six times faster than a straightforward hand-written thread implementation and nearly equal to a carefully optimized thread implementation of the same protocol.
Keywords :
data flow analysis; formal specification; multiprocessing systems; optimisation; parallel programming; program compilers; protocols; Reo language; Reo specifications; circuit splitting optimization; code generation; computation code; dataflow inspired language; hand-written thread implementation; interaction protocol; k-tuple benchmark protocol; multicore; parallel programming; proto-runtime approach; protocol correctness; runtime system; Alternators; Automata; Generators; Ports (Computers); Protocols; Semantics; Synchronization; Reo coordination language; multicore programming; performance; proto-runtime approach;
Conference_Titel :
Data-Flow Execution Models for Extreme Scale Computing (DFM), 2013
Conference_Location :
Edinburgh
DOI :
10.1109/DFM.2013.14