2020-05-15

## What do you mean by parallel algorithms?

In computer science, a parallel algorithm, as opposed to a traditional serial algorithm, is an algorithm which can do multiple operations in a given time. It has been a tradition of computer science to describe serial algorithms in abstract machine models, often the one known as random-access machine.

## What are the issues with parallel algorithm?

Communication issues: Conceptualize to processed to computation, it is required that data must be transferred between tasks, on which one task can send messages and from which the other can receive. This is the outcomes of the communication phase of parallel algorithm design structure.

Which algorithms can be parallelized?

The algorithms

• Quicksort.
• Selection sort.
• Insertion sort.
• Counting sort.
• Batcher’s Bitonic Sort.

What are the characteristics of parallel algorithms?

The data set is organized into some structure like an array, hypercube, etc. Processors perform operations collectively on the same data structure. Each task is performed on a different partition of the same data structure. It is restrictive, as not all the algorithms can be specified in terms of data parallelism.

### What is the time complexity of recursive doubling algorithm?

We show that the limited processor version recursive doubling algorithm solves a tridiagonal system of size n with arithmetic complexity 0( n/p + log p) and communication complexity O(log p) on a hypercube multi- processor with p processors. The algorithm becomes more efficient if p -=x n.

### Which is the first step in developing a parallel algorithm?

In the first two stages of the design process, the computation is partitioned to maximize parallelism, and communication between tasks is introduced so that tasks have the data they need. The resulting algorithm is still an abstraction, because it is not designed to execute on any particular parallel computer.

What is scalability in parallel programming?

The scalability of a parallel algorithm on a parallel architecture is a measure of its capacity to effectively utilize an increasing number of processors. For a fixed problem size, it may be used to determine the optimal number of processors to be used and the maximum possible speedup that can be obtained.

What is the time complexity for recursive doubling algorithm?

#### Is Big-O the worst case?

Worst case — represented as Big O Notation or O(n) Big-O, commonly written as O, is an Asymptotic Notation for the worst case, or ceiling of growth for a given function. It provides us with an asymptotic upper bound for the growth rate of the runtime of an algorithm.

#### What is master theorem for recursive algorithm?

The master theorem is a recipe that gives asymptotic estimates for a class of recurrence relations that often show up when analyzing recursive algorithms. T(n) = aT(n/b) + f(n).

How are parallel algorithms used in Computer Science?

Parallel algorithm. In computer science, a parallel algorithm, as opposed to a traditional serial algorithm, is an algorithm which can be executed a piece at a time on many different processing devices, and then combined together again at the end to get the correct result. Many parallel algorithms are executed concurrently – though in general…

How does the parallel algorithm decide the volume of traffic?

Designs of parallel processors use special buses like crossbar so that the communication overhead will be small but it is the parallel algorithm that decides the volume of the traffic. If the communication overhead of additional processors outweighs the benefit of adding another processor, one encounters parallel slowdown .

## Is there such a thing as a parallel machine?

It has been a tradition of computer science to describe serial algorithms in abstract machine models, often the one known as random-access machine. Similarly, many computer science researchers have used a so-called parallel random-access machine (PRAM) as a parallel abstract machine (shared-memory).

## What are the two ways parallel processors communicate?

There are two ways parallel processors communicate, shared memory or message passing. Shared memory processing needs additional locking for the data, imposes the overhead of additional processor and bus cycles, and also serializes some portion of the algorithm.