×

Trending Technologies MCQs

Parallel Computing MCQs (Multiple-Choice Questions)

Practice Parallel Computing MCQs to test your understanding of parallel processing, concurrency, multicore processors, GPU computing, parallel algorithms, synchronization, task scheduling, performance optimization, and distributed execution. These multiple-choice questions are designed for students, software developers, computer science learners, and IT professionals preparing for examinations and technical interviews.

Parallel Computing MCQs

Parallel computing is a computing approach in which multiple processing elements work on different parts of a problem at the same time. By dividing a computational task into smaller operations that can execute concurrently, parallel computing can reduce execution time and improve throughput for suitable workloads. It is widely used in scientific simulations, artificial intelligence, data analysis, graphics rendering, and engineering applications.

Practicing these Parallel Computing MCQs helps you understand parallel architectures, shared-memory and distributed-memory systems, data and task parallelism, synchronization, race conditions, parallel algorithms, scalability, and performance measurement. Each question includes four answer options, the correct answer, and an explanation to support learning.

List of Parallel Computing MCQs

The following questions cover fundamental and advanced concepts of parallel computing, including processor architectures, parallel programming models, thread management, synchronization mechanisms, speedup calculations, Amdahl's law, load balancing, GPU processing, and practical problem-solving scenarios.

1. What is parallel computing?

  1. A computing approach in which all tasks execute sequentially on one processor
  2. A method of storing data without processing it
  3. A computing approach in which multiple processing elements execute parts of a problem concurrently
  4. A system that operates without memory

Answer: C) A computing approach in which multiple processing elements execute parts of a problem concurrently

Explanation:

Parallel computing divides a problem into operations that can execute at the same time on multiple processing elements. These elements may be CPU cores, GPUs, or processors in a computing cluster. The performance benefit depends on the amount of parallelism and the overhead involved.

2. What is the primary goal of parallel computing?

  1. To reduce execution time or increase throughput by performing work concurrently
  2. To ensure that every operation executes sequentially
  3. To eliminate the need for algorithms
  4. To prevent multiple processors from communicating

Answer: A) To reduce execution time or increase throughput by performing work concurrently

Explanation:

Parallel computing can accelerate suitable workloads by distributing operations across multiple processing elements. It can also increase throughput when multiple tasks are processed concurrently. Actual improvements depend on workload characteristics, hardware resources, and synchronization overhead.

3. Which hardware component commonly supports parallel computing within a single computer?

  1. Keyboard
  2. Monitor
  3. Power cable
  4. Multicore processor

Answer: D) Multicore processor

Explanation:

A multicore processor contains multiple processing cores that can execute different instruction streams concurrently. Parallel programs can distribute work across these cores to improve performance when tasks can run independently or be coordinated safely.

4. What is data parallelism?

  1. Executing only one operation on one data element
  2. Applying the same or similar operation concurrently to different elements of a dataset
  3. Preventing data from being accessed by multiple processors
  4. Storing all data in a single file

Answer: B) Applying the same or similar operation concurrently to different elements of a dataset

Explanation:

Data parallelism divides a dataset among processing elements that perform similar operations on separate portions. For example, multiple cores can calculate values for different array elements concurrently when those calculations do not depend on one another.

5. What is task parallelism?

  1. Executing different tasks or functions concurrently
  2. Applying one operation to every data element only
  3. Preventing independent tasks from running simultaneously
  4. Using a single processing element for every operation

Answer: A) Executing different tasks or functions concurrently

Explanation:

Task parallelism allows different operations or functions to execute at the same time. For example, one task may process input data while another performs calculations on previously prepared data, provided their dependencies allow concurrent execution.

6. Which of the following is a shared-memory parallel architecture?

  1. A cluster in which every computer has only private memory and no shared address space
  2. A collection of independent computers communicating only through messages
  3. A multicore system in which multiple processors or cores access a common address space
  4. A collection of computers that cannot exchange data

Answer: C) A multicore system in which multiple processors or cores access a common address space

Explanation:

In a shared-memory architecture, multiple processing elements access a common address space. They can communicate through shared variables, but synchronization is necessary when concurrent operations access shared data in conflicting ways.

7. What is distributed-memory parallel computing?

  1. A system in which every processor uses the same physical memory without communication
  2. A computing model in which processing nodes have separate memory and communicate by exchanging messages
  3. A system that contains no processors
  4. A model in which all computation occurs on a single CPU core

Answer: B) A computing model in which processing nodes have separate memory and communicate by exchanging messages

