3 research outputs found
PRAM Programming: Theory vs. Practice
In this paper we investigate the practical viability of PRAM programming within the BSP framework. We argue that there is a necessity for PRAM computations in situations where the problem exhibits poor data locality. We introduce a C++ PRAM simulator that is built on top of the Oxford BSP Toolset, BSPlib, and provide a succinct PRAM language. Our approach achieves simplicity of programming over direct-mode BSP programming for reasonable overhead cost. We objectively compare optimised BSP algorithms with PRAM algorithms implemented with our C++ PRAM library and provide encouraging experimental results for the latter style of programming
PRAM Programming: Theory vs. Practice
In this paper we investigate the practical viability of PRAM programming within the BSP framework. We argue that there is a necessity for PRAM computations in situations where the problem exhibits poor data locality. We introduce a C++ PRAM simulator that is built on top of the Oxford BSP Toolset, BSPlib, and provide a succinct PRAM language. Our approach achieves simplicity of programming over direct-mode BSP programming for reasonable overhead cost. We objectively compare optimized BSP algorithms with PRAM algorithms implemented with our library and provide encouraging experimental results for the latter style of programming. 1 Introduction Research in the theory of parallel computation has primarily focussed on parallel machines that communicate via shared memory, the so called Parallel Random Access Machines (PRAMs)[7]. A PRAM is an ideal parallel computer: a potentially unbounded set of processors sharing a global address space. The processors work synchronously and during each ..