Abstract

There are several parallel applications that are implemented using a Master/Worker parallel/distributed programming paradigm. Applications using this predefined programming structure can be easily implemented using message passing programming libraries (MPI). Moreover, the multicore features present nowadays on CPU architecture can be exploited at the node level by applying thread parallelism (OpenMP). In order to exploit the benefits of both two levels of parallelism, the Master/Worker applications can be implemented as hybrid applications. However, reaching the expected performance indexes is not trivial because there are several parameters (number of nodes, number of threads per node, thread affinity and data distribution among all nodes) that must be tuned for each particular application or even during its execution to reach a successful performance. On the other hand, the application workload may change drastically during successive executions, so those parameters need to be modified according to this behavior. Additionally, cache memory architecture in multicore systems directly influences the performance and this behaviour must be deeply analysed. In this paper we present a proposal to model the performance of hybrid Master/Worker applications on multicore systems considering the issues outlined above. In particular, this model determines dynamically at runtime the configuration of the appropriate number of workers and threads of the hybrid application to achieve the best possible performance.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call