Explanation:

In distributed-memory computing, each node typically has its own local memory. Nodes coordinate their work by sending messages over a communication network. This model is common in computing clusters and large-scale scientific applications.

8. Which programming interface is widely used for distributed-memory parallel computing?

  1. HTML
  2. CSS
  3. SMTP
  4. MPI

Answer: D) MPI

Explanation:

The Message Passing Interface (MPI) is a standard programming interface for communication among processes in parallel applications. It supports operations such as point-to-point communication, collective communication, and synchronization across processes.

9. Which programming model is commonly used to parallelize work across shared-memory CPU cores?

  1. OpenMP
  2. HTTP
  3. DNS
  4. FTP

Answer: A) OpenMP

Explanation:

OpenMP provides compiler directives, runtime routines, and environment variables for parallel programming, especially on shared-memory systems. It can distribute loops and other work across multiple threads with relatively small changes to existing programs.

10. What is a thread in parallel programming?

  1. A physical network cable
  2. A storage device that holds executable files
  3. An execution sequence within a process that can run concurrently with other threads
  4. A type of monitor connection

Answer: C) An execution sequence within a process that can run concurrently with other threads

Explanation:

A thread is an execution path within a process. Multiple threads in the same process generally share resources such as the process address space, while each thread maintains its own execution state, including a stack and registers.

11. What is concurrency?

  1. A requirement that all tasks execute on one processor
  2. A condition in which multiple tasks make progress during overlapping periods
  3. A technique that prohibits task switching
  4. A method of permanently disabling parallel execution

Answer: B) A condition in which multiple tasks make progress during overlapping periods

Explanation:

Concurrency means that multiple tasks are in progress during overlapping periods. They may execute simultaneously on different cores or take turns on a single core. Parallelism specifically involves simultaneous execution, so concurrency does not always imply parallel execution.

12. What is the difference between concurrency and parallelism?

  1. Concurrency always requires multiple physical computers
  2. Parallelism means that tasks can never overlap
  3. Both terms always mean exactly the same thing
  4. Concurrency concerns overlapping progress, while parallelism involves simultaneous execution

Answer: D) Concurrency concerns overlapping progress, while parallelism involves simultaneous execution

Explanation:

Concurrent tasks can make progress during overlapping periods, even if a processor switches between them. Parallel tasks execute at the same time on separate processing resources. A program can be concurrent without executing in parallel.

13. What is synchronization in parallel computing?

  1. Coordinating the execution of parallel tasks to maintain correct ordering or safe access to shared resources
  2. Increasing the physical size of a processor
  3. Removing all communication between threads
  4. Ensuring that every task uses a different programming language

Answer: A) Coordinating the execution of parallel tasks to maintain correct ordering or safe access to shared resources

Explanation:

Synchronization coordinates tasks when they depend on one another or access shared state. Mechanisms such as locks, barriers, semaphores, and atomic operations help maintain correctness, although excessive synchronization can reduce performance.

14. What is a race condition?

  1. A process that measures execution time
  2. A situation in which every operation executes in a fixed order
  3. A condition in which the result depends on the timing or ordering of concurrent operations
  4. A technique that guarantees safe access to shared variables

Answer: C) A condition in which the result depends on the timing or ordering of concurrent operations

Explanation:

A race condition can occur when concurrent operations access shared data without appropriate coordination. The result may vary depending on execution timing. Proper synchronization, atomic operations, or redesigning the algorithm can prevent such problems.

15. What is a mutex used for in parallel programming?

  1. To increase the number of CPU cores
  2. To provide mutual exclusion when accessing a shared resource
  3. To transfer files between computers
  4. To divide a program into separate executables

Answer: B) To provide mutual exclusion when accessing a shared resource

Explanation:

A mutex allows only one participating thread at a time to hold the lock and enter a protected critical section. It helps prevent conflicting concurrent updates, although poorly designed locking can cause contention or deadlocks.

16. What is a critical section?

  1. A section of code that must always execute on a GPU
  2. A block of code that contains no instructions
  3. A part of a program that cannot access memory
  4. A section of code that accesses shared resources and may require controlled exclusive access

Answer: D) A section of code that accesses shared resources and may require controlled exclusive access

Explanation:

A critical section is a region of code where concurrent access to shared state could cause incorrect behavior. Synchronization can ensure that only one thread at a time executes the relevant section when exclusive access is required.

