Home

Tutoring

Subjects

Live Classes

Study Coach

Essay Review

On-Demand Courses

Colleges

Games


Sign up

Log in

Opening subject page...

Loading your content

Practice

  • All Subjects
  • Algebra Flashcards
  • SAT Math Practice Tests
  • Math Question of the Day
  • Live Classes
  • On-Demand Courses

Varsity Tutors

  • Find a Tutor
  • Test Prep
  • Online Classes
  • K-12 Learning
  • College Search
  • VarsityTutors.com

© 2026 Varsity Tutors. All rights reserved.

← Back to quizzes

AP Computer Science Principles Quiz

AP Computer Science Principles Quiz: Parallel And Distributed Computing

Practice Parallel And Distributed Computing in AP Computer Science Principles with focused quiz questions that help you check what you know, review explanations, and build confidence with test-style prompts.

Question 1 / 20

0 of 20 answered

Which of the following is a primary difference between parallel and distributed computing?

Select an answer to continue

What this quiz covers

This quiz focuses on Parallel And Distributed Computing, giving you a quick way to practice the rules, question types, and explanations that matter most for AP Computer Science Principles.

How to use this quiz

Try each quiz question before looking at the correct answer. Use the explanations to review missed ideas, then come back to similar questions until the pattern feels familiar.

All questions

Question 1

Which of the following is a primary difference between parallel and distributed computing?

  1. Parallel computing uses multiple processors, while distributed computing uses only a single processor.
  2. Parallel computing is used for mathematical problems, while distributed computing is used for text processing.
  3. In parallel computing, processors often share memory, while in distributed computing, machines have their own private memory and communicate over a network. (correct answer)
  4. Parallel computing solutions run faster than distributed computing solutions, regardless of the problem.

Explanation: A key architectural difference is that parallel computing often involves multiple cores or processors within a single machine sharing a common memory space. In distributed computing, the computation is spread across separate machines, each with its own memory, which communicate by sending messages over a network. (A) is incorrect, as both use multiple processing units. (B) is incorrect as both can be used for various problem types. (D) is an overgeneralization and not always true.

Question 2

What is the primary benefit of using distributed computing for solving extremely large-scale scientific problems, such as global climate modeling?

  1. It guarantees a perfectly optimal solution by exploring every possibility in a sequential order.
  2. It allows problems to be solved that would be impractical for a single computer due to processing time or storage needs. (correct answer)
  3. It reduces the complexity of the program's code by automatically converting it to a simpler language.
  4. It ensures the security of the data by encrypting each piece of information before processing it on a separate device.

Explanation: Distributed computing's main advantage is its ability to harness the collective power and storage of many computers. This allows it to tackle problems that are too large or time-consuming for even the most powerful single computer. (A) is incorrect; distributed computing does not guarantee optimality and is not sequential. (C) is incorrect; it does not simplify the code itself. (D) describes a security measure, not the primary computational benefit.

Question 3

A program contains a setup task that must run first and takes 5 minutes. It then has 10 independent processing tasks, each of which takes 10 minutes to run on a single processor. Finally, a cleanup task must run last and takes 5 minutes.

If this program is run on a parallel system with 5 processors, what is the minimum total execution time?

  1. 30 minutes (correct answer)
  2. 25 minutes
  3. 110 minutes
  4. 22 minutes

Explanation: The program has two sequential parts (setup and cleanup) and one parallel part (10 processing tasks). First, the setup runs sequentially for 5 minutes. Next, the 10 processing tasks run in parallel on 5 processors. Each processor will handle 10/5 = 2 tasks. Since each task takes 10 minutes, each processor will take 2 * 10 = 20 minutes. The parallel part takes 20 minutes. Finally, the cleanup runs sequentially for 5 minutes. The total time is 5 (setup) + 20 (parallel) + 5 (cleanup) = 30 minutes. (C) is the sequential time. (B) and (D) are incorrect calculations.

Question 4

