MPI–Delphi: an MPI implementation for visual programming environments and heterogeneous computing - Acacio, M.; Cánovas, O.; Garcı́a, J.M.; López-de-Teruel, P.E. (Future generation computer systems, 2002)
The goal of a parallel program is to reduce the execution time, compared to the fastest sequential program solving the same problem. Parallel programming is growing due to the widespread use of network of workstations (NOWs) or powerful PCs in high-performance computing. Because the hardware components are all commodity devices, NOWs are much more cost-effective than custom machines with similar technology. In this environment, the typical programming model used has been message-passing and the MPI library has become the standard in the distributed-memory computing model. On the other hand, visual programming environments try to simply the task of developing applications. They provide programmers with several standard components for creating programs. Delphi constitutes one of the most popular visual programming environments nowadays in the Windows market place. In this paper, we present MPI–Delphi, an implementation of MPI for writing parallel applications using Delphi visual programming environment. We show how MPI–Delphi has been developed, and how it makes possible to manage a cluster of homogeneous/heterogeneous PCs. Two examples of use of MPI–Delphi in a heterogeneous cluster of workstations with a mixture of Windows and Linux operating systems are also included. The MPI–Delphi interface is suitable for some specific kinds of problems, such as monitoring parallel programs of long execution time, or computationally intensive graphical simulations. In addition, MPI–Delphi has proven to be a good tool for research, as the development of new algorithms can be carried out quickly and, therefore, time spent on the debugging of such algorithms is reduced. Finally, we conclude by explaining some of the tasks we think MPI–Delphi is suitable for.