17. What is a barrier in parallel computing?

  1. A synchronization point at which participating tasks wait until the required participants arrive
  2. A hardware component that blocks all network traffic permanently
  3. A method of deleting unfinished tasks
  4. A technique that disables parallel execution

Answer: A) A synchronization point at which participating tasks wait until the required participants arrive

Explanation:

A barrier coordinates phases of parallel execution. Participating threads or processes wait at the barrier until the required group reaches it. Barriers can simplify coordination but may cause delays when some tasks finish their work much later than others.

18. What is a deadlock in parallel computing?

  1. A condition in which all threads execute at maximum speed
  2. A temporary increase in processor frequency
  3. A situation in which tasks wait indefinitely for resources or events that cannot become available
  4. A method of improving processor utilization

Answer: C) A situation in which tasks wait indefinitely for resources or events that cannot become available

Explanation:

Deadlock can occur when tasks wait for resources held by one another in a circular dependency. Avoiding inconsistent lock ordering, limiting resource dependencies, and applying suitable timeout or recovery strategies can help prevent or handle deadlocks.

19. What is load balancing in parallel computing?

  1. Assigning every task to the same processor
  2. Distributing work among processing elements to reduce imbalance and idle time
  3. Preventing processors from communicating
  4. Ensuring that all tasks require exactly the same number of instructions

Answer: B) Distributing work among processing elements to reduce imbalance and idle time

Explanation:

Load balancing distributes work so that processing resources are used effectively. If one processor receives much more work than others, the faster processors may remain idle while waiting for the slowest task to finish.

20. What is Amdahl's law used for?

  1. Calculating the storage capacity of a computer
  2. Measuring network cable length
  3. Determining the number of files in a program
  4. Estimating the theoretical speedup limit when part of a program remains serial

Answer: D) Estimating the theoretical speedup limit when part of a program remains serial

Explanation:

Amdahl's law shows how the serial portion of a workload limits overall speedup. Even if the parallel portion becomes extremely fast, the serial portion still contributes to execution time and prevents unlimited acceleration.

21. What does speedup measure in parallel computing?

  1. The ratio of baseline execution time to parallel execution time
  2. The number of processors installed in a computer
  3. The amount of physical memory available
  4. The number of source code lines executed per minute

Answer: A) The ratio of baseline execution time to parallel execution time

Explanation:

Speedup is commonly calculated as \(S = T_1 / T_p\), where \(T_1\) is the baseline execution time and \(T_p\) is the parallel execution time using the selected number of processing elements. A speedup of 4 means the parallel version takes one-quarter of the baseline time.

22. What is parallel efficiency?

  1. The number of instructions in a program
  2. The physical size of a processing unit
  3. The speedup divided by the number of processing elements used
  4. The amount of storage space consumed by an application

Answer: C) The speedup divided by the number of processing elements used

Explanation:

Parallel efficiency measures how effectively processing elements contribute to speedup. It is commonly calculated as \(E = S / P\), where \(S\) is speedup and \(P\) is the number of processing elements. Efficiency can decrease because of serial work, communication, synchronization, and load imbalance.

23. What is strong scaling?

  1. Increasing the problem size in proportion to the number of processors
  2. Measuring how execution time changes as more processors are used for a fixed total problem size
  3. Increasing the size of the computer cabinet
  4. Running each task on a separate operating system

Answer: B) Measuring how execution time changes as more processors are used for a fixed total problem size

Explanation:

Strong scaling examines how well a fixed-size problem performs when additional processing elements are used. Ideal strong scaling reduces execution time in inverse proportion to the number of processors, but real systems experience overheads and limits to parallelism.

24. What is weak scaling?

  1. Reducing the workload every time a processor is added
  2. Keeping the total problem size fixed while removing processors
  3. Measuring only the clock frequency of a CPU
  4. Increasing the problem size proportionally as processing resources increase, often keeping work per processor approximately constant

Answer: D) Increasing the problem size proportionally as processing resources increase, often keeping work per processor approximately constant

Explanation:

Weak scaling evaluates how a system handles proportionally larger workloads as more processing resources are added. Ideally, execution time remains approximately constant when the amount of work per processor stays similar and communication overhead does not grow significantly.

25. What is the main purpose of Gustafson's law?

  1. To explain potential speedup when the problem size grows with the number of processors
  2. To calculate the maximum disk storage capacity
  3. To prove that parallel programs never experience overhead
  4. To measure the temperature of a processor

Answer: A) To explain potential speedup when the problem size grows with the number of processors

Explanation:

