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 use of a high-level programming environment must be paid for by a reduced system performance.
But how much does portability cost in practice? Is it worth paying that price? What effect has the choice of the programming model on the algorithm architecture?
In this paper, we attempt to answer these questions by comparing two applications from the domain of combinatorial optimization that have been implemented with the Parix and PVM programming models. Performance benchmarks have been run on three different systems: a massively parallel transputer system with relatively slow T805-processors, a moderately parallel Parsytec GC/PowerPlus system with powerful 80 MFLOPS processors, and a UNIX workstation cluster connected by a 10Mbps LAN. While the Parix implementations clearly turned out to be fastest, PVM gives portability at the cost of a small, acceptable loss in performance.
HTML, Postscript (106kB)