Quickwords - Vocabulary used in this article


Parallel Processing

Recall that the core concept of distributed computing is splitting up the workload between more than one computer. Its sister concept, parallel processing or computing, takes this concept in a different light.

the power in more processors

Distributed Computing vs. Parallel Processing

Fig. 1: Distributed Computing vs. Parallel Processing

Parallel processing, or computing, takes the brains of many computers and stuffs many of them into one. With more than one processor, the computer can process tasks much faster than one can. If parallel processing is hard to imagine, think of the adage, "Many hands make light work." Here, many processors divvy up a problem, lightening the workload on each other.

Multiple Resonance Imaging (MRI) scanner

Fig. 2: Multiple Resonance Imaging (MRI) scanner

Like distributed computing, parallel processing has many applications in today's world. Any problem that requires numerous computations perfectly suits parallel processing. Hospitals use these parallel machines to analyze images from MRI scanners, similar to the one in Figure 2. Airlines use them to process customer information and keep track of airplane flights. Engineers use them to construct the safest possible guardrail on the highway by testing different variables, including vehicle type and the metal of the rail (Mitchell). Aircraft designers, physicists, meteorologists, multimedia banks, warehouses that need to track inventory — practically anything in the scientific, technical, or business field benefits from parallel processing. (Shankland)

Parallel processing has the edge over wide-range distributed computing because of the close proximity of the processors. Because of this, they are able to communicate with each other readily, important in calculations which require multiple calculations and dependent variables.

Despite this advantage in communication, parallel processing has its share of disadvantages. Its software is heavily platform-dependent and has to be written for a specific machine. It also requires a different, more difficult method of programming, since the software needs to appropriately, through algorithms, divide the work across each processor (Pountain). Because of this, there isn't a wide array of shrink-wrapped software ready for use with parallel machines.

clustering

Clustering is a form of parallel processing that takes a group of workstations connected together in a local-area network and applies middleware to make them act like a parallel machine. Because this method can be used at night when networks are idle, it is an inexpensive alternative to parallel-processing machines. (Pountain)

Clustering can work with two separate but similar implementations. A Parallel Virtual Machine, or PVM, is an environment that allows mesages to pass between computers as it would in an actual parallel machine. A Message-Passing Interface, or MPI, allows programmers to create message-passing parallel applications, using parallel input/output functions and dynamic process management. (Pountain)

As with other networking architectures, clustering requires the use of a variety of softwares working together. One of the most popular software combinations is Beowulf, which utilizes the Parallel Virtual Machine environment and runs on the free open-source Linux kernel (open-source means that the inner workings of the program are available freely, as opposed to closed-source software, like Windows, whose inner workings cannot be seen).

Clustering shares parallel processing's disadvantages with its difficulty in programming, and the lack of a single solution, especially for Beowulf — they require the use of several different programs. However, Compaq and IBM are resolving these shortcomings with packages of components and management tools (Shankland).

Previous Return to the Welcome page View Printer-Friendly Version

©2000 Team DC (Thinkquest Team C007645). Hosted by ThinkQuest.