A programmer is trying to improve the performance of a data analysis program by using parallel computing. After rewriting the code to use 8 processors instead of 1, they notice the program is only 3 times faster, not 8 times faster. Which of the following is the most likely explanation for this?

  1. The program contains a sequential portion that cannot be parallelized, limiting the overall speedup. (correct answer)
  2. The processors used in the parallel solution are slower than the single processor used in the sequential solution.
  3. Distributed computing would have been a better model for this problem than parallel computing.
  4. The program requires more data storage when run in parallel, which slows down the execution time.

Explanation: The efficiency of a parallel solution is limited by the portion of the program that must be executed sequentially. This sequential part creates a bottleneck, preventing the speedup from being directly proportional to the number of processors. (B) is a possible but less fundamental reason; the question implies identical processing power. (C) is not necessarily true and doesn't explain the specific observation. (D) is not a primary reason for the limitation of speedup.

Question 5

Refer to the text: Genome sequencing pipelines split read alignment into many independent chunks, then merge partial matches; processors must synchronize to avoid duplicate counting. How does parallel computing improve processing speed?

  1. By dividing alignment work into chunks processed simultaneously, then merging results efficiently. (correct answer)
  2. By moving data to distant nodes over the internet, which always accelerates computation.
  3. By ensuring node failures never occur, so no time is lost to recovery procedures.
  4. By replacing algorithmic steps with manual verification to increase accuracy and speed.

Explanation: This question tests understanding of parallel and distributed computing concepts, specifically how parallel computing achieves speed improvements in genome sequencing pipelines. Parallel computing divides a single task into smaller subtasks that can be processed simultaneously by multiple processors, then combines the results to complete the original task faster. In this passage, parallel computing is illustrated through genome sequencing pipelines that split read alignment into many independent chunks processed simultaneously, with processors synchronizing to avoid duplicate counting when merging results. Choice A is correct because it accurately describes how parallel computing improves processing speed by dividing alignment work into chunks processed simultaneously, then merging results efficiently - this is the fundamental speedup mechanism of parallel computing. Choice B is incorrect because it describes moving data to distant nodes over the internet, which relates to distributed computing and actually introduces network latency rather than improving speed. To help students: Use the analogy of multiple workers assembling parts of a product simultaneously versus one worker doing everything sequentially. Demonstrate speedup calculations showing how parallel processing reduces time. Watch for: confusion between parallel speedup (simultaneous processing) and distributed computing characteristics.

Question 6

Refer to the text: In genome sequencing, distributed computing stores reads across networked nodes and uses message passing; if one node fails, other nodes continue and data can be re-copied. How does distributed computing enhance fault tolerance?

  1. By keeping computation on one machine so failures cannot spread across a network.
  2. By requiring constant shared-memory access, preventing any single component from failing.
  3. By replicating data and rerouting tasks so other nodes continue when one node fails. (correct answer)
  4. By guaranteeing perfect accuracy in every alignment, eliminating the impact of hardware faults.

Explanation: This question tests understanding of parallel and distributed computing concepts, specifically how distributed computing provides fault tolerance in genome sequencing applications. Distributed computing involves multiple independent systems connected via network that can continue operating even when individual nodes fail, unlike parallel computing which typically operates within a single system. In this passage, distributed computing is illustrated through genome sequencing that stores reads across networked nodes using message passing, with the ability to re-copy data and continue when nodes fail. Choice C is correct because it accurately describes how distributed computing enhances fault tolerance by replicating data and rerouting tasks so other nodes can continue when one node fails, which is the fundamental mechanism of fault tolerance in distributed systems. Choice B is incorrect because it describes shared-memory access, which is characteristic of parallel computing within a single system, not distributed computing across networked nodes. To help students: Emphasize that fault tolerance in distributed systems comes from redundancy and independence of nodes. Use real-world examples like cloud storage services that continue working even when servers fail. Watch for: confusion between parallel computing's shared memory and distributed computing's message passing architectures.

