Parallel and Distributed Computing - AP Computer Science Principles

  1. What does scalability mean in parallel computing?
    Ability to handle increasing workloads by adding resources. System grows efficiently as demand increases without performance loss.
  2. What is a grid computing system?
    Network of computers working together to perform large tasks. Geographically distributed computers share computational workload efficiently.
  3. What is the purpose of a hypervisor?
    Software that creates and manages virtual machines. Enables multiple operating systems to run on single physical machine.
  4. What is a multicore processor?
    A single computing component with two or more independent cores. Multiple processing units on single chip enable parallel execution.
  5. What is Amdahl's Law?
    Defines speedup limits in parallel computing with fixed workload. Sequential portions limit maximum achievable speedup from parallelization.
  6. What does 'heterogeneous computing' refer to?
    Use of different types of processors for computing tasks. Combines CPUs, GPUs, and specialized processors for optimal performance.
  7. What is a peer-to-peer network?
    Network where each node can act as both client and server. Decentralized architecture eliminates need for central server coordination.
  8. What is fault tolerance in distributed systems?
    Ability to continue operation despite failures. System maintains functionality when individual components fail.
  9. What is Moore's Law?
    Observation that transistor counts double approximately every two years. Predicts exponential growth in computing power over time.
  10. Define 'elasticity' in cloud computing.
    Ability to scale resources up or down as needed. Resources automatically adjust to match current demand levels.
  11. What is a deadlock in computing?
    Situation where processes are unable to proceed due to resource contention. Circular dependency prevents any process from making progress.
  12. What is load sharing in distributed systems?
    Distributing tasks across multiple systems to balance workload. Prevents system overload by distributing work among available resources.
  13. What is a cluster in computing?
    A set of connected computers working as a single system. Multiple machines function together as unified computational resource.
  14. What is data parallelism?
    Same operation performed on different pieces of data. Multiple processors process different data sets using identical instructions.
  15. What is a node in distributed computing?
    A single device in a distributed system. Individual computer or device participating in the distributed network.
  16. Identify one use case for distributed computing.
    Cloud computing services. Remote servers provide scalable computing resources on demand.
  17. What is a virtual machine?
    Software-based emulation of a hardware computer. Isolated environment runs operating system independently on shared hardware.
  18. What is task parallelism?
    Different tasks execute simultaneously across processors. Each processor handles distinct operations for maximum efficiency.
  19. What is concurrency in computing?
    Multiple computations are executed during overlapping time periods. Tasks progress simultaneously but may not execute at identical moments.
  20. What is a homogeneous computing environment?
    Computing environment where all processors are of the same type. All processors share identical architecture and instruction sets.
  21. What is a distributed database?
    Database in which data is stored across multiple locations. Information spans multiple sites for redundancy and accessibility.
  22. What is cloud computing?
    Delivery of computing services over the internet. On-demand access to shared computing resources via internet connectivity.
  23. What is the 'speedup' formula in parallel computing?
    S=TsTpS = \frac{T_s}{T_p}, where TsT_s is serial time, TpT_p is parallel time. Measures performance improvement from using multiple processors.
  24. What is parallel computing?
    Simultaneous use of multiple processors to solve problems faster. Divides tasks across multiple CPUs for faster execution.
  25. What is message passing in distributed systems?
    Communication method between processes via messages. Processes exchange information without sharing memory directly.
  26. Identify one disadvantage of parallel computing.
    Increased complexity in programming. Coordinating multiple processors requires sophisticated programming techniques.
  27. What does the term 'throughput' mean?
    Amount of work performed by a system in a given time period. Measures data processed or tasks completed per unit time.
  28. What is a bottleneck in computing?
    A point of congestion that limits performance. Slowest component determines overall system performance speed.
  29. Identify the main challenge of distributed computing.
    Coordination and communication between nodes. Managing communication delays and ensuring data consistency across nodes.
  30. What is distributed computing?
    Computing using multiple networked computers to complete tasks. Spreads computation across separate machines connected via network.
  31. What is a race condition?
    Flawed execution outcome due to unsynchronized data access. Multiple processes competing for resources produce unpredictable results.
  32. What is synchronization in computing?
    Coordination of events to operate in unison. Ensures processes execute in correct order for consistent results.
  33. What is the purpose of a task scheduler?
    To allocate resources to tasks in a computing environment. Determines execution order and resource allocation for optimal performance.
  34. What is load balancing in parallel computing?
    Even distribution of work across processors to optimize performance. Prevents any single processor from being overwhelmed while others idle.
  35. What is a supercomputer?
    Extremely fast computer for complex calculations. Specialized machine designed for high-performance scientific computations.
  36. What is virtualization in computing?
    Creating virtual versions of components like servers or networks. Software layer abstracts physical hardware into logical resources.
  37. Identify the main benefit of parallel computing.
    Increased computational speed. Multiple processors working together complete tasks faster than single processor.
  38. What role does middleware play in distributed systems?
    Software layer that enables communication between components. Abstracts hardware differences to simplify distributed application development.
  39. What does latency refer to in computing?
    Time delay in data processing or communication. Measures time between request initiation and response completion.

Study these flashcards