DaSH: A benchmark suite for hybrid dataflow and shared memory programming models - Gajinov, Vladimir; Stipić, Srdjan; Erić, Igor; Unsal, Osman S.; Ayguadé, Eduard; Cristal, Adrian (Parallel computing, 2015)
•Three important properties of DaSH are breadth, depth and portability.•The main strength of dataflow is the ability to eliminate unnecessary barriers.•Dataflow and shared memory implementations have comparable code complexity.•Dataflow implementations can improve performance of shared memory programs.•No single parallel programming paradigm is suitable for all DaSH benchmarks. The current trend in development of parallel programming models is to combine different well established models into a single programming model in order to support efficient implementation of a wide range of real world applications. The dataflow model has particularly managed to recapture the interest of the research community due to its ability to express parallelism efficiently. Thus, a number of recently proposed hybrid parallel programming models combine dataflow and traditional shared memory models. Their findings have influenced the introduction of task dependency in the OpenMP 4.0 standard. This article presents DaSH – the first comprehensive benchmark suite for hybrid dataflow and shared memory programming models. DaSH features 11 benchmarks, each representing one of the Berkeley dwarfs that capture patterns of communication and computation common to a wide range of emerging applications. DaSH also includes sequential and shared-memory implementations based on OpenMP and Intel TBB to facilitate easy comparison between hybrid dataflow implementations and traditional shared memory implementations based on work-sharing and/or tasks. Finally, we use DaSH to evaluate three different hybrid dataflow models, identify their advantages and shortcomings, and motivate further research on their characteristics.