Which of the following is a primary difference between parallel and distributed computing?
Opening subject page...
Loading your content
AP Computer Science Principles Quiz
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?
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.
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.
Which of the following is a primary difference between parallel and distributed computing?
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.
What is the primary benefit of using distributed computing for solving extremely large-scale scientific problems, such as global climate modeling?
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.
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?
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.
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?
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.
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?
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.
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?
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.
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?
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.
Refer to the text: genome sequencing pipelines may distribute data across nodes to handle massive read volumes. Which scenario best exemplifies distributed computing?
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).
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?
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.
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?
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.
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?
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.
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?
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.
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?
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.
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?
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.
Which of the following computational models is characterized by operations being performed in order, one at a time?
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.
When designing a solution that uses parallel computing, why might the performance not increase proportionally with the addition of more processors?
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.
Which of the following best describes parallel computing?
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.
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?
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.
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?
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.
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?
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.