66 research outputs found

    Multiple-Length Division Revisited: A Tour of the Minefield

    Get PDF
    Long division of natural numbers plays a crucial role in Cobol arithmetic, cryptography, and primality testing. Only a handful of textbooks discuss the theory and practice of long division, and none of them do it satisfactorily. This tutorial attempts to fill this surprising gap in the literature on computer algorithms. We illustrate the subtleties of long division by examples, define the problem concisely, summarize the theory, and develop a complete Pascal algorithm using a consistent terminology

    Analysis of a Parallel Mergesort

    Get PDF
    The paper describes a performance model of a fine-grained, parallel mergesort which sorts N elements in 0(N) time using 0(logN) processors. The model predicts both the communication time involved in merging the elements and the decomposition time required to activate and terminate the binary tree of processes. The parallel algorithm is written in Joyce and runs on an Encore Multimax

    HOUSEHOLDER REDUCTION

    Get PDF
    This tutorial discusses Householder reduction of n linear equations to a triangular form which can be solved by back substitution. The main strengths of the method are its numerical stability and suitability for parallel computing. We explain how Householder reduction can be derived from elementary matrix algebra. The method is illustrated by a numerical example and a Pascal algorithm. We assume that the reader has a general knowledge of vector and matrix algebra but is less familiar with linear transformation of a vector space

    Parallel Cellular Automata: A Model Program for Computational Science

    Get PDF
    We develop a model program for parallel execution of cellular automata on a multicomputer. The model program is then adapted for simulation of forest fires and numerical solution of Laplace\u27s equation for stationary heat flow. The performance of the parallel program is analyzed and measured on a Computing Surface configured as a matrix of transputers with distributed memory

    A Multiprocessor Implementation of Joyce

    Get PDF
    Joyce is a programming language for parallel computers based on CSP and Pascal. A Joyce program defines concurrent agents which communicate through unbuffered channels. This paper describes a multiprocessor implementation of Joyce

    The Fast Fourier Transform

    Get PDF
    This tutorial discusses the fast Fourier transform, which has numerous applications in signal and image processing. The FFT computes the frequency components of a signal that has been sampled at n points in O( n log n) time. We explain the FFT and illustrate it by examples and Pascal algorithms. We assume that you are familiar with elementary calculus

    Parallel Divide and Conquer

    Get PDF
    We develop a generic divide and conquer algorithm for a parallel tree machine. From the generic algorithm we derive balanced, parallel versions of quicksort and the fast Fourier transform by substitution of data types, variables and statements. The performance of these algorithms is analyzed and measured on a Computing Surface configured as a tree machine with distributed memory

    Joyce Performance on a Multiprocessor

    Get PDF
    Joyce is a parallel programming language based on CSP and Pascal. The language has been moved from the IBM PC to the Encore Multimax. The paper explains how the multiprocessor implementation of Joyce was guided by performance evaluation. The measurements show that the speed-up of Joyce programs follows Amdahl’s law

    The N-Body Pipeline

    Get PDF
    A general pipeline for all-pairs computations is adapted for direct force summation of n bodies which interact through gravitation only. To achieve approximate load balance the pipeline is folded several times across an array of processors. The performance of the pipeline is analyzed and measured on a Computing Surface

    A Generic Multiplication Pipeline

    Get PDF
    This paper illustrates the benefits of developing generic algorithms for parallel programming paradigms which can be adapted to different applications. We consider a combinatorial problem called tuple multiplication. This paradigm includes matrix multiplication and the all-pairs shortest paths problem as special cases. We develop a generic pipeline for tuple multiplication. From the generic algorithm we derive pipelines for matrix multiplication and shortest paths computation by making substitutions of data types and functions. The performance of the matrix multiplication pipeline is analyzed and measured on a Computing Surface
    • …
    corecore