Gustafson's law considers scaled workloads in which the parallel portion grows as more processors become available. It provides a perspective on how larger problems can benefit from parallel systems, complementing Amdahl's law, which focuses on a fixed-size workload.

26. Which architecture is commonly associated with SIMD execution?

  1. Single processor executing only one instruction on one data item
  2. A system that cannot perform arithmetic
  3. A vector processor that applies one instruction to multiple data elements
  4. A storage device that does not process instructions

Answer: C) A vector processor that applies one instruction to multiple data elements

Explanation:

SIMD stands for Single Instruction, Multiple Data. SIMD architectures execute the same operation on multiple data elements, making them useful for vector arithmetic, image processing, scientific calculations, and other data-parallel tasks.

27. What is MIMD in computer architecture?

  1. Multiple Inputs, Managed Disks
  2. Multiple Instruction, Multiple Data
  3. Managed Internet, Multiple Devices
  4. Memory Integration, Main Data

Answer: B) Multiple Instruction, Multiple Data

Explanation:

MIMD systems allow multiple processing elements to execute different instruction streams on different data. Multicore processors and many multiprocessor systems follow this general model, supporting different tasks or independent program flows at the same time.

28. What is a GPU particularly suitable for?

  1. Performing only serial text operations
  2. Managing physical keyboard connections
  3. Replacing all system memory
  4. Executing large numbers of suitable parallel operations

Answer: D) Executing large numbers of suitable parallel operations

Explanation:

GPUs contain many processing resources designed to handle parallel workloads. They are commonly used for graphics rendering, matrix operations, machine learning, and scientific computing when the workload provides enough parallel work to offset data movement and launch overhead.

29. What is a parallel algorithm?

  1. An algorithm designed to divide work into operations that can execute concurrently
  2. An algorithm that prohibits simultaneous execution
  3. A program that uses no variables
  4. A method of storing files without computation

Answer: A) An algorithm designed to divide work into operations that can execute concurrently

Explanation:

A parallel algorithm identifies independent or coordinated operations that can run on multiple processing elements. A good parallel algorithm considers dependencies, communication, synchronization, and the amount of available parallel work.

30. Which operation is commonly used in parallel reduction?

  1. Assigning a different filename to every processor
  2. Displaying the same image on every monitor
  3. Combining multiple values into one result, such as a sum or maximum
  4. Deleting all intermediate values before computation begins

Answer: C) Combining multiple values into one result, such as a sum or maximum

Explanation:

A reduction combines a collection of values using an operation such as addition, multiplication, minimum, or maximum. Parallel reduction algorithms combine partial results across multiple processing elements, often using a tree structure to reduce the number of sequential steps.

31. What is the purpose of a thread pool?

  1. To permanently stop all threads after startup
  2. To maintain reusable worker threads that execute submitted tasks
  3. To replace CPU memory with disk storage
  4. To ensure every task creates a new operating system

Answer: B) To maintain reusable worker threads that execute submitted tasks

Explanation:

A thread pool maintains a set of worker threads that can execute multiple tasks over time. Reusing threads can reduce the overhead of repeatedly creating and destroying them and can help control the amount of concurrent work.

32. What is false sharing in shared-memory parallel computing?

  1. A technique that improves all memory operations automatically
  2. A situation in which two processors execute the same instruction stream
  3. A method of distributing data across separate computers
  4. A performance problem that occurs when threads modify different variables located on the same cache line

Answer: D) A performance problem that occurs when threads modify different variables located on the same cache line

Explanation:

False sharing occurs when threads update separate variables that occupy the same cache line. Cache-coherence traffic may cause the line to move between cores even though the threads are not logically sharing the same variable. Padding or changing data layout can sometimes reduce this overhead.

33. What is a semaphore used for in concurrent programming?

  1. To control access to a limited number of resources or coordinate tasks through a counter-based synchronization mechanism
  2. To increase processor clock speed
  3. To convert a sequential algorithm into a parallel algorithm automatically
  4. To permanently disable context switching

Answer: A) To control access to a limited number of resources or coordinate tasks through a counter-based synchronization mechanism

Explanation:

A semaphore maintains a counter representing available permits or signaling state. A counting semaphore can limit how many tasks use a resource simultaneously, while a binary semaphore can be used for certain coordination patterns. Correct use depends on the synchronization requirements.

34. What is a parallel workload's granularity?

  1. The physical size of a processor
  2. The number of network cables connected to a cluster
  3. The amount of computation performed in each task relative to its coordination and communication overhead
  4. The total number of files stored on a computer

