Analogous to the shift from assembler language programming to the third-generation languages in the early years of computer science, we are currently witnessing a paradigm change towards the use of portable programming models in parallel high-performance computing. Like before, the high-level programming environment is paid for by a lower system performance.
But how much does portability cost in practice? Is it worth paying that price? And what effect has the choice of the programming environment on the algorithm architecture of the application program?
In this paper, we investigate the performance of an application program running on three different programming interfaces: (1) the native Parix operating system, (2) a homogeneous PVM environment and (3) a heterogeneous PVM programming environment. For direct comparison, we used the same underlying hardware system for all three cases.