89 research outputs found

    BSP Functional Programming: Examples of a Cost Based Methodology

    Full text link
    Abstract. Bulk-Synchronous Parallel ML (BSML) is a functional data-parallel language for the implementation of Bulk-Synchronous Parallel (BSP) algorithms. It makes an estimation of the execution time (cost) possible. This paper presents some general examples of BSML programs and a comparison of their predicted costs with the measured execution time on a parallel machine

    Identifying A Unifying Mechanism for the Implementation of Concurrency Abstractions on Multi-Language Virtual Machines

    Get PDF
    Supporting all known abstractions for concurrent and parallel programming in a virtual machines (VM) is a futile undertaking, but it is required to give programmers appropriate tools and performance. Instead of supporting all abstractions directly, VMs need a unifying mechanism similar to \textttINVOKEDYNAMIC for JVMs. Our survey of parallel and concurrent programming concepts identifies concurrency abstractions as the ones benefiting most from support in a VM. Currently, their semantics is often weakened, reducing their engineering benefits. They require a mechanism to define flexible language guarantees. Based on this survey, we define an ownership-based meta-object protocol as candidate for VM support. We demonstrate its expressiveness by implementing actor semantics, software transactional memory, agents, CSP, and active objects. While the performance of our prototype confirms the need for VM support, it also shows that the chosen mechanism is appropriate to express a wide range of concurrency abstractions in a unified way

    More generalized packing numbers

    Get PDF
    AbstractThe packing number P(r,k,v) is defined to be the minimum number of non-empty subsets of cardinality ⩽k needed to contain each element of a set of cardinality v exactly r times, with no pair of distinct elements occuring more than once. The packing numbers P(3,4,v), P(5,3,v) and P(6,3,v) are completely determined and some other packing numbers determined. Tables of known packing numbers are given

    Outlier detection using semantic sensors

    Full text link

    Deriving parallel programs from specifications using cost information

    Get PDF
    AbstractA major step towards practical use of parallel computers is the integration of cost into transformational or derivational software development methods. The difficulties with doing this come from the wide variety of parallel architectures possible and the effects of memory access and congestion phenomena. This paper presents a model of costs for uniform architectures that is compatible with refinement-based methods of development, that is much simpler than those previously suggested, but which accurately assesses the costs of an implemented computation. Decisions about architecture type and machine size can be made at any stage in the development, even at the end

    Towards a framework for cost-based transformation

    Full text link

    A parallel tree difference algorithm

    Full text link

    Towards a higher level of abstraction in parallel programming

    No full text

    The case for datacentric grids

    No full text
    corecore