Parallel Processing: Increasing Performance of Computer Systems | SSCP Exam Preparation

Parallel Processing

Prev Question Next Question

Question

Which of the following describes a technique in which a number of processor units are employed in a single computer system to increase the performance of the system in its application environment above the performance of a single processor of the same kind?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

D.

Multiprocessing is an organizational technique in which a number of processor units are employed in a single computer system to increase the performance of the system in its application environment above the performance of a single processor of the same kind.

In order to cooperate on a single application or class of applications, the processors share a common resource.

Usually this resource is primary memory, and the multiprocessor is called a primary memory multiprocessor.

A system in which each processor has a private (local) main memory and shares secondary (global) memory with the others is a secondary memory multiprocessor, sometimes called a multicomputer system because of the looser coupling between processors.

The more common multiprocessor systems incorporate only processors of the same type and performance and thus are called homogeneous multiprocessors; however, heterogeneous multiprocessors are also employed.

A special case is the attached processor, in which a second processor module is attached to a first processor in a closely coupled fashion so that the first can perform input/output and operating system functions, enabling the attached processor to concentrate on the application workload.

The following were incorrect answers: Multiprogramming: The interleaved execution of two or more programs by a computer, in which the central processing unit executes a few instructions from each program in succession.

Multitasking: The concurrent operation by one central processing unit of two or more processes.

Pipelining: A procedure for processing instructions in a computer program more rapidly, in which each instruction is divided into numerous small stages, and a population of instructions are in various stages at any given time.

One instruction does not have to wait for the previous one to complete all of the stages before it gets into the pipeline.

It would be similiar to an assembly chain in the real world.

References: TIPTON, Hal, (ISC)2, Introduction to the CISSP Exam presentation.

http://www.answers.com/Q/multiprocessing?cat=technology http://www.answers.com/multitasking?cat=biz-fin http://www.answers.com/pipelining?cat=technology

The technique described in the question is multiprocessing, which involves the use of multiple processor units in a single computer system to improve its performance. Multiprocessing can be implemented in different ways, such as symmetric multiprocessing (SMP) and asymmetric multiprocessing (AMP).

In SMP systems, all processors are equal, and they share the same memory and I/O devices. This architecture allows multiple processes to execute simultaneously, each running on a different processor, which can result in better performance and increased throughput.

In AMP systems, one processor is designated as the master processor, which controls the other processors, called slave processors. The master processor is responsible for managing the system resources, such as memory and I/O devices, and assigning tasks to the slave processors. This architecture is often used in embedded systems and real-time applications, where reliability and predictability are critical.

Multitasking, on the other hand, is a technique that allows multiple tasks or processes to run concurrently on a single processor. The processor switches between tasks, giving each task a share of the processor's time, which creates the illusion of parallel execution.

Multiprogramming is a technique that allows multiple programs to reside in memory at the same time. The processor switches between programs, executing a small portion of each program at a time, which can improve the utilization of system resources.

Pipelining is a technique that allows the processor to execute multiple instructions simultaneously, by breaking down each instruction into a sequence of smaller steps and executing them in parallel. This technique can improve the throughput of the processor, but it requires careful design to avoid pipeline hazards and ensure correct execution.