Kinds of Parallel Programming
Parallel programming has many uses, but a fully parallel program is not always feasible.
We'll cover the following...
There are many flavors of parallel programming, some that are general and can be run on any hardware, and others that are specific to particular hardware architectures.
Two main paradigms we can talk about here are shared memory versus distributed memory models. In shared memory models, multiple processing units all have access to the same, shared memory space. This is the case on our desktop or laptop with multiple CPU cores. In a distributed memory model, multiple processing units each have their own memory store, and information is passed between them. This is the model that a networked
Types of parallel tasks
Broadly speaking we can separate a computation into two camps depending on how it can be parallelized. A so-called ...