![]() |
Why is the concept of parallelism so popular? |
[Edit] |
Answer
In software design, parallelism isn't actually very popular. The reason for this unpopularity is that creating correct parallel software is much more complex compared to the creation of a single-threaded straight-forward application design.
Parallel software design is often confused with multi-threaded design. This is not the same: multi-threaded design means that an application entertains more than one thread of execution. For example, your favorite text processor can take your input, spell-check and print in the background, etc. These are typically seperate threads, executed in parallel (physical hardware permitting) or pseudo-parallel, each designed to do its own thing (receive user input, spell-check, print, etc).
The term "parallel design" typically refers to dividing a large, time-consuming, algorithm into smaller, but essentially equal, portions, which can be executed in parallel on different processors or even computers. For example, image processing in an MRI scanner is typically divided into a number of parallel processes, each processing a portion of the data. Other parallel applications include those used for image rendering in the creation of animated movies.
To synchronize and monitor these parallized efforts, and to combine the results, is not a trivial task - hence the unpopularity of truely parallel design in software.
Multi-threaded design, where each thread of execution solves a different problem, typically requiresless management overhead. For example, the printer thread could be designed as a fire-once component, and -once it has been initialized and started correctly- no further coordination or monitoring might be required. Because a multi-threaded application seemingly performs many tasks in parallel, providing a slick user experience, this concept is widely used in allmost all mainstream applications.
First answer by W7. Last edit by W7. Contributor trust: 160 [recommend contributor]. Question popularity: 14 [recommend question]




