Distributed Systems

studied byStudied by 0 people
0.0(0)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions

1 / 105

encourage image

There's no tags or description

Looks like no one added any tags here yet for you.

106 Terms

1

Distributed System, independent, coherent

A collection of -- computers (nodes) that appear to users as a single -- system.

New cards
2
Middleware, intermediary, complexities
Software that acts as an -- between different software applications, enabling them to work together seamlessly. It hides the -- of the underlying infrastructure and provides a consistent interface for applications.
New cards
3
Client-server systems, central
Networked computers interacting with a -- server.
New cards
4
Peer-to-peer networks, distributed
Workloads -- among many computers running the same software.
New cards
5

Cell phone networks, switching, internet

Workload shared across headsets, -- systems, and internet devices.

New cards
6

Heterogeneity, openness, security, scalability, fault tolerance, concurrency, transparency

Challenges in distributed systems (7), H—, O—, S—, S—, F— T—, C—, T—

New cards
7
Heterogeneity, networks, languages
Variations in --, hardware, OS, programming --.
New cards
8
Openness, extended, uniform
System's ability to be -- or reimplemented, with documented interfaces and -- communication.
New cards
9
Security, confidentiality, integrity, availability
Protecting communication between devices, including --, --, and --.
New cards
10
Scalability, effectiveness, increase
The system's -- when resources and users --.
New cards
11
Fault Tolerance, reliability
System -- despite faults.
New cards
12
Concurrency, shared, simultaneously
Multiple clients accessing -- resources --.
New cards
13

Transparency, complexity

Hiding system — from users.

New cards
14

Access, location, concurrency, replication, failure, mobility, performance, scaling

Types of transparency (8): A—, L—, C—, R—, F—, M—, P—, S—

New cards
15
Physical, architectural, fundamental
System Models(3)
New cards
16
Physical
Represents hardware elements.
New cards
17
Architectural
Overall design and structure.
New cards
18
Fundamental
Conceptual framework.
New cards
19
Crash-stop, crash-recovery, byzantine
Node failure models(3)
New cards
20
Crash-stop
Node fails and stops responding.
New cards
21
Crash-recovery
Node crashes and recovers.
New cards
22
Byzantine
Node exhibits arbitrary, malicious behavior.
New cards
23

Synchronous, asynchronous, partially synchronous, bounded asynchrony

Timing and synchrony assumptions(4)

New cards
24

Synchronous

Upper bound on processing time for nodes

New cards
25

Asynchronous

Arbitrary delivery times

New cards
26

Partially synchronous

Unpredictable transitions between synchronous and asynchronous periods

New cards
27
Bounded asynchrony
Known upper bound on message delivery.
New cards
28
Reliable, fair-loss, arbitrary links
Network failure models(3).
New cards
29

Caching, frequently, slower

Using faster storage for -- accessed data from — memory.

New cards
30
Temporal, spatial
Locality of reference types(2)
New cards
31
Temporal locality
Recently accessed data likely to be accessed again.
New cards
32
Spatial locality
Data near recently accessed locations likely to be accessed soon.
New cards
33
Cache hit
Data found in the cache.
New cards
34
Cache miss
Data not found in the cache.
New cards
35
Least Recently Used, FIFO, Belady's algorithm
Cache replacement policies(3)
New cards
36
Server-side caching
Storing web files on a server for later use.
New cards
37
Content Delivery Networks (CDNs)
Servers that speed up delivery of web content.
New cards
38

Eavesdropping, tampering, masquerading, replaying, non-repudiation

Security threats(5): E—, T—, M—, R—, N—

New cards
39

Encryption, authentication, digital signatures, authorization, auditing

Security measures(5): E—, A—, D— S—, A—, A—

New cards
40
Cryptography, plaintext, ciphertext
Securing communication by converting -- into --.
New cards
41
Symmetric key cryptography
Uses a single key for encryption/decryption.
New cards
42
Asymmetric key cryptography
Uses a pair of keys (public and private).
New cards
43
Churn, network divergence, selfish users
P2P system challenges (3)
New cards
44

Decentralized, retrieval, replication, consistency

P2P data management (4): — storage, data —, —, and — management