Question 7

Refer to the text: Parallel genome alignment requires frequent synchronization to combine partial results; distributed computing communicates through messages and tolerates higher communication delays. What is a key difference between parallel and distributed computing?

  1. Parallel typically uses lower-latency internal communication; distributed typically uses higher-latency network messaging. (correct answer)
  2. Parallel forbids task splitting; distributed requires every task to be identical.
  3. Parallel is inherently fault tolerant; distributed cannot recover from node failures.
  4. Parallel applies only to storage; distributed applies only to computation.

Explanation: This question tests understanding of parallel and distributed computing concepts, specifically the communication characteristics that distinguish these two computing paradigms. Parallel computing typically uses fast, low-latency communication within a single system, while distributed computing must handle higher-latency network communication between separate nodes. In this passage, the distinction is illustrated through parallel genome alignment requiring frequent synchronization to combine partial results (implying fast, local communication) versus distributed computing communicating through messages and tolerating higher communication delays. Choice A is correct because it accurately identifies that parallel computing typically uses lower-latency internal communication while distributed computing typically uses higher-latency network messaging, which is a fundamental architectural difference. Choice C is incorrect because it reverses the fault tolerance characteristics - distributed computing is inherently more fault tolerant due to node independence, while parallel computing within one machine is more vulnerable to system-wide failures. To help students: Demonstrate communication speed differences using examples like CPU cache access (nanoseconds) versus network packets (milliseconds). Explain how these differences affect algorithm design. Watch for: students confusing which system has better fault tolerance or misunderstanding the impact of communication latency.

Question 8

Refer to the text: genome sequencing pipelines may distribute data across nodes to handle massive read volumes. Which scenario best exemplifies distributed computing?

  1. A single GPU renders one image faster by using many cores on one card.
  2. Multiple lab servers share read alignment tasks and exchange results over a network. (correct answer)
  3. One laptop increases speed by overclocking its single processor.
  4. A spreadsheet sorts a small list using one thread to avoid coordination.

Explanation: This question tests understanding of distributed computing through example identification, specifically recognizing scenarios with multiple networked systems. Distributed computing involves multiple independent computer systems working together over a network to solve a problem or provide a service. In this passage, genome sequencing pipelines distribute data across nodes to handle massive volumes. Choice B is correct because it clearly exemplifies distributed computing—multiple lab servers (separate systems) sharing tasks and exchanging results over a network. Choice A is incorrect because a single GPU with many cores represents parallel computing within one device, not distributed computing across multiple systems. To help students: Emphasize the key identifier of distributed computing—multiple separate computer systems connected by a network. Practice categorizing scenarios based on whether they involve one system or multiple networked systems. Watch for: confusion between many processors in one system (parallel) versus many systems working together (distributed).

Question 9

Refer to the text: In parallel genome alignment, processors must coordinate when merging partial matches; excessive coordination can reduce speed gains. Which statement best captures a limitation implied by the passage?

  1. Parallel computing cannot run genome sequencing because it never allows task division.
  2. Communication and synchronization overhead can constrain parallel speedup as processors increase. (correct answer)
  3. Distributed computing eliminates all communication delays by using shared memory across nodes.
  4. Fault tolerance is irrelevant in genomics because hardware failures never occur in practice.

Explanation: This question tests understanding of parallel and distributed computing concepts, specifically the limitations of parallel computing due to coordination overhead. Parallel computing's speedup is limited by the need for processors to communicate and synchronize, which becomes more significant as the number of processors increases, following Amdahl's Law. In this passage, this limitation is illustrated through parallel genome alignment where processors must coordinate when merging partial matches, and excessive coordination can reduce speed gains. Choice B is correct because it accurately captures that communication and synchronization overhead can constrain parallel speedup as processors increase, which is a fundamental limitation of parallel computing. Choice A is incorrect because it claims parallel computing cannot run genome sequencing or allow task division, which contradicts the passage that explicitly describes parallel genome sequencing through task division. To help students: Introduce Amdahl's Law mathematically and show how even small sequential portions limit speedup. Use examples where adding more processors provides diminishing returns. Watch for: students thinking parallel computing has no limitations or misunderstanding that coordination overhead increases with processor count.