Answer: C) The amount of computation performed in each task relative to its coordination and communication overhead

Explanation:

Granularity describes how much work is contained in individual parallel tasks. Fine-grained tasks contain relatively little work and may incur significant scheduling or communication overhead, while coarse-grained tasks perform more work per task but may provide fewer opportunities for balancing.

35. What is a common challenge in parallel programming?

  1. Every task always takes exactly the same time
  2. Managing synchronization, dependencies, and shared resources correctly
  3. Parallel programs cannot use memory
  4. Multiple processing elements cannot execute instructions

Answer: B) Managing synchronization, dependencies, and shared resources correctly

Explanation:

Parallel programs must coordinate concurrent operations while avoiding race conditions, deadlocks, and incorrect data dependencies. Communication and synchronization can also add overhead, making the design and testing of parallel software more complex than purely sequential programming.

36. What is the purpose of a work-stealing scheduler?

  1. To force all workers to remain idle
  2. To prevent tasks from moving between worker queues
  3. To assign every task permanently to one CPU core
  4. To allow an underutilized worker to take tasks from another worker's queue

Answer: D) To allow an underutilized worker to take tasks from another worker's queue

Explanation:

Work stealing helps balance workloads when task execution times vary. An idle worker can obtain tasks from another worker's queue, increasing the likelihood that processing resources remain active while tasks are available.

37. Which metric measures the amount of useful work completed per unit of time?

  1. Throughput
  2. Source code length
  3. Processor package size
  4. Number of installed monitors

Answer: A) Throughput

Explanation:

Throughput measures how much work a system completes over a given period, such as requests per second or jobs per hour. Parallel processing can increase throughput by allowing multiple operations to execute concurrently.

38. What is the difference between latency and throughput?

  1. Latency measures only storage size, while throughput measures processor temperature
  2. Latency and throughput are always identical
  3. Latency measures the time taken for an operation, while throughput measures the amount of work completed per unit of time
  4. Latency measures the number of processors, while throughput measures the number of users

Answer: C) Latency measures the time taken for an operation, while throughput measures the amount of work completed per unit of time

Explanation:

Latency measures the time required for an operation or request to complete. Throughput measures the rate at which work is completed. A system may increase throughput through parallel execution without proportionally reducing the latency of each individual operation.

39. What is a parallel computing cluster?

  1. A single computer that cannot communicate with other devices
  2. A group of interconnected computers that work together to execute computational workloads
  3. A collection of monitors attached to one keyboard
  4. A storage system without processing resources

Answer: B) A group of interconnected computers that work together to execute computational workloads

Explanation:

A parallel computing cluster consists of interconnected computing nodes that cooperate on computational tasks. Nodes may execute different parts of a problem and communicate through a network using programming interfaces such as MPI.

40. What is the primary purpose of parallel debugging tools?

  1. To ensure that all threads execute at the same speed
  2. To remove every synchronization operation automatically
  3. To prevent applications from running on multiple processors
  4. To help identify concurrency errors, race conditions, deadlocks, and incorrect parallel behavior

Answer: D) To help identify concurrency errors, race conditions, deadlocks, and incorrect parallel behavior

Explanation:

Parallel debugging tools help developers inspect multiple threads or processes and investigate timing-sensitive failures. Some tools also detect data races, analyze lock usage, and profile synchronization or communication overhead.

41. What is the purpose of parallel profiling?

  1. To identify performance bottlenecks, execution time, and resource utilization in parallel applications
  2. To make every function execute in exactly one millisecond
  3. To eliminate all communication between processors
  4. To prevent measurement of processor utilization

Answer: A) To identify performance bottlenecks, execution time, and resource utilization in parallel applications

Explanation:

Parallel profiling reveals where applications spend time and whether processing resources remain busy. It can identify load imbalance, synchronization overhead, communication delays, memory bottlenecks, and other problems that limit scalability.

42. What is a parallel prefix sum operation?

  1. An operation that sorts all elements alphabetically
  2. A method of deleting repeated values from a dataset
  3. An operation that calculates cumulative results for successive prefixes of a sequence
  4. A method of measuring CPU temperature

Answer: C) An operation that calculates cumulative results for successive prefixes of a sequence

Explanation:

A prefix sum calculates cumulative sums from the beginning of a sequence. For example, the input [2, 3, 4, 5] produces the inclusive prefix sum [2, 5, 9, 14]. Parallel prefix algorithms can compute these results using multiple processing elements and structured communication.

