1. Operators for Data Redistribution: Applications to the STL Library and RayTracing Algorithm
- Author
-
Ana Moreton-Fernandez, Yuri Torres De La Sierra, Arturo Gonzalez-Escribano, and Diego R. Llanos
- Subjects
Parallel programming ,distributed memory ,data redistributions ,RayTracing ,STL library ,Electrical engineering. Electronics. Nuclear engineering ,TK1-9971 - Abstract
In distributed-memory systems, data redistributions are operations that change the ownership and location of a selected subset of a data structure at runtime. They allow the improvement of the performance of parallel algorithms which operate on changing or partial domains, aiming to create a balanced workload among the active processes. To manually redistribute data is a cumbersome and error-prone task. In this paper, we present a method based on four combinable operators to redistribute partial domains selected by the programmer at runtime in an efficient and simple way. They abstract to the programmer the data-redistribution implementation details, such as the new mapping, relocation, and communication of the selected data. We also present the application of the proposed operators to a RayTracing application and to a significant part of STL (C++ Standard Template Library). Our experimental results show that our approach automatically generates a good load balance, which leads to performance improvements for generic data-distribution policies. It does not introduce significant performance overheads compared with tailored data redistributions directly programmed using MPI (Message Passing Interface), while it greatly reduces the code development effort.
- Published
- 2021
- Full Text
- View/download PDF