Concurrent and distributed systems Flashcards
local vs. global knowledge
tbd
synchronous
upper bound on propagation delay of messages
scalability
- Performance should not be impaired by the size of the system
- good scalability: space and time required is below O(log n) where n = number of processes
– bad scalability: more than O(n)
sharing information between processes
- shared memory
- message passing
axiom
An axiom is a statement that is taken to be true, to serve as a premise or starting point for further reasoning and arguments.
state reading model
(shared memory model)
each process can read the states of its neighbors
link register model
(shared memory model)
each process can read from and write to adjacent registers. The entire local state is not shared
weak vs strong model
e.g. Non-FIFO to FIFO channel
algorithm complexity
- space
- in terms of n, the size of the network
- time
- the max. time (number of steps) needed to complete the execution of the algorithm?
- message
- how many messages exchanged to complete the algorithm?
- problem: msgs may be of arbitrary size
- bit
- how many bits are transmitted when the algorithms runs
a distributed system
a network of processes (abstract view)
Criteria for a system to be ‘distributed’
– multiple processes with independant thread of control
- interprocess communication
- disjoint address space
– common goal, interaction to reach that goal
GOAL OF A DISTRIBUTED SYSTEM
the computers coordinate their activities and share hardware and software and data, so that users perceive it as a single, integrated computing service with a well-defined goal
inter-process communication
- involves various layers of networking
motivation for distributed systems
- geographically distributed environment
- speedup
- resource sharing
- fault tolerance
knowledge of a process
- has only local knowledge!
- e.g. its identity, its state, its neighbors
- algorithms needed to bring “global” knowledge
typical issues in distributed systems
- knowledge of a process
- network topology
- degree of synchronization (local clocks drift)
- failure (crash, omission, byzantine)
- scalability
- good: space & time below O(log n), n=#processes
- bad: more than O(n)
synchronous means
- upper bound on propagation delay of messages exists
- FIFO channels
asynchronous means
- no bound on propagation delay of messages exists
=> disregards time, no ordering of events
common subproblems in distributed systems
- Leader election
- Mutual exclusion
- Time synchronization
- local clocks, consistent time across system
- Global state
- non-trivial: getting all local states at a given time
- Multicasting - broadcasting
- sending a message to several processes
- with efficiency, scalability, reliability
- Replica management
- fault tolerance + system availability: replace a crashed server with an exact replica
two models for communication
- message passing
- shared-memory
shared-memory model
- address spaces of processes overlap
- 2 variations:
- state reading model = each process can read the state of its neighbors
- link register model = each process can read from and write to adjacent registers. The entire local state is not shared
Knowledge-based communication
- relies on making deductions from the absence of a signal or actions
parallel vs distributed
In parallel systems, the primarily issues are:
- speed-up and increased data handling capability
in distributed systems the primary issues are:
- fault-tolerance, synchronization, scalability, etc
guarded action
if G then A
G is called a guard
A is a guarded action that occurs only when condition G holds