Multiprocessing
Multiprocessing refers to a computer system’s ability to support more than one process or program at the same time. Multiprocessing operating systems enable several programs to run concurrently. UNIX is one of the most widely used multiprocessing systems, but there are many others, including OS/2 for high-end personal computers and Windows NT for work groups. Multiprocessing systems are much more complicated than single-process systems because the operating system must allocate resources to competing processes in the most efficient manner. (IBM Dictionary of Computing, Tenth Edition, McGraw-Hill, (1994)).
Types of Multiprocessing
Symmetric multiprocessing refers to the processing of programs by multiple processors that share a common operating system, memory and data path. A single copy of the operating system controls all processors. Symmetric multiprocessing units of this type are also referred to as “shared everything” systems. These systems usually do not exceed 16 processors.
(Image courtesy of Sequent Manufacturing)
The most common uses of these types of systems are commercial servers of web applications such used in on line commerce. The advantages of this particular configuration are that they can be easily upgraded by the addition of more processors. These processors are available to execute any of the given processes as soon as the operating system recognizes and configures the new hardware. However, the limitations of such a configuration are that with shared memory, there is a strong emphasis on data manipulation. As each processor competes for a limited amount of shared memory, this limits the speed and up-gradability of such a system. Manufacturers must rely on the development of faster, higher capacity memory to overcome this disadvantage. Currently symmetric multiprocessing computers can address up to 14 gigabytes of physical memory and approximately 2 terabytes of storage. (Sequent Manufacturing Inc., white papers 1998)
Parallel Processing
Parallel processing is a form of information processing that emphasizes the concurrent manipulation of data elements belonging to one or more process solving a single problem. It is also referred to as a “shared nothing” system. These systems are composed of many loosely connected nodes or P/M (Processor / Memory) units that consist of a single processor, memory unit, a copy of the operating system and RDBMS (Relational Database Management System). Nodes are connected by high-speed data paths that pass messages between cooperating nodes. ( Parallel Computing Theory and Practice, Quinn Michael J., Oregon State University, McGraw-Hill)
(image courtesy Sequent manufacturing Inc.)
Advantages of parallel multiprocessing systems are that they are easily repaired by replacement of malfunctioning nodes and not the entire system. They manipulate data concurrently meaning processes...