86 research outputs found

    Discussion on Papers 1–4

    No full text

    PRAM Programming: Theory vs. Practice

    No full text
    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 ..

    Bandwidth, Space and Computation Efficient PRAM Programming: The BSP Approach

    No full text
    In this paper we investigate the tractability of PRAM simulations on the IBM SP2 system through the Bulk-Synchronous Parallel model. We present a portable C++ class library that provides PRAM style shared memory facilities for any parallel or distributed system. We also obtain almost optimal speedup for representative PRAM algorithms, thus demonstrating the suitability of our methods for high performance parallel systems

    Checkpoint/restart-enabled parallel debugging

    Get PDF
    Debugging is often the most time consuming part of software development. HPC applications prolong the debugging process by adding more processes interacting in dynamic ways for longer periods of time. Checkpoint/restart- enabled parallel debugging returns the developer to an intermediate state closer to the bug. This focuses the debugging process, saving developers considerable amounts of time, but requires parallel debuggers cooperating with MPI implementations and checkpointers. This paper presents a design specification for such a cooperative relationship. Additionally, this paper discusses the application of this design to the GDB and DDT debuggers, Open MPI, and BLCR projects. © 2010 Springer-Verlag

    Checkpoint/restart-enabled parallel debugging

    No full text
    Debugging is often the most time consuming part of software development. HPC applications prolong the debugging process by adding more processes interacting in dynamic ways for longer periods of time. Checkpoint/restart- enabled parallel debugging returns the developer to an intermediate state closer to the bug. This focuses the debugging process, saving developers considerable amounts of time, but requires parallel debuggers cooperating with MPI implementations and checkpointers. This paper presents a design specification for such a cooperative relationship. Additionally, this paper discusses the application of this design to the GDB and DDT debuggers, Open MPI, and BLCR projects. © 2010 Springer-Verlag
    • …
    corecore