1/383
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Define a networked computer system.
Multiple computers linked by a communication network; they need not provide a single integrated service.
Define a distributed system (textbook emphasis).
A networked system with processes and resources sufficiently spread across computers to meet its goals.
Define a decentralized system (textbook emphasis).
A networked system where processes and resources must be spread across computers, e.g., because of ownership or location.
Why isn't decentralization automatically desirable?
It adds coordination, failure handling, and management complexity; distribute only as necessary.
What's the integrative view of networking?
Connect previously independent systems or services, often across organizational boundaries.
What's the expansive view of networking?
Extend an existing service across machines for capacity, location, or dependability.
What distinguishes distributed multicomputers from shared-memory multiprocessors?
Multicomputers have separate memories and clocks; they communicate over a network and can fail independently.
Two fundamental absences in distributed systems?
Shared memory and a perfect global clock.
What is a partial failure?
One node, process, or link fails while other parts continue functioning.
Why can distributed systems have hidden dependencies?
A service may rely on remote processes, network links, data replicas, or middleware outside the user's view.
List the four prominent design goals taught in class.
Resource sharing, transparency, openness, scalability.
Why share remote resources?
Efficiency and collaboration: common storage, databases, services, and devices are easier to use jointly.
What is distribution transparency?
Hiding selected aspects of distribution from users or applications.
Why is complete transparency impossible or undesirable?
Networks incur latency and ambiguous failures; masking distribution has cost and may obscure helpful information.
What is access transparency?
Hide differences in how a resource is accessed or represented locally versus remotely.
What is location transparency?
Hide where a resource or service is physically located.
What is migration transparency?
Hide that a resource or component may move to another host.
What is relocation transparency?
Hide movement of a resource while that resource is in use.
Migration vs relocation transparency?
Relocation adds the requirement that movement be hidden during active use.
What is replication transparency?
Hide the existence of multiple copies from clients.
What is concurrency transparency?
Hide interference caused by simultaneous independent clients accessing shared resources.
What is failure transparency?
Hide component failures and recovery insofar as feasible.
Is financial transparency one of the textbook's distribution transparencies?
No; access, location, migration, relocation, replication, concurrency, and failure are covered.
What is an open distributed system?
A system with defined interfaces and standards allowing components from different implementations to cooperate.
What is interoperability?
Different systems or implementations can communicate and work together.
What is portability?
Software can be moved to another platform with little change.
What is extensibility?
A system can be expanded or modified without rebuilding everything.
Name three scalability dimensions.
Size, geographic, and administrative.
What is size scalability?
Handling growth in users, requests, nodes, or data volume.
What is geographic scalability?
Maintaining useful behavior across greater geographic distances and latency.
What is administrative scalability?
Operating across distinct organizations with different ownership, trust, and policies.
Why can moving from a LAN to a WAN be difficult?
Latency, unreliable paths, and loss of convenient local broadcast undermine synchronous assumptions.
What is partitioning (data distribution)?
Splitting data or computation so different machines own different portions.
What is replication (data distribution)?
Maintaining copies of the same data/service on multiple machines.
What is caching?
Keeping frequently used data close to consumers to reduce access time and origin load.
What is the main problem introduced by replication and caching?
Consistency: one copy may be updated before others.
Partitioning vs replication?
Partitioning splits responsibility across machines; replication duplicates information across machines.
Cache vs authoritative database?
A cache accelerates reads, but may be stale; authoritative state determines correctness-critical decisions.
Why place CDN servers near users?
To reduce network distance, latency, and origin traffic.
What is a CDN?
A content delivery network that places cached or replicated content at distributed serving locations.
What is Metcalfe's Law as taught in lecture?
A heuristic that network value scales roughly with the square of connected users, proportional to n squared.
What is Moore's Law?
A historical observation that transistor counts tended to double roughly every two years, not a guarantee.
Why use multiple cores and machines?
Single-core clock-speed gains are limited; parallelism can increase throughput and capacity.
What is a computational cluster?
A collection of machines jointly handling computing tasks, typically under coordinated management.
What is grid computing?
Federated resource sharing across distinct systems or administrative domains, often for scientific computing.
What is cloud computing broadly?
On-demand access to network-hosted computing, storage, platforms, or applications.
What are distributed information systems?
Distributed applications integrating data and transactions across services and databases.
What are pervasive distributed systems?
Computing embedded in mobile, sensor, and ambient environments, often without a traditional administrator.
Why is mobility a motivation?
People and devices must access services while moving between networks/locations.
What is delegated operation?
Outsourcing specialized functionality, hosting, storage, or management to other services.
Why is incremental growth attractive?
Capacity can be added in smaller units instead of replacing one monolithic machine.
Availability vs reliability (textbook's precise distinction)?
Availability: ready at a given instant. Reliability: uninterrupted correct operation over a time interval.
What is safety in a dependable system?
A temporary failure must not cause catastrophic harm.
What is maintainability?
Ease and speed of restoring a system after failure.
What is MTTF?
Mean time to failure: average operation time before failure.
What is MTTR?
Mean time to repair: average time needed to recover.
What is MTBF in the textbook?
Mean time between failures = MTTF + MTTR.
Steady-state availability from MTTF and MTTR?
MTTF / (MTTF + MTTR), under the usual repair-cycle model.
Fault vs error vs failure?
Fault causes an erroneous state; an error can lead to externally incorrect service, a failure.
What is fault tolerance?
Continuing to provide an acceptable service even when some faults occur.
What is a transient fault?
A one-time fault that disappears, e.g., a brief wireless disturbance.
What is an intermittent fault?
A fault that disappears and reappears unpredictably.
What is a permanent fault?
A fault that remains until the underlying cause is fixed or removed.
What is fail-stop behavior?
A component ceases operation in a model where its failure can be reliably detected.
What is a halt/crash failure?
A component stops responding without necessarily notifying anyone.
What is a fail-restart failure?
A component stops then resumes and may have stale state.
What is an omission failure?
A process or channel fails to send or deliver a required message.
What is a timing failure?
An operation or message does not complete within the expected time bounds.
What is a network partition?
Nodes remain running but disconnected into groups that cannot communicate.
What is a Byzantine failure?
A component behaves arbitrarily or gives incorrect, potentially contradictory information.
What can cause Byzantine behavior?
Software faults, hardware errors, bad data, or adversarial interference.
Does a timeout prove failure?
No; a slow server or delayed/blocked network path can also cause a timeout.
Why is failure detection inherently uncertain?
A crashed machine and an arbitrarily delayed response can be observationally indistinguishable.
What is redundancy for high availability?
Maintaining extra components so service continues when some fail.
Two independent replicas have 5% failure probability each; chance both fail?
0.05 times 0.05 = 0.0025 = 0.25%, if independent.
Why does independence matter in availability calculations?
Shared power, software, or network faults can fail replicas together, invalidating simple multiplication.
What if a service needs every replica to be available?
Adding required components creates more ways for the service to become unavailable.
What is no-global-knowledge?
Each node knows local state and delayed reports, not a perfect simultaneous global snapshot.
Why is global clock agreement difficult?
Clocks drift and messages arrive after unpredictable delays.
Why are distributed systems hard to test and debug?
Nondeterministic timing, partial failures, concurrent events, multiple hosts, and changing environments.
What is confidentiality?
Information is disclosed only to authorized parties.
What is integrity?
Information is modified only in authorized ways.
What is authentication?
Verifying a claimed identity.
What is authorization?
Deciding which actions an identified principal is allowed to perform.
Authentication vs authorization?
Authentication establishes identity; authorization establishes permitted actions.
What is a replay attack?
An adversary repeats an earlier legitimate message to cause an unwanted repeated effect.
What lesson does the Knight Capital case teach?
Inconsistent deployment/configuration across servers can have system-wide consequences.
Name the eight fallacies of distributed computing.
The network is reliable, secure, homogeneous, static; latency and transport cost are zero; bandwidth infinite; one administrator.
Why is assuming zero latency dangerous?
A design can make too many blocking calls across a comparatively slow network.
Why is assuming infinite bandwidth dangerous?
Replicating or moving too much data overwhelms links and increases costs.
Why is assuming one administrator dangerous?
Different organizations may enforce different policies, control, and access rights.
Why is assuming the topology never changes dangerous?
Nodes join, leave, move, crash, and get replaced.
Software architecture vs system architecture?
Software architecture describes logical components and interactions; system architecture describes physical placement.
What is an architectural style?
Rules governing components, connectors, exchanged data, and organization of a system.
What is a software component?
A modular unit with defined required and provided interfaces.
Why are stable interfaces valuable?
You can replace or upgrade implementations without breaking dependent components.
What is a layered architecture?
A stack of abstractions in which each layer offers services to layers above it.
What is pure layering?
Each layer calls only an adjacent lower layer through its interface.
What is mixed layering?
A higher layer may use multiple lower layers or bypass intermediate layers.
What is an upcall?
A lower layer notifies or invokes a higher layer, usually by callback/event.