- 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?
Answer: Parallel computing coordinates processors within a single system, while distributed computing coordinates multiple nodes over a network.
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.
- What is the minimum execution time for this program using a system with three processors running in parallel?
Answer: 65 ms
The program has two sequential portions (Task 1 and Task 5) and a parallel portion (Tasks 2, 3, 4). First, Task 1 runs sequentially: 10 ms. Then, Tasks 2, 3, and 4 can run in parallel on the three processors. The time for this parallel portion is determined by the longest task, which is Task 4 at 40 ms. After these are done, Task 5 runs sequentially: 15 ms. The total time is 10 ms (Task 1) + 40 ms (longest of parallel tasks) + 15 ms (Task 5) = 65 ms. (D) is the total sequential time.
- When designing a solution that uses parallel computing, why might the performance not increase proportionally with the addition of more processors?
Answer: The solution's efficiency is limited by the portion of the program that cannot be parallelized.
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?
Answer: A model where a program is broken into smaller operations, some of which are performed simultaneously by multiple processors.
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.
- If this program is run on a parallel system with 5 processors, what is the minimum total execution time?
Answer: 30 minutes
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.
- 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?
Answer: Communication and synchronization overhead can constrain parallel speedup as processors increase.
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.
- 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?
Answer: Multiple networked nodes store read subsets, exchange messages, and continue if one node fails.
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?
Answer: Sequential computing
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.
- A computing solution scales effectively. Which of the following statements best describes this characteristic?
Answer: The solution's performance improves as more computational resources, like processors, are added.
Scalability in the context of parallel and distributed computing refers to the system's ability to handle increasing workloads by adding more resources. An effective parallel solution will see its performance increase as more processors are added. (A) refers to correctness. (C) refers to fault tolerance. (D) refers to code readability and maintainability.
- Which of the following is a significant challenge that arises in parallel and distributed computing but is NOT typically a concern in sequential computing?
Answer: Coordinating and synchronizing the results from different processors or machines.
In parallel and distributed systems, different parts of the computation run simultaneously. This introduces the complexity of coordinating these parts, ensuring they have the data they need at the right time, and combining their results correctly. This synchronization and communication overhead is not an issue in sequential computing, where everything happens in a single, ordered thread of execution. (A), (B), and (D) are concerns in all types of programming, including sequential.
- Refer to the text: in genome sequencing, distributed nodes communicate via network messages, unlike tightly coupled parallel processors. What is a key difference between parallel and distributed computing?
Answer: Distributed systems usually require message passing, while parallel systems often use shared memory or fast links.
This question tests understanding of communication differences between parallel and distributed computing architectures. Parallel computing typically uses shared memory or fast interconnects for processor communication within a single system, while distributed computing relies on network message passing between separate nodes. In this passage, genome sequencing explicitly contrasts distributed nodes communicating via network messages with tightly coupled parallel processors. Choice A is correct because it accurately identifies this key distinction—distributed systems require message passing while parallel systems often use shared memory or fast links. Choice C is incorrect because it makes false claims about communication methods—parallel systems don't exclusively use public internet, and distributed systems must communicate to function. To help students: Create comparison charts showing communication methods for each architecture. Emphasize that communication method follows from physical architecture—close processors can share memory, distant nodes cannot. Watch for: oversimplification of communication patterns or absolute statements about what each system can or cannot do.
- Which of the following is a primary difference between parallel and distributed computing?
Answer: In parallel computing, processors often share memory, while in distributed computing, machines have their own private memory and communicate over a network.
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.
- Which of the following scenarios is LEAST likely to benefit from a parallel or distributed computing approach?
Answer: Calculating the final grade for a student, which requires computing the weighted average of a series of assignments in a specific order.
Calculating a final grade is a fundamentally sequential process. Each step depends on the previous one (e.g., sum scores, then divide, then apply weighting). This task cannot be easily broken down into independent parts to be run simultaneously. The other scenarios (A, C, D) all describe problems that are easily divisible into independent sub-tasks, making them ideal for parallel or distributed computing.
- Assuming no overhead from parallelization, what is the execution time of the parallel system?
Answer: 10 seconds
If the sequential system takes 100 seconds for 10 equal tasks, each task takes 100 / 10 = 10 seconds. Since there are 10 processors and 10 independent tasks, each processor can take one task. All tasks will run simultaneously and finish in 10 seconds. The total time for the parallel system is the time it takes for the longest task to complete, which is 10 seconds.
- 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?
Answer: Distributed computing, because multiple independent devices are being used to run parts of the same program.
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 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?
Answer: The program contains a sequential portion that cannot be parallelized, limiting the overall speedup.
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.
- If the program is run using a parallel solution with four processors, what will be the total execution time?
Answer: 30 seconds
The total time for a parallel solution is the time for its sequential tasks plus the time for the longest of its parallel tasks. The sequential portion is 10 seconds. The parallelizable task takes 80 seconds on one processor, so with four processors, it will take 80 / 4 = 20 seconds. The total time is 10 seconds (sequential) + 20 seconds (parallel) = 30 seconds. (A) ignores the sequential part. (B) is the total sequential time (90s) divided by 4. (D) is the total sequential time.
- 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?
Answer: By duplicating data and reassigning tasks when a node becomes unavailable.
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?
Answer: Parallel relies on local processor coordination; distributed relies on message-based network communication.
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?
Answer: By dividing read batches into concurrent tasks executed by multiple processors.
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.