Efficient Algorithms for Array Redistribution
نویسندگان
چکیده
Dynamic redistribution of arrays is required very often in programs on distributed memory parallel computers. This paper presents eecient algorithms for redistribution between diierent cyclic(k) distributions, as deened in High Performance Fortran. We rst propose special optimized algorithms for a cyclic(x) to cyclic(y) redistribution when x is a multiple of y, or y is a multiple of x. We then propose two algorithms, called the GCD method and the LCM method, for the general cyclic(x) to cyclic(y) redistribution when there is no particular relation between x and y. We have implemented these algorithms on the Intel Touchstone Delta, and nd that they perform well for diierent array sizes and number of processors.
منابع مشابه
Message Encoding Techniques for Efficient Arrary Redistribution
In this paper, we present message encoding techniques to improve the performance of BLOCK-CYCLlC(kr) to BLOCK-CYCLIC(r) {and vice versa) array ’ redistribution algorithms. The message encoding techniques are machine independent and could be used with different algorithms. By incorporating the techniques in array redistribution algorithms, one can reduce the computation overheads and improve the...
متن کاملMulti-Phase Redistribution: A Communication-Efficient Approach to Array Redistributionz
Distributed-memory implementations of several scientific applications require array redistribution. Array redistribution is used in languages such as High Performance Fortran to dynamically change the distribution of arrays across processors. Performing array redistribution incurs two overheads an indexing overhead for determining the set of processors to communicate with and the array elements...
متن کاملEfficient Methods for kr R r and r R kr Array
Array redistribution is usually required to enhance algorithm performance in many parallel programs on distributed memory multicomputers. Since it is performed at run-time, there is a performance tradeoff between the efficiency of new data decomposition for a subsequent phase of an algorithm and the cost of redistributing data among processors. In this paper, we present efficient algorithms for...
متن کاملPacking/Unpacking Information Generation for Efficient Generalized kr→r and r→kr Array Redistribution
Array redistribution is usually required to enhance algorithm performance in many parallel programs on distributed memory multicomputers. Since it is performed at run-time, there is a performance tradeoff between the efficiency of new data decomposition for a subsequent phase of an algorithm and the cost of redistributing data among processors. In this paper, we present efficient methods to gen...
متن کاملImproving communication scheduling for array redistribution
Many scientific applications require array redistribution when the programs run on distributed memory parallel computers. It is essential to use efficient algorithms for redistribution, otherwise the performance of the programs will degrade considerably. The redistribution overheads consist of two parts: index computation and inter-processor communication. If there is no communication schedulin...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IEEE Trans. Parallel Distrib. Syst.
دوره 7 شماره
صفحات -
تاریخ انتشار 1996