- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# What is Parallel Algorithm?

Parallel algorithms are those specially devised for parallel computers. The idealized parallel algorithms are those written for the PRAM models if no physical constraints or communication overheads are imposed. In the real world, an algorithm is considered efficient only if it can be cost-effectively implemented on physical machines. In this sense, all machine-implementable algorithms must be architecture-dependent. This means the effects of communication overhead and architectural constraints cannot be ignored.

## Characteristics of Parallel Algorithm

There are various characteristics of parallel algorithm which are as follows −

**Deterministic versus nondeterministic**− It is only deterministic algorithms are implementable on real machines. Our study is confined to deterministic algorithms with polynomial time complexity**Computational Granularity**− Granularity decides the size of data items and program modules used in the computation. In this sense, we also classify algorithms as fine-grain, medium-grain, or coarse-grain.**Parallelism profile**− The distribution of the degree of parallelism in an algorithm reveals the opportunity for parallel processing. This often affects the effectiveness of the parallel algorithms.**Communication patterns and synchronization requirements**− Communication patterns address both memory access and interprocessor communications. The patterns can be static or dynamic, depending on the algorithms. Static algorithms are more suitable for SIMD or pipelined machines, while dynamic algorithms are for MIMD machines. The synchronization frequency often affects the efficiency of an algorithm.**Uniformity of the operations**− This refers to the types of fundamental operations to be performed. If the operations are uniform across the data set, the SIMD processing or pipelining may be more desirable. In other words, randomly structured algorithms are more suitable for MIMD processing. Other related issues include data types and precision desired.**Memory requirement and data structures**− In solving large-scale problems, the data sets may require huge memory space. Memory efficiency is affected by data structures chosen and data movement patterns in the algorithms. Both time and space complexities are key measures of the granularity of a parallel algorithm.

- Related Articles
- What is Dijikstra Algorithm?
- What is RIPPER Algorithm?
- What is Backpropagation Algorithm?
- What is Apriori Algorithm?
- What is division algorithm ?
- What is Parallel Processing?
- What is Parallel Venation?
- What is parallel lines ?
- What is Congestion Control Algorithm?
- What is Hoeffding Tree Algorithm?
- What is Distance Vector Routing Algorithm?
- What is the CART Pruning Algorithm?
- What is the C5 Pruning Algorithm?
- What is an Agglomerative Clustering Algorithm?
- What is the Blowfish encryption algorithm?

Advertisements