MigBSP plus plus : Improving Process Rescheduling on Bulk-Synchronous Parallel Applications - da Rosa Righi, Rodrigo; de Quadros Gomes, Roberto; Facco Rodrigues, Vinicius; Andre da Costa, Cristiano; Marcos Alberti, Antônio (2015)
Process migration is a known technique to offer process rescheduling, being especially pertinent for Bulk Synchronous Parallel (BSP) programs. Such programs are organized in a set of supersteps, in which the slowest process always determines the synchronization time. This approach motivated us to develop a first model called MigBSP, which combines computation, communication, and migration costs metrics for process rescheduling decisions. In this paper, a new model named MigBSP++ enhances our previous work in three aspects: (i) a different algorithm for detecting imbalance situations, which considers the performance of all processes over each processor instead of their individual times; (ii) an improvement on the rescheduling reactivity through shortening the interval for the next migration call when imbalance situations arise; (iii) a new algorithm for self-organizing the migratable processes and their destinations. Particularly, this third item represents our main scientific contribution, not only in terms of the MigBSP context, but also in a broader one that covers the entire BSP landscape. We developed a MigBSP++ prototype with the Adaptive MPI (AMPI) library, which offers a standard framework for implementing migration-based load balancing policies. We tested this prototype against other built-in AMPI rescheduling policies with a fractal image compression application. The results revealed performance gains up to 41 % and an overhead limited to 5% when migrations do not take place.