1. What is the main goal of parallel algorithms in distributed computing?
(A) Minimizing communication overhead
(B) Ignoring computational efficiency
(C) Maximizing sequential processing
(D) Reducing hardware diversity
2. Which type of parallelism involves breaking down a large task into smaller independent subtasks?
(A) Task parallelism
(B) Data parallelism
(C) Instruction parallelism
(D) Pipeline parallelism
3. What does Amdahl’s Law quantify in parallel computing?
(A) Communication overhead
(B) Speedup achievable by parallel processing
(C) Hardware diversity
(D) Sequential processing efficiency
4. In distributed computing, what is the purpose of the MapReduce algorithm?
(A) Load balancing
(B) Fault tolerance
(C) Task parallelism
(D) Data parallelism
5. Which algorithmic design approach focuses on minimizing the need for communication between distributed nodes?
(A) Divide and conquer
(B) Greedy algorithms
(C) Message passing
(D) Bulk synchronous parallelism
6. What is the primary advantage of using randomized algorithms in parallel computing?
(A) Deterministic behavior
(B) Improved fault tolerance
(C) Simplicity of implementation
(D) Load balancing
7. In parallel sorting algorithms, what is a common approach to achieve parallelism?
(A) Bubble sort
(B) Merge sort
(C) QuickSort
(D) Bucket sort
8. Which algorithm is commonly used for solving problems in the P-complete complexity class in parallel computing?
(A) Dijkstra’s algorithm
(B) Bellman-Ford algorithm
(C) Floyd-Warshall algorithm
(D) Traveling Salesman Problem (TSP)
9. In parallel graph algorithms, what does the “graph coloring” technique aim to achieve?
(A) Minimize communication overhead
(B) Optimize load balancing
(C) Identify connected components
(D) Assign colors to vertices with common neighbors
10. Which parallel algorithm is commonly used for solving linear systems of equations?
(A) Jacobi method
(B) Gauss-Seidel method
(C) Conjugate Gradient method
(D) Newton-Raphson method
11. What is the primary focus of the Bulk Synchronous Parallel (BSP) model in algorithm design?
(A) Minimizing task parallelism
(B) Simplifying communication patterns
(C) Ignoring fault tolerance
(D) Sequential processing efficiency
12. Which algorithmic paradigm is commonly used for solving problems that can be divided into subproblems of the same type?
(A) Divide and conquer
(B) Dynamic programming
(C) Greedy algorithms
(D) Backtracking
13. In distributed hash tables (DHTs), what is the primary purpose of the Chord algorithm?
(A) Load balancing
(B) Fault tolerance
(C) Data parallelism
(D) Task parallelism
14. What does the term “embarrassingly parallel” refer to in the context of parallel algorithms?
(A) Problems that are inherently sequential
(B) Problems with high communication overhead
(C) Problems that can be easily divided into independent tasks
(D) Problems that are computationally complex
15. In parallel algorithm design, what is the primary concern addressed by the work-stealing technique?
(A) Load balancing
(B) Fault tolerance
(C) Task parallelism
(D) Data parallelism
16. Which algorithmic approach is suitable for solving problems with optimal substructure and overlapping subproblems?
(A) Divide and conquer
(B) Greedy algorithms
(C) Dynamic programming
(D) Backtracking
17. What is the primary advantage of using parallel prefix algorithms (scan) in parallel computing?
(A) Minimizing communication overhead
(B) Achieving data parallelism
(C) Optimizing load balancing
(D) Reducing sequential processing
18. In parallel computing, what does the term “superstep” refer to in the context of the Bulk Synchronous Parallel (BSP) model?
(A) Communication phase
(B) Synchronization point
(C) Task parallelism
(D) Data parallelism
19. Which parallel algorithm is commonly used for solving problems in the PSPACE complexity class?
(A) Monte Carlo method
(B) Quicksort
(C) Breadth-First Search (BFS)
(D) Polynomial hierarchy
20. In parallel computing, what is the purpose of the Butterfly Network in the context of interconnection networks?
(A) Achieving data parallelism
(B) Minimizing communication overhead
(C) Optimizing load balancing
(D) Task parallelism
21. Which algorithmic technique is commonly used for solving optimization problems by iteratively improving candidate solutions?
(A) Divide and conquer
(B) Greedy algorithms
(C) Dynamic programming
(D) Local search algorithms
22. In parallel computing, what does the term “granularity” refer to in the context of parallel algorithms?
(A) Task size
(B) Communication overhead
(C) Load balancing
(D) Data parallelism
23. Which algorithm is commonly used for finding the strongly connected components in a directed graph?
(A) Dijkstra’s algorithm
(B) Bellman-Ford algorithm
(C) Kosaraju’s algorithm
(D) Prim’s algorithm
24. What is the primary objective of the Hadoop Distributed File System (HDFS) in distributed computing?
(A) Minimizing communication overhead
(B) Optimizing load balancing
(C) Achieving fault tolerance
(D) Reducing hardware diversity
25. In parallel computing, what does the term “blocking” refer to in the context of communication patterns?
(A) Minimizing communication overhead
(B) Optimizing load balancing
(C) Task parallelism
(D) Data parallelism
26. Which algorithmic approach is commonly used for solving problems by recursively breaking them into smaller instances?
(A) Divide and conquer
(B) Greedy algorithms
(C) Dynamic programming
(D) Backtracking
27. What is the primary purpose of the Parallel Prefix Sum algorithm (Scan) in parallel computing?
(A) Achieving data parallelism
(B) Optimizing load balancing
(C) Minimizing communication overhead
(D) Reducing sequential processing
28. In parallel computing, what does the term “speedup” represent?
(A) The reduction in communication overhead
(B) The improvement in sequential processing efficiency
(C) The increase in computational resources
(D) The ratio of the time taken on a single processor to the time taken on multiple processors
29. Which algorithmic approach focuses on making locally optimal choices at each stage with the hope of finding a global optimum?
(A) Divide and conquer
(B) Greedy algorithms
(C) Dynamic programming
(D) Local search algorithms
30. What is the primary purpose of the Breadth-First Search (BFS) algorithm in parallel computing?
(A) Achieving data parallelism
(B) Minimizing communication overhead
(C) Optimizing load balancing
(D) Task parallelism