Question 10

Refer to the text: genome sequencing uses parallel computing for rapid per-read analysis and distributed computing for cluster-wide throughput. What is a key difference between parallel and distributed computing?

  1. Parallel computing coordinates processors within a single system, while distributed computing coordinates multiple nodes over a network. (correct answer)
  2. Parallel computing depends on geographic separation, while distributed computing requires one shared cache.
  3. Parallel computing is inherently fault tolerant, while distributed computing fails whenever one node fails.
  4. Parallel computing cannot be used in science, while distributed computing is only for science.

Explanation: This question tests understanding of the fundamental distinction between parallel and distributed computing architectures. Parallel computing coordinates multiple processors within a single computer system, typically sharing memory or connected by fast internal links, while distributed computing coordinates multiple independent computer systems (nodes) connected over a network. In this passage, genome sequencing uses parallel computing for rapid per-read analysis on one system and distributed computing for cluster-wide throughput across multiple systems. Choice A is correct because it accurately states this key architectural difference—parallel computing works within a single system while distributed computing spans multiple networked nodes. Choice C is incorrect because it reverses the fault tolerance characteristics—distributed computing is generally more fault tolerant than parallel computing due to node independence. To help students: Always start with the physical architecture distinction—one system versus multiple systems. Create clear visual representations showing the boundary of a single system versus multiple networked systems. Watch for: misconceptions about which architecture provides better fault tolerance or assumptions about application domains.

Question 11

Based on the passage: Distributed genome workflows replicate data across nodes so alignments can resume after failures; parallel workflows focus on coordinated processors within one machine. How does distributed computing enhance fault tolerance?

  1. By preventing failures through faster processors, so recovery mechanisms are unnecessary.
  2. By using a single shared disk, ensuring all nodes depend on one storage device.
  3. By duplicating data and reassigning tasks when a node becomes unavailable. (correct answer)
  4. By merging partial results more frequently, which guarantees nodes cannot crash mid-task.

Explanation: This question tests understanding of parallel and distributed computing concepts, specifically how distributed computing achieves fault tolerance through redundancy and task reassignment. Distributed computing's fault tolerance comes from data replication across independent nodes and the ability to reassign work when nodes fail, unlike parallel computing which typically operates within a single failure domain. In this passage, distributed genome workflows are shown to replicate data across nodes so alignments can resume after failures, contrasting with parallel workflows that focus on coordinated processors within one machine. Choice C is correct because it accurately describes how distributed computing enhances fault tolerance by duplicating data and reassigning tasks when a node becomes unavailable, which are the core mechanisms of fault tolerance in distributed systems. Choice B is incorrect because using a single shared disk would create a single point of failure, eliminating fault tolerance rather than enhancing it - the opposite of distributed computing principles. To help students: Explain redundancy concepts using examples like RAID arrays or backup systems. Demonstrate how task reassignment works when nodes fail in distributed systems. Watch for: students confusing fault tolerance mechanisms with performance optimization or thinking shared resources improve fault tolerance.

Question 12

Based on the passage: Parallel genome alignment uses many processors in one system with tight coordination; distributed systems use separate nodes communicating over a network and can keep running during node failures. What is a key difference between parallel and distributed computing?

  1. Parallel uses networked nodes; distributed uses shared memory inside one machine.
  2. Parallel relies on local processor coordination; distributed relies on message-based network communication. (correct answer)
  3. Parallel exists only for small data sets; distributed exists only for large data sets.
  4. Parallel eliminates communication needs; distributed eliminates the need for task distribution.

