Bsp2omp: A Compiler For Translating Bsp Programs To Openmp - Marowka, Ami (International journal of parallel, emergent and distributed systems, 2009)
The convergence of the two widely used parallel programming paradigms, shared-memory and distributed-shared-memory parallel programming models, into a unified parallel programming model is crucial for parallel computing to become the next mainstream programming paradigm. We study the design differences and the performance issues of two parallel programming models: a shared-memory programming model (OpenMP) and a distributed-shared programming model (BSP). The study was carried out by designing a compiler for translating BSP parallel programs to an OpenMP programming model called BSP2OMP. Analysis of the compiler outcome, and of the performance of the compiled programs, show that the two models are based on very similar underlying principles and mechanisms.