Deterministic Networking Lab Part Frömel Deterministic Networking Lab Part Bernhard Frömel Institut für Technische Informatik Technische Universität Wien - 182.730 Deterministic Networking VU SS14 23. 05. 2014 1/34
Deterministic Networking Lab Part Frömel Motivation Emergence Part I Self- Organization E versus SO Emergence and Self-Organization 2/34
Deterministic Fireflies synchronize Networking Lab Part Frömel Motivation Emergence Self- Organization E versus SO 3/34
Deterministic Fireflies synchronize Networking Lab Part We ”understand” them 1 ! Frömel Motivation Emergence Self- Organization E versus SO 1 http://web.eecs.utk.edu/~mclennan/Classes/ 420-594-F07/NetLogo/Firefly.html 4/34
Deterministic Flocking birds Networking Lab Part Frömel Motivation Emergence Self- Organization E versus SO ◮ www.lalena.com/AI/Flock/Flock.aspx ◮ ”Emergent behavior in flocks” [1] 5/34
Deterministic Internet Networking Lab Part Frömel Motivation Emergence Self- Organization E versus SO ◮ World Wide Web: number of links high for few pages, low for most pages 2 ◮ TCP based flows synchronize at network bottle necks, simultaneous inc-/decrease of throughput 2 http://internet-map.net/ 6/34
Deterministic Emergent Phenomena Networking Lab Part Frömel Motivation ◮ No generally accepted definition of emergence Emergence ◮ strong versus weak emergence Self- ◮ show up as a surprise (subjectively perceived properties Organization useful?) ◮ ⇒ open research E versus SO ◮ ’Sensible’ definition: ”Emergence: A phenomenon of a whole at the macro-level is emergent if and only if it is new with respect to the non-relational phenomena of any of its proper parts at the micro-level.” AMADEOS, Conceptual Model 7/34
Deterministic Characteristics of Emergence [2] Networking Lab Part ◮ Emergent properties are: Frömel ◮ Interacting Parts: Parts need to interact, parallelism is not Motivation enough Emergence ◮ Decentralized Control: only local mechanisms are used to influence global behavior Self- ◮ Coherence: logical and consistent correlation of parts at Organization micro-level ⇒ persistent pattern regardless of E versus SO added/removed parts ◮ Micro-Macro effect: effect that comes into existence at macro level (also called emergent) by interaction of parts at the microlevel ◮ Two-Way Link: emergent has causal effect on behavior of parts at micro-level ◮ Radical Novelty: emergent not explicitly defined ◮ Origin: ◮ Non-linear behavior of parts ◮ Feedback/Feedforward mechanisms ◮ Time delays 8/34
Deterministic Self-Organization Networking Lab Part Frömel Motivation ◮ Working definition: Emergence ”Self-Organisation is a dynamical and adaptive Self- process where systems acquire and maintain Organization structure themselves, without external E versus SO control.” [2] ◮ Properties of Self-Organization: ◮ Autonomy: absence of external control ◮ Increase in Order: convergence to confined set in state space ◮ Adaptability/Robustness: convergence robust w.r.t. perturbation and changes 9/34
Deterministic Emergence (E) versus Self-Organization (SO) Networking Lab Part Frömel ◮ Not synonyms! Motivation ◮ Both are dynamic processes arising over time Emergence ◮ E robust w.r.t. entering/leaving parts at micro-level Self- Organization ◮ SO robust w.r.t. changes of input and maintaining increased order E versus SO ◮ One without the other possible (see [2]) ◮ In combination able to structure complex systems by keeping constituent parts simple ◮ Linking E and SO, different viewpoints: ◮ SO causes E: interaction of parts are SO, SO situated at micro-level ◮ SO effect of E: emergents become more organized, SO is a property of E 10/34
Deterministic Networking Lab Part Frömel Clock Sync System Part II Model Protocol Distributed Clock Synchronization 11/34
Deterministic Self-Stabilizing Distributed Clock Synchronization [3] Networking Lab Part Frömel Clock Sync System Model Protocol ◮ Problem: synchronize all local clocks up to precision π ◮ achieve and maintain precision π across all independent local clocks by exchange of messages ◮ no central control ◮ unknown initial conditions (i.e., local clock values arbitrary) ◮ How to do that? 12/34
Deterministic Self-Stabilizing Distributed Clock Synchronization [3] Networking Lab Part Frömel Clock Sync System Model Protocol ◮ Problem: synchronize all local clocks up to precision π ◮ achieve and maintain precision π across all independent local clocks by exchange of messages ◮ no central control ◮ unknown initial conditions (i.e., local clock values arbitrary) ◮ How to do that? ◮ Solution: Emergence + Self-Organization ◮ Execute a protocol locally to achieve desired global effect ◮ Without external control input 12/34
Deterministic Asynchronous Distributed System Model Networking Lab Part Frömel ◮ Nodes (processors) contain local oscillators with bounded Clock Sync drift rate ρ , arbitrary phase System ◮ Local oscillator generates clock ticks that are counted by Model discrete LocalTimer Protocol ◮ Nodes interconnected by directed channels according to topology (strongly connected, no self-loops, no multi-edges) ◮ Source node broadcasts messages to all directly connected destination nodes ◮ Delivery order of messages arbitrary ◮ No-fault assumption: all nodes execute protocol correctly, all communication channels transport messages reliably according to specified parameters 13/34
Deterministic Drift Rate Bound ρ and Relative Drift δ ( t ) Networking Lab Part ◮ Drift of an oscillator is the frequency ratio of that oscillator Frömel and a reference oscillator oscillating perfectly aligned to Clock Sync real-time System ◮ Drift rate is Model | drift osc − 1 | Protocol ◮ Assumption: oscillators have a known bounded drift rate ρ : 0 < ρ << 1 ◮ Maximum drift of fastest LocalTimer (discrete) over a time duration t is: ( 1 + ρ ) t ◮ Maximum drift of slowest LocalTimer : ( 1 + ρ ) − 1 t ◮ Maximum relative drift δ ( t ) : δ ( t ) = (( 1 + ρ ) − ( 1 + ρ ) − 1 ) t . 14/34
Deterministic Communication Delays Networking Lab Part ◮ Communication delay D , bounded: D ≥ 1 Frömel ◮ Network imprecision d , bounded: d ≥ 0 Clock Sync ◮ Communication latency γ : System γ = ( D + d ) . Model Protocol Figure : Event-Response Delay and Network Impression [3] 15/34
Deterministic Protocol Description Networking Lab Part Frömel Clock Sync ◮ System has two states: System ◮ synchronized: all nodes are within precision π Model ◮ unsynchronized: during start-up, dynamic changes of Protocol nodes ◮ Synchronization protocol executed at each node transitions system to synchronized state (convergence) ◮ Synchronization protocol must be repeatedly reexecuted to maintain synchronized state (closure, stability) ◮ Nodes communicate by exchange of Sync messages ◮ Node times-out in case it’s LocalTimer reaches max. value P (resynchronization period), LocalTimer resets 16/34
Deterministic Protocol Execution Networking Lab Part Frömel Clock Sync ◮ Node restarts resynchronization process if System ◮ LocalTimer times-out, or Model ◮ a Sync message is received Protocol ◮ Time-out ⇒ broadcast Sync message ◮ Received Sync message: ⇒ reset LocalTimer and relay Sync message ◮ Eventually all nodes participate in (re)synchronization process ◮ Prevent cascading effects: Ignore temporally close Sync messages following a Sync message (ignore window) 17/34
Deterministic Protocol in Pseudocode Networking Lab Part Frömel Executed each time step: Clock Sync System Model Protocol 18/34
Deterministic Networking Lab Part Frömel TTEthernet Develop- ment Part III Cluster TTEthernet Simulation Lab Environment Tools 19/34
Deterministic Development Environment Networking Lab Part Frömel TTEthernet Develop- ment Cluster TTEthernet Simulation Tools ◮ Gbit/s TTEthernet Development System ◮ Four nodes (x86, Ubuntu 10.04 LTS, 2.6.32), redundant TTEthernet switch setup ◮ Available Demo application showing video&audio streaming (best-effort vs time-triggered) ◮ login: demonstrator / demo26 ◮ don’t update the whole distributions (installing additional software via sudo apt-get install should be safe (in most cases (probably))) ◮ work on ’Video Client 4’ ◮ All TTEthernet Tool DVDs/CDs: ~/Desktop/tte_cds 20/34
Deterministic Building TTEthernet Applications [5] Networking Lab Part Frömel TTEthernet Develop- ment ◮ Define network configuration Cluster ◮ Implement application code TTEthernet ◮ Create the schedule (TTE Demo Scheduler) ⇒ *.xml Simulation Tools ◮ Compile applications ◮ Create device configurations (TTE Build) ⇒ *.hex ◮ Load switches (TTE Load) ◮ Start applications 21/34
Deterministic Building/Changing the Schedule Networking Lab Part Frömel TTEthernet Develop- ment Cluster TTEthernet Simulation ??? Tools 22/34
Recommend
More recommend