Key words and concepts
From Parawiki
Definitions
Parallel computing refers to solving a task faster by employing multiple processors simultaneously.
Distributed computing uses a collection of autonomous computers that are interconnected with each other and cooperate, sharing resources.
Note that parallel computing and distributed computing are different!
There are many parallel computing-related notions, but they are all different.
- Concurrent computing
- Highly parallel computing
- High performance computing
- Networked computing
- Decentralized computing
- Collaborative computing
A programming environment (PE) is an environment that basically provides all the tools needed to design, code, and debug parallel and distributed applications according to a given programming model or language.
A problem solving environment (PSE) provides a set of user-friendly mechanisms and tools that allow to
build-up an application within a specific application domain, by gluing together, with an intuitive compositional model and using some kind of problem-oriented language, different building blocks.
Ref. P. D'Ambra et al. Advanced Environments for parallel and distributed applications: a view of current status Parallel Computing 28 (2002) 1637-1662
Reasons of parallel / distributed computing
There are several reasons for deploying parallel and distributed computing:
- Absolute performance
- Price/Performance ratio
- Technological reasons
- Inherently parallel or distributed applications
- Resource sharing
- Availability
- Incremental growth