How to Write-All Efficiently Even with Contaminated Memory

Abstract

The problem of Write-All-using P-processors write l's into all locations of an array of size N, where P < N- has been used as the basic building block for constructing efficient and fault-tolerant parallel algorithms. All previous Write-All solutions use Omega (P) auxiliary shared memory and assume that this memory is cleared or initialized to some known value. When Write-All building blocks are used in polylogarithmic parallel time algorithms (e.g., to compute prefix sums or list ranking) auxiliary memory initialization cannot be amortized over the computation. Thus, assuming clear memory is a very strong precondition and for Write-All itself raises a legitimate 'chicken-or-egg' objection. In this note, using a deterministic bootstrapping and balancing argument, we show how to Write-All when auxiliary memory is contaminated with arbitrary values. For any dynamic pattern of fail- stop, no-restart errors on a CRCW PRAM with at least one surviving processor, our new algorithm writes all I's using O(N + P log 3 N/(log log 2 N)) work, without any initialization assumption. This technique can be combined with any Write-All algorithm to yield efficient simulations of any PRAM and even optimal simulations given processor slack. It can also be used with restartable fail- stop processor simulations. In addition, we show that for the parallel prefix computation it is possible to improve on the best deterministic simulations to date: by a factor of log N when the memory is clear and by a factor of log log N when the memory is contaminated.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 01, 1992
Accession Number
ADA253328

Entities

People

  • Alex A. Shvartsman

Organizations

  • Brown University

Tags

Communities of Interest

  • Air Platforms
  • Autonomy
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Accounting
  • Algorithms
  • Arrays
  • Automata
  • Computations
  • Contamination
  • Efficiency
  • Instruction Set Architecture
  • Instructions
  • Iterations
  • Linear Arrays
  • Operating Systems
  • Parallel Computing
  • Simulations
  • Standards
  • Trees (Data Structures)

Readers

  • Graph Algorithms and Convex Optimization.
  • Parallel and Distributed Computing.