A Hybrid Double-Layer Master-Slave Model For Multicore-Node Clusters
Gang Liu, Hartmut L. Schmider, Kenneth E. Edgecombe · Journal of Physics Conference Series · 2012
The Double-Layer Master-Slave Model (DMSM) is a suitable hybrid model for executing a workload that consists of multiple independent tasks of varying length on a cluster consisting of multicore nodes. In this model, groups of individual tasks are first deployed to the cluster nodes through an MPI based Master-Slave model. Then, each group is processed by multiple threads on the node through an OpenMP based All-Slave approach. The lack of thread safety of most MPI libraries has to be addressed by a judicious use of OpenMP critical regions and locks. The HPCVL DMSM Library implements this model in Fortran and C. It requires a minimum of user input to set up the framework for the model and to define the individual tasks. Optionally, it supports the dynamic distribution of task-related data and the collection of results at runtime. This library is freely available as source code. Here, we outline the working principles of the library and on a few examples demonstrate its capability to efficiently distribute a workload on a distributed-memory cluster with shared-memory nodes.