Parallel Processing and Multiprocessors # MCQs Practice set

Q.1 What is the main advantage of parallel processing over sequential processing?

Reduces memory size
Increases execution speed by performing multiple operations simultaneously
Simplifies programming
Reduces hardware cost
Explanation - Parallel processing allows multiple tasks to be executed simultaneously, significantly reducing execution time for large computations.
Correct answer is: Increases execution speed by performing multiple operations simultaneously

Q.2 Which of the following is a type of parallelism in computing?

Instruction-level parallelism
Disk-level parallelism
Power-level parallelism
File-level parallelism
Explanation - Instruction-level parallelism (ILP) refers to executing multiple instructions from a program simultaneously to improve performance.
Correct answer is: Instruction-level parallelism

Q.3 What is the difference between SIMD and MIMD architectures?

SIMD processes multiple data streams with a single instruction; MIMD uses multiple instructions on multiple data streams
SIMD is slower than MIMD
SIMD is a type of memory; MIMD is a processor
There is no difference
Explanation - SIMD (Single Instruction, Multiple Data) applies the same operation on multiple data simultaneously, whereas MIMD (Multiple Instruction, Multiple Data) allows different operations on different data.
Correct answer is: SIMD processes multiple data streams with a single instruction; MIMD uses multiple instructions on multiple data streams

Q.4 Which method is commonly used to synchronize tasks in multiprocessor systems?

Clock gating
Semaphores
Pipelining
Prefetching
Explanation - Semaphores are a synchronization mechanism that prevents race conditions and ensures proper sequencing of tasks in multiprocessor systems.
Correct answer is: Semaphores

Q.5 What does Amdahl's Law state regarding parallel computing?

Performance improvement is linear with the number of processors
The maximum speedup is limited by the sequential portion of the task
Adding processors always reduces execution time proportionally
Parallel computing does not improve performance
Explanation - Amdahl's Law indicates that even with infinite processors, the speedup is limited by the fraction of the program that cannot be parallelized.
Correct answer is: The maximum speedup is limited by the sequential portion of the task

Q.6 Which of the following is an example of fine-grained parallelism?

Executing a few large tasks concurrently
Performing multiple small operations in parallel within a single task
Using multiple computers for separate jobs
Running different programs on different cores
Explanation - Fine-grained parallelism breaks tasks into very small operations that can be executed simultaneously for higher efficiency.
Correct answer is: Performing multiple small operations in parallel within a single task

Q.7 Which memory organization is most suitable for tightly coupled multiprocessor systems?

Distributed memory
Shared memory
Cache-only memory
External memory
Explanation - Tightly coupled multiprocessors benefit from shared memory since all processors can access the same memory space for coordination and data sharing.
Correct answer is: Shared memory

Q.8 What is the main drawback of using a large number of processors in parallel computing?

Increased sequential execution time
Communication overhead and synchronization delays
Memory size decreases
Programs run slower
Explanation - As the number of processors increases, the overhead for communication and synchronization between them can reduce the overall performance gain.
Correct answer is: Communication overhead and synchronization delays

Q.9 Which type of parallel computer is suitable for graphics processing?

MIMD
SIMD
Vector processor
Scalar processor
Explanation - SIMD architectures are ideal for graphics processing because they can apply the same instruction to many pixels simultaneously.
Correct answer is: SIMD

Q.10 In a multiprocessor system, what is a critical section?

A portion of memory with restricted access
Part of a program where shared resources are accessed and need synchronization
The fastest section of code
A debugging tool
Explanation - Critical sections must be executed exclusively by one processor at a time to avoid race conditions and data corruption.
Correct answer is: Part of a program where shared resources are accessed and need synchronization

Q.11 What is a bottleneck in a parallel computing system?

The fastest processor
The point where performance is limited due to resource contention
A type of memory
A synchronization method
Explanation - A bottleneck occurs when the speed of the system is limited by one slow component or a contention for shared resources, reducing overall efficiency.
Correct answer is: The point where performance is limited due to resource contention

Q.12 Which interconnection network is commonly used in multiprocessor systems for low-latency communication?

Bus
Ring
Mesh
Hypercube
Explanation - Hypercube networks provide efficient, low-latency communication between processors and are scalable for large multiprocessor systems.
Correct answer is: Hypercube

