NETWORK EMBEDDED SYSTEMS
- 1. Introduction
Nikolas Wageneder
1. Introduction Nikolas Wageneder O VERVIEW 18.04.2007 - - PowerPoint PPT Presentation
N ETWORK E MBEDDED S YSTEMS 1. Introduction Nikolas Wageneder O VERVIEW 18.04.2007 Preliminaries Distributed Computation Processes Communication Timing Assumptions Time 2 P RELIMINARIES 18.04.2007 Main abstractions
Nikolas Wageneder
Preliminaries Distributed Computation Processes Communication Timing Assumptions Time
18.04.2007
2
Processes Communication links Failure detector
18.04.2007
3
Process performs computations in a distributed system N uniquely processes p1, …, pN Processes know each other Every process runs the same algorithm Communication by uniquely identified messages
18.04.2007
4
Distributed algorithm viewed as automata Execution is a sequence of steps executed by a process partial / infinite execution Global clock is assumed One step per clock tick
Receive event Execution Send event Process internal communication is not relevant
18.04.2007
5
May be nil
Communication step Sending a message to another process Receiving of the message Deterministic Algorithms assumed
18.04.2007
6
Safety Property that can be violated at some time t and never again
„algorithm never does anything wrong“ Example: perfect links Liveness „eventually something good happens“ Meaningful perfect links -> message sent will eventually
Liveness violated if message will not arrive within infinite
18.04.2007
7
Most general fault behaviour „Worst Case“ – most expensive to handle Only acceptable option in distributed systems Must not be malicious or intentional - simple bug enough
Process does not send or receive messages
Buffer overflow or network congestion
Messages are dropped
18.04.2007
8
Kind of omission fault Process works correctly until time t Faulty processes crash
No more messages sent No more computations Crashed processes may recover and participate in
In future crash-stop is assumed
18.04.2007
9
Crash recovery abstraction Process may crash and recover a finite number of times and
Process stops sending messages Omission fault Possible amnesia
18.04.2007
10
Goal of algorithm is to minimize access to stable storage
18.04.2007
11
One module of a process sends a message or a decision to an
After recovery the module cannot determine if the upper
18.04.2007
12
Link abstraction for network components Every two processes are connected by bidirectional links Different topologies possible
Fully connected mesh Bus Ring Mesh of links with routers and bridges (i.e. Internet)
Exchanged messages are uniquely identified and every
When request-reply messaging – process knows which
18.04.2007
13
Fair-loss links Stubborn links Perfect links
Send deliver (more general than receive)
18.04.2007
14
18.04.2007
15
18.04.2007
16
18.04.2007
17
Algorithm Eliminate Duplicates
Implements perfect link over stubborn link Keeps record over all messages delivered in the past When a message is received it is only delivered if it is not a duplicate
Correctness: If m is sent between non crashing processes based on the underlying stubborn delivery property, m is eventually delivered no duplication follows from the test performed by the algorithm no creation follows from the stubborn link Performance No duplicates improver performance though storing all ever sent messages is not possible improvement by sending “stop” messages they may not receive the sending process in time violation of no creation property additional mechanisms (timestamps) necessary
18.04.2007
18
Perfect links & eliminate duplicates not suitable for crash-
Delivered variable would be lost in case of crashing Here the message is stored in a local log which can be read from an
upper layer module in case of crashing
Delivering here is the act of logging
18.04.2007
19
Many optimizations can be achieved if the network topology
Resources are limited, sender must be aware of receivers
Not all processes run on the same hardware. Most demanding tasks should be assigned to the most
18.04.2007
20
Not making any timing assumptions Logical time as incrementing counter in async. Systems Cause-effect relations can be captured Resulting in the “happened-before” relation e1 e2 t(e1) < t(e2) can be shown Consensus not possible
18.04.2007
21
1.
2.
3.
18.04.2007
22
Timed failure detection
Detection of crashed processes within bounded time
Measure of transit delays
Coordination based on time
Worst-case performance
Synchronised clocks
18.04.2007
23
Overloaded network Shortage of memory Buffer overflows (incoming messages) lost messages
18.04.2007
24
Accuracy Completeness
18.04.2007
25
18.04.2007
26
18.04.2007
27
18.04.2007
28
18.04.2007
29
18.04.2007
30
18.04.2007
31
18.04.2007
32