New cards
45
Distributed Hash Tables, routing, peers
Structured -- algorithms for mapping keys to --.
New cards
46
Chord, lookup, keys
A distributed -- protocol that maps -- onto nodes.
New cards
47
Cloud Computing, remote internet
Storing and accessing data on -- -- servers.
New cards
48
Distributed Ledgers (Blockchain), cryptographic
A growing list of records (blocks) linked by -- hashes.
New cards
49
Decentralization and tamper-resistance
Blockchain goals(2)
New cards
50
Public key cryptography
Uses public and private keys.
New cards
51
Cryptographic hash functions
Produces a fixed-size string of characters (hash value).
New cards
52
Bitcoin
The first decentralized currency.
New cards
53
Proof-of-Work (PoW), computational
Miners compete to solve a -- puzzle.
New cards
54
Remote Method Invocation (RMI), invoke
Allows an object to -- methods on a remote object.
New cards
55
Remote Procedure Call (RPC), Interface Definition Language
A program requests a service from another program on a different computer. Uses -- -- -- to define interfaces.
New cards
56
HTTP/REST, architectural
An -- style for creating web services.
New cards
57
GET, POST, PUT, PATCH, and DELETE
HTTP methods.
New cards
58
Paxos, proposers, acceptors, learners
A consensus protocol to ensure all nodes agree on a single value. Uses --, --, and --.
New cards
59
Raft, leader-based
A -- -- consensus protocol based on PAXOS. Simplified compared to PAXOS.
New cards
60
Practical Byzantine Fault Tolerance
for reaching agreement despite malicious nodes.
New cards
61
Indirect Communication
Communication via an intermediary.
New cards
62
Group communication, publish-subscribe systems, message queues shared memory, tuple spaces
Indirect communication paradigms (5)
New cards
63
Publish-subscribe systems
publishers publish events, subscribers express interest.
New cards
64
Message queues
point-to-point communication using queues.
New cards
65
Shared memory
abstracts shared memory in distributed systems.
New cards
66
Tuple spaces
semi-structured shared spaces with tuples.
New cards
67
Group Communication
Multiple nodes communicate as a group.
New cards
68
Unicast, multicast, broadcast
Types of group communication (3)
New cards
69
Active replication
Multiple copies of a server handling requests independently.
New cards
70
Best effort, reliable, and atomic multicast
Group communication reliability guarantees (3)
New cards
71
Failure
inability of a system to perform its required function.
New cards
72
Error
transition to an invalid state.
New cards
73
Fault
cause of an error.
New cards
74
Omission, crash, timing, Byzantine
Types of failures(4)
New cards
75
Availability
readiness of a service.
New cards
76
Reliability
continuity of correct service.
New cards
77
Graceful degradation
ability to maintain limited function during failure.
New cards
78
Passive replication
Uses a primary replica.
New cards
79

Unordered, global time, FIFO, casual, total ordering

Message ordering(5): U—, G— T—, F—, C—, T— O—

New cards
80
Chubby, synchronisation, ephemeral
A distributed lock service for -- and coordination, uses -- nodes for temporary locks.
New cards
81
BigTable, NoSQL, Google, Chubby, SSTable
A -- database service using a wide-column key-value store, uses -- File System, -- lock service and --.
New cards
82
Google File System (GFS), consistency, chunk servers
Single meta-data copy, reduced -- model, uses a master node and -- --.
New cards
83

MapReduce, map, shuffle, reduce

A programming model for processing big data, includes —, —, and —.

New cards
84
Eventual Consistency
Data eventually becomes consistent across replicas.
New cards
85
Vector clocks
Causal ordering with multicast messages uses -- --.
New cards
86
Consistency, Availability, Partition tolerance
CAP theorem
New cards
87
Horizontal scaling
Adding more servers.
New cards
88
Vertical scaling
Increasing a single server's power.
New cards
89
Load balancing
Distributes requests across servers.
New cards
90
Partitioning
Breaking data across servers.
New cards
91
Replication
Making copies of data on multiple servers.
New cards
92
Software Containment
Encapsulating software and its dependencies.
New cards
93
Virtualization
Enables multiple OSs on a single machine.
New cards
94
Containers
Enables deployment of multiple apps using the same OS.
New cards
95
Docker
Uses Linux OS for lightweight sandbox.
New cards
96
Physical clocks
measure elapsed time, needing synchronisation.
New cards
97
Logical clocks
count events, track order, not time. Examples include
New cards
98
NTP, GPS
-- and -- used for physical clock synchronisation.
New cards
99
Timestamps
used for when events occur.
New cards
100
New cards
robot