Parallel and Distributed Computing - AP Computer Science Principles
- What does scalability mean in parallel computing?
- Ability to handle increasing workloads by adding resources. System grows efficiently as demand increases without performance loss.
- What is a grid computing system?
- Network of computers working together to perform large tasks. Geographically distributed computers share computational workload efficiently.
- What is the purpose of a hypervisor?
- Software that creates and manages virtual machines. Enables multiple operating systems to run on single physical machine.
- What is a multicore processor?
- A single computing component with two or more independent cores. Multiple processing units on single chip enable parallel execution.
- What is Amdahl's Law?
- Defines speedup limits in parallel computing with fixed workload. Sequential portions limit maximum achievable speedup from parallelization.
- What does 'heterogeneous computing' refer to?
- Use of different types of processors for computing tasks. Combines CPUs, GPUs, and specialized processors for optimal performance.
- 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.
- What is fault tolerance in distributed systems?
- Ability to continue operation despite failures. System maintains functionality when individual components fail.
- What is Moore's Law?
- Observation that transistor counts double approximately every two years. Predicts exponential growth in computing power over time.
- Define 'elasticity' in cloud computing.
- Ability to scale resources up or down as needed. Resources automatically adjust to match current demand levels.
- 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.
- What is load sharing in distributed systems?
- Distributing tasks across multiple systems to balance workload. Prevents system overload by distributing work among available resources.
- What is a cluster in computing?
- A set of connected computers working as a single system. Multiple machines function together as unified computational resource.
- What is data parallelism?
- Same operation performed on different pieces of data. Multiple processors process different data sets using identical instructions.
- What is a node in distributed computing?
- A single device in a distributed system. Individual computer or device participating in the distributed network.
- Identify one use case for distributed computing.
- Cloud computing services. Remote servers provide scalable computing resources on demand.
- What is a virtual machine?
- Software-based emulation of a hardware computer. Isolated environment runs operating system independently on shared hardware.
- What is task parallelism?
- Different tasks execute simultaneously across processors. Each processor handles distinct operations for maximum efficiency.
- What is concurrency in computing?
- Multiple computations are executed during overlapping time periods. Tasks progress simultaneously but may not execute at identical moments.
- What is a homogeneous computing environment?
- Computing environment where all processors are of the same type. All processors share identical architecture and instruction sets.
- What is a distributed database?
- Database in which data is stored across multiple locations. Information spans multiple sites for redundancy and accessibility.
- What is cloud computing?
- Delivery of computing services over the internet. On-demand access to shared computing resources via internet connectivity.
- What is the 'speedup' formula in parallel computing?
- , where is serial time, is parallel time. Measures performance improvement from using multiple processors.
- What is parallel computing?
- Simultaneous use of multiple processors to solve problems faster. Divides tasks across multiple CPUs for faster execution.
- What is message passing in distributed systems?
- Communication method between processes via messages. Processes exchange information without sharing memory directly.
- Identify one disadvantage of parallel computing.
- Increased complexity in programming. Coordinating multiple processors requires sophisticated programming techniques.
- 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.
- What is a bottleneck in computing?
- A point of congestion that limits performance. Slowest component determines overall system performance speed.
- Identify the main challenge of distributed computing.
- Coordination and communication between nodes. Managing communication delays and ensuring data consistency across nodes.
- What is distributed computing?
- Computing using multiple networked computers to complete tasks. Spreads computation across separate machines connected via network.
- What is a race condition?
- Flawed execution outcome due to unsynchronized data access. Multiple processes competing for resources produce unpredictable results.
- What is synchronization in computing?
- Coordination of events to operate in unison. Ensures processes execute in correct order for consistent results.
- 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.
- 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.
- What is a supercomputer?
- Extremely fast computer for complex calculations. Specialized machine designed for high-performance scientific computations.
- What is virtualization in computing?
- Creating virtual versions of components like servers or networks. Software layer abstracts physical hardware into logical resources.
- Identify the main benefit of parallel computing.
- Increased computational speed. Multiple processors working together complete tasks faster than single processor.
- What role does middleware play in distributed systems?
- Software layer that enables communication between components. Abstracts hardware differences to simplify distributed application development.
- What does latency refer to in computing?
- Time delay in data processing or communication. Measures time between request initiation and response completion.