RT info:eu-repo/semantics/article T1 HitFlow: A Dataflow Programming Model for Hybrid Distributed- and Shared-Memory Systems A1 Fresno Bausela, Javier A1 Barba Gutiérrez, Daniel A1 González Escribano, Arturo A1 Llanos Ferraris, Diego Rafael AB Dataflow programming consists in developing a program by describing its sequential stages and the interactions between them. The runtime systems supporting this kind of programming are responsible for exploiting the parallelism by concurrently executing the different stages as soon as their dependencies are met. In this paper we introduce a new parallel programming model and framework based on the dataflow paradigm. It presents a new combination of features that allows to easily map programs to shared or distributed memory, exploiting data locality and affinity to obtain the same performance than optimized coarse-grain MPI programs. These features include: It is a unique one-tier model that supports hybrid shared- and distributed-memory systems with the same abstractions; it can express activities arbitrarily linked, including non-nested cycles; it uses internally a distributed work-stealing mechanism to allow Multiple-Producer/Multiple-Consumer configurations; and it has a runtime mechanism for the reconfiguration of the dependences and communication channels which also allows the creation of task-to-task data affinities. We present an evaluation using examples of different classes of applications. Experimental results show that programs generated using this framework deliver good performance in hybrid distributed- and shared-memory environments, with a similar development effort as other dataflow programming models oriented to shared-memory. PB Springer YR 2018 FD 2018 LK http://uvadoc.uva.es/handle/10324/29126 UL http://uvadoc.uva.es/handle/10324/29126 LA eng NO . International Journal of Parallel Programming, Springer, 2018 NO Producción Científica DS UVaDOC RD 18-nov-2024