Q.13 What is the main purpose of a barrier in parallel programming?

To terminate a program
To ensure all threads reach a certain point before continuing
To allocate memory
To increase processor speed
Explanation - A barrier synchronizes threads or processes by forcing them to wait until all have reached the barrier before proceeding.
Correct answer is: To ensure all threads reach a certain point before continuing

Q.14 Which of the following is an example of task-level parallelism?

Performing different functions in different processors simultaneously
Executing the same instruction on multiple data
Fetching multiple instructions from memory
Caching data for faster access
Explanation - Task-level parallelism involves executing different tasks concurrently across multiple processors.
Correct answer is: Performing different functions in different processors simultaneously

Q.15 Which factor primarily limits scalability in parallel processing?

Processor speed
Memory access latency
Communication overhead
Compiler efficiency
Explanation - As more processors are added, the communication and coordination between them increases, often limiting performance gains.
Correct answer is: Communication overhead

Q.16 What is a loosely coupled multiprocessor system?

Processors share memory and tightly coordinate tasks
Processors have their own memory and communicate via a network
A single processor system
A system with shared cache only
Explanation - Loosely coupled systems, also known as distributed systems, have independent processors with local memory communicating through interconnection networks.
Correct answer is: Processors have their own memory and communicate via a network

Q.17 Which of the following improves performance by overlapping computation with communication?

Pipelining
Cache memory
Synchronization
Task scheduling
Explanation - In parallel processing, pipelining allows computation of one task to proceed while communication for another task occurs, improving overall throughput.
Correct answer is: Pipelining

Q.18 What is the main difference between data parallelism and task parallelism?

Data parallelism divides data among processors; task parallelism divides tasks
Task parallelism is faster than data parallelism
Data parallelism uses more memory
There is no difference
Explanation - Data parallelism focuses on distributing data to perform the same operation in parallel, whereas task parallelism distributes different tasks across processors.
Correct answer is: Data parallelism divides data among processors; task parallelism divides tasks

Q.19 Which type of parallel processor is specifically designed for vector computations?

Scalar processor
Vector processor
MIMD processor
SIMD processor
Explanation - Vector processors can perform operations on entire arrays (vectors) of data in a single instruction cycle, ideal for scientific computing and graphics.
Correct answer is: Vector processor

Q.20 What is the main purpose of cache coherence in multiprocessor systems?

Increase processor speed
Ensure all caches have consistent data values
Reduce memory size
Synchronize threads
Explanation - Cache coherence protocols maintain a consistent view of memory across all caches in a multiprocessor system to prevent data inconsistencies.
Correct answer is: Ensure all caches have consistent data values

Q.21 Which of the following is an example of hardware-level parallelism?

Multithreading in a single-core CPU
Using multiple cores in a CPU
Writing parallel algorithms
Scheduling tasks across processors
Explanation - Hardware-level parallelism exploits physical hardware such as multiple cores to perform computations simultaneously.
Correct answer is: Using multiple cores in a CPU

Q.22 What is the main challenge of programming multiprocessor systems?

Installing the processor
Ensuring correct synchronization and avoiding race conditions
Buying more memory
Slower computation speed
Explanation - Programming for multiprocessor systems requires careful management of shared resources to prevent errors due to concurrent access.
Correct answer is: Ensuring correct synchronization and avoiding race conditions

Q.23 Which type of multiprocessor system uses a common bus for communication?

Tightly coupled
Loosely coupled
Distributed memory
Clustered
Explanation - Tightly coupled multiprocessor systems share a common bus or memory for communication and coordination.
Correct answer is: Tightly coupled

Q.24 Which of the following is a benefit of using MIMD architecture?

Simpler programming
Ability to execute different instructions on different data simultaneously
Reduces need for synchronization
Faster single-thread execution
Explanation - MIMD architectures allow multiple processors to execute different instructions on different data concurrently, supporting task-level parallelism.
Correct answer is: Ability to execute different instructions on different data simultaneously

Q.25 What is the main role of an interconnection network in a multiprocessor system?

Increase processor clock speed
Facilitate data transfer between processors and memory
Reduce memory size
Simplify programming
Explanation - Interconnection networks provide the communication infrastructure for processors and memory modules in a multiprocessor system.
Correct answer is: Facilitate data transfer between processors and memory