Explanation: This question tests understanding of parallel and distributed computing concepts, specifically the key architectural differences between these two computing paradigms. Parallel computing uses multiple processors within one system with shared memory and tight coordination, while distributed computing uses separate networked nodes that communicate through message passing. In this passage, the distinction is illustrated through genome alignment using many processors in one system with tight coordination (parallel) versus separate nodes communicating over a network with fault tolerance capabilities (distributed). Choice B is correct because it accurately identifies that parallel computing relies on local processor coordination within one machine, while distributed computing relies on message-based network communication between separate nodes. Choice A is incorrect because it reverses the characteristics - parallel computing uses shared memory inside one machine, not networked nodes, which is a fundamental misconception students often have. To help students: Create comparison charts showing parallel (one machine, multiple processors, shared memory) versus distributed (multiple machines, network communication, message passing). Practice categorizing real computing scenarios. Watch for: students reversing the characteristics or thinking the difference is only about data size.

Question 13

Refer to the text on genome sequencing: parallel computing accelerates read mapping by dividing independent read batches among processors. How does parallel computing improve processing speed?

  1. By dividing read batches into concurrent tasks executed by multiple processors. (correct answer)
  2. By replicating the same task on many nodes to prevent any incorrect result.
  3. By always lowering costs through fewer processors and less memory usage.
  4. By reducing internet latency between hospitals sharing patient records.

Explanation: This question tests understanding of parallel computing's speed benefits, specifically how task division improves performance. Parallel computing achieves speedup by breaking a large task into smaller, independent subtasks that can be executed simultaneously on multiple processors. In this passage, genome sequencing demonstrates parallel computing by dividing read batches among processors for concurrent mapping. Choice A is correct because it accurately describes this process—dividing read batches into concurrent tasks executed by multiple processors directly increases processing speed. Choice B is incorrect because it describes redundancy for error checking, not speed improvement through parallelization. To help students: Emphasize that parallel computing's primary speed benefit comes from simultaneous execution of independent tasks. Use analogies like multiple workers painting different walls simultaneously. Watch for: confusion between parallelization for speed versus replication for reliability.

Question 14

Based on the passage: A lab uses a supercomputer where many processors share fast internal links for genome alignment; another lab uses a cluster of separate machines that exchange messages and replicate data. Which scenario best exemplifies distributed computing?

  1. One computer splits alignment across its processors and merges results through shared coordination.
  2. A single processor runs all alignments sequentially to avoid synchronization overhead.
  3. Multiple networked nodes store read subsets, exchange messages, and continue if one node fails. (correct answer)
  4. A faster algorithm alone replaces computation, removing the need for additional hardware.

Explanation: This question tests understanding of parallel and distributed computing concepts, specifically identifying which scenario exemplifies distributed computing versus parallel computing. Distributed computing involves multiple independent computers (nodes) connected via network, each with its own processor and memory, communicating through message passing and providing fault tolerance. In this passage, two scenarios are presented: a supercomputer with processors sharing fast internal links (parallel) and a cluster of separate machines exchanging messages with data replication (distributed). Choice C is correct because it accurately describes distributed computing - multiple networked nodes that store read subsets, exchange messages, and can continue operating if one node fails, which are the defining characteristics of distributed systems. Choice A is incorrect because it describes parallel computing - one computer splitting work across its processors with shared coordination, which is characteristic of parallel systems within a single machine. To help students: Emphasize the physical separation of machines in distributed computing versus multiple processors in one machine for parallel computing. Use diagrams showing network connections between separate computers versus internal processor connections. Watch for: students focusing on task division rather than system architecture when distinguishing between parallel and distributed computing.

Question 15

Which of the following computational models is characterized by operations being performed in order, one at a time?

  1. Parallel computing
  2. Distributed computing
  3. Sequential computing (correct answer)
  4. Fault-tolerant computing

Explanation: Sequential computing is defined as a model where operations are executed one after another in a specified sequence. This is the most basic computational model. (A) and (B) involve simultaneous operations. (D) is a system design principle, not a fundamental model of program execution order.