43. What is a dependency in a parallel algorithm?

  1. A requirement that every task use a different processor brand
  2. A relationship in which one operation requires data or results produced by another operation
  3. A rule that all tasks must execute simultaneously
  4. A method for increasing the number of source files

Answer: B) A relationship in which one operation requires data or results produced by another operation

Explanation:

A dependency constrains the order in which operations can execute. If one operation needs the output of another, the dependent operation must wait until the required result is available. Identifying dependencies helps determine which parts of a program can execute in parallel.

44. Why can communication overhead reduce parallel performance?

  1. Because communication always increases the number of available processors
  2. Because it guarantees that all tasks finish at the same time
  3. Because it eliminates the need for synchronization
  4. Because time spent exchanging data or coordinating tasks may offset the benefits of parallel execution

Answer: D) Because time spent exchanging data or coordinating tasks may offset the benefits of parallel execution

Explanation:

Parallel tasks may need to exchange intermediate results or synchronize their progress. Communication latency, limited bandwidth, and coordination costs can reduce the performance gain from additional processors, especially when each task performs little computation.

45. What is embarrassingly parallel computing?

  1. A type of workload that can be divided into independent tasks requiring little or no communication between them
  2. A computing model that prohibits multiple tasks
  3. A system in which all tasks depend on one shared result before starting
  4. A technique that requires every task to use the same processor core

Answer: A) A type of workload that can be divided into independent tasks requiring little or no communication between them

Explanation:

Embarrassingly parallel workloads can be divided into independent tasks with little coordination. Examples include processing separate images, evaluating independent simulations, and rendering independent frames, depending on the application's data dependencies.

46. What is the purpose of a reduction operation in parallel computing?

  1. To divide one processor into smaller physical processors
  2. To increase the number of source code files
  3. To combine values from multiple processing elements into a single result
  4. To prevent data from being read

Answer: C) To combine values from multiple processing elements into a single result

Explanation:

A reduction combines partial values using an operation such as addition, multiplication, minimum, or maximum. Parallel reductions can combine intermediate results in stages, allowing multiple processing elements to contribute to a final result.

47. What is a common advantage of parallelizing matrix multiplication?

  1. It eliminates the need to store matrix elements
  2. Many output elements or partial computations can be calculated concurrently
  3. It guarantees zero memory access latency
  4. It prevents the use of multicore processors

Answer: B) Many output elements or partial computations can be calculated concurrently

Explanation:

Matrix multiplication contains substantial computational work that can be divided across multiple processing elements. Parallel implementations can calculate separate output elements or tiles concurrently, although performance depends on memory access patterns, data reuse, and communication overhead.

48. What is the main purpose of a parallel programming model?

  1. To guarantee that all hardware has identical performance
  2. To eliminate the need for algorithm design
  3. To prevent programs from using multiple processing elements
  4. To provide abstractions and rules for expressing and coordinating parallel work

Answer: D) To provide abstractions and rules for expressing and coordinating parallel work

Explanation:

A parallel programming model defines how developers express parallel tasks, manage data, communicate, and synchronize execution. Examples include shared-memory threading, OpenMP, MPI, CUDA, and OpenCL, each suited to different architectures and application requirements.

49. Which factor is most likely to limit the scalability of a parallel program?

  1. A large serial portion, excessive synchronization, or communication overhead
  2. The use of independent tasks
  3. The availability of additional processing resources
  4. The use of a parallel algorithm with balanced work

Answer: A) A large serial portion, excessive synchronization, or communication overhead

Explanation:

Scalability can be limited by serial work, uneven task distribution, memory bandwidth, synchronization, and communication. Adding processors does not necessarily improve performance if the workload cannot use them effectively or the overhead grows too quickly.

50. A program takes 24 seconds to execute sequentially. After parallelization, 75% of the original workload is parallelizable, and the remaining 25% must execute serially. Assuming ideal parallel execution of the parallelizable portion with four processors and no additional overhead, what is the total execution time?

  1. 6 seconds
  2. 9 seconds
  3. 10.5 seconds
  4. 12 seconds

Answer: C) 10.5 seconds

Explanation:

The serial portion takes 25% of 24 = 6 seconds. The parallelizable portion takes 75% of 24 = 18 seconds sequentially. With four processors and ideal scaling, this portion takes 18 / 4 = 4.5 seconds. Therefore, the total execution time is 6 + 4.5 = 10.5 seconds.

Comments and Discussions!

Load comments ↻



Copyright © 2026 www.includehelp.com. All rights reserved.