Question 16

When designing a solution that uses parallel computing, why might the performance not increase proportionally with the addition of more processors?

  1. The solution must be converted to a sequential model before it can produce a final result.
  2. Each processor added to a parallel system reduces the overall clock speed of the other processors.
  3. The solution's efficiency is limited by the portion of the program that cannot be parallelized. (correct answer)
  4. Parallel computing models are only theoretical and do not provide real-world performance gains.

Explanation: This is a key concept in parallel computing often referred to as Amdahl's Law. Most programs have some parts that must run sequentially. This sequential fraction of the code creates a bottleneck, and no matter how many processors are added, the total time can never be less than the time required for that sequential part. (A) is incorrect. (B) is not how parallel systems work. (D) is false, as parallel computing provides significant real-world benefits.

Question 17

Which of the following best describes parallel computing?

  1. A model in which a program is run on a single processor, completing one operation at a time in a specific order.
  2. A model where multiple, independent computers are used to run different parts of a program, communicating over a network.
  3. A model where a program is broken into smaller operations, some of which are performed simultaneously by multiple processors. (correct answer)
  4. A model where a system includes extra components to ensure it continues to function even if some parts fail.

Explanation: Parallel computing involves breaking a program into smaller pieces that can be executed at the same time (simultaneously) on multiple processors, which speeds up the total execution time. This is the core concept of parallelism. (A) describes sequential computing. (B) describes distributed computing. (D) describes fault tolerance, a different concept in computer systems.

Question 18

A research project requires analyzing vast amounts of astronomical data. The work is divided and sent to thousands of volunteers' personal computers around the world to process during their idle time. Which computational model does this scenario best illustrate?

  1. Sequential computing, because each computer processes its data chunk in order.
  2. Fault-tolerant computing, because if one computer fails, the system can still continue processing data on other machines.
  3. Parallel computing, because multiple processors within a single supercomputer are working on the data simultaneously.
  4. Distributed computing, because multiple independent devices are being used to run parts of the same program. (correct answer)

Explanation: This is a classic example of distributed computing, where a task is spread across multiple, geographically separate computers connected by a network. (A) is incorrect because the overall project is not sequential. (B) describes a characteristic of this system but not the fundamental computational model. (C) is incorrect because the scenario describes using many separate personal computers, not a single supercomputer.

Question 19

A program consists of four independent tasks. On a single processor, Task W takes 10 seconds, Task X takes 20 seconds, Task Y takes 30 seconds, and Task Z takes 40 seconds.

If the program is run on a computer with two identical processors that can run in parallel, what is the minimum time to execute all four tasks?

  1. 50 seconds (correct answer)
  2. 60 seconds
  3. 70 seconds
  4. 100 seconds

Explanation: To minimize the total time, the tasks should be distributed as evenly as possible between the two processors. Processor 1 can take Task Z (40s). Processor 2 can take Task Y (30s). Then, Processor 1 can take Task W (10s) after it finishes Task Z, for a total of 50s. Processor 2 can take Task X (20s) after it finishes Task Y, for a total of 50s. The entire program finishes when the last processor finishes, which is at 50 seconds. Another optimal distribution is Processor 1: Z (40s) + W (10s) = 50s; Processor 2: Y (30s) + X (20s) = 50s. The total time is 50 seconds. (D) is the sequential time. (B) and (C) represent non-optimal task distributions.

Question 20

A video rendering task takes 24 minutes to complete using a sequential computing solution on a single processor. By using a parallel computing solution with four processors, the same task is completed in 6 minutes. What is the speedup of the parallel solution?

  1. 0.25
  2. 4 (correct answer)
  3. 18
  4. 30

Explanation: Speedup is calculated as the time it took to complete the task sequentially divided by the time it took to complete the task in parallel. In this case, Speedup = 24 minutes / 6 minutes = 4. (A) is the inverse calculation. (C) is the difference in time. (D) is the sum of the times.