RealTime Distributed Algorithms DAVID KOZHAYA ABB CORPORATE RESEARCH
Real-Time Distributed Algorithms — DAVID KOZHAYA ABB CORPORATE RESEARCH SWITZERLAND
— Some ABB Products These are only a tiny part of our product portfolio 9/17/2021 3 david. kozhaya@ch. abb. com
— Importance of Distributed Systems to ABB Distributed Systems Projects at ABB Distributed Control Systems Auxiliary Control Applications ABB Cloud Platform & Analytics Operator stations Fog servers controllers Field devices Smart Cities 9/17/2021 Collaborative Robots 4 david. kozhaya@ch. abb. com ABB Service Smart Contracts
— Distributed Systems Industrial vs. Traditional How are they different? 9/17/2021 5 david. kozhaya@ch. abb. com
— Traditional Distributed Systems Solution approach Distributed Abstractions Abstraction 1 Safety Properties Define problem as an abstraction Distributed Problem Liveness Properties 2 No duplication No creation Agreement 3 Reliable Broadcast Validity 9/17/2021 6 david. kozhaya@ch. abb. com
— Traditional Distributed Systems The modular solution approach Distributed Abstractions 1 No duplication No creation Agreement Define problem as an abstraction Validity 2 Implement abstraction in a system model Reliable Broadcast Abstraction (RB) Algorithms to implement RB in 3 Synchronous 9/17/2021 7 david. kozhaya@ch. abb. com Partially Sync Asynchronous
— Traditional Distributed Systems Solution approach Distributed Abstractions 1 2 3 Define problem as an abstraction Algorithms to implement consensus Implement abstraction in a system model Reliable Broadcast Use abstraction as building block Synchronous Reliable Broadcast Partially Sync Reliable Broadcast Asynchronous Never changing and/or never ending conditions 9/17/2021 8 david. kozhaya@ch. abb. com
— Cyber-physical Systems Differences with Traditional Distributed Systems Smart City: An Example of a Cyber-physical System Differences in Abstractions – Energy Efficiency • Battery operated devices – Real-time behavior • Hard timing deadlines 9/17/2021 9 david. kozhaya@ch. abb. com
— Cyber-physical Systems Differences with Traditional Distributed Systems Smart City: An Example of a Cyber-physical System Difference in System Models fiber powerline wireless – Time varying quality of communication links • Links oscillate between synchrony and asynchrony phases 9/17/2021 10 david. kozhaya@ch. abb. com
— Distributed Systems Industrial vs. Traditional Walking Through an Example 9/17/2021 11 david. kozhaya@ch. abb. com
— Asynchronous Model – Processes: • Synchronous • Some can fail – Communication links: • A link is reliable but asynchronous • No guarantee when message get delivered 9/17/2021 12 david. kozhaya@ch. abb. com
— Broadcast Protocols No duplication: No message is delivered more than once No creation: If a process delivers message m with sender s, then s broadcast m Agreement: if a correct process delivers m, then every correct process delivers m in Validity: If a correct broadcasts m, then every correct process eventually delivers m Reliable Broadcast Abstraction (RB) 9/17/2021 13 david. kozhaya@ch. abb. com Asynchronous System with f<n
— Reliable Broadcast (RB) Algorithm for Partially Synchronous System @ process p delivered={} RB-broadcast (m) RB-deliver (m) p Upon event broadcast(m) ∀s ∈ ∏ : send(p, m) to s; RB-deliver (m) q Upon event deliver(q, m) RB-deliver (m) r if (m ∉ delivered){ RB-deliver(m); delivered=delivered U {m}; RB-deliver (m) if(q!=p){ s ∀s ∈ ∏ : send(p, m) to s; } } 9/17/2021 14 david. kozhaya@ch. abb. com
— New System Model Probabilistically Synchronous – Processes: • Synchronous • Some can fail – Communication links: • During any transmission, a link is reliable and synchronous (timely) with probability p 9/17/2021 15 david. kozhaya@ch. abb. com
— Broadcast Protocols No duplication: No message is delivered more than once No creation: If a process delivers message m with sender s, then s broadcast m Agreement: If a correct process delivers m, then every correct process delivers m Timeliness: If a correct process broadcasts m at time t, then any correct process that delivers m does so by t+ Δr Validity: If a correct broadcasts m, then every correct process eventually delivers m Real-time Reliable Broadcast Abstraction (RTRB) 9/17/2021 16 david. kozhaya@ch. abb. com in Probabilistically Synchronous System + P
— Real-time Reliable Broadcast (RTRB) Algorithm for Probabilistically Synchronous System with P p q Impossible r s 9/17/2021 17 david. kozhaya@ch. abb. com
— Real-time Reliable Broadcast (RTRB) Algorithm for Probabilistically Synchronous System with P For any predefined Δr Timing Failures p q r s 9/17/2021 18 david. kozhaya@ch. abb. com
— Transforming Timing Failures into Process Failures For any predefined Δr p q 1. Detect Timing Failures 2. Force affected process to crash r s 9/17/2021 19 david. kozhaya@ch. abb. com
— Failure Detector TP P 9/17/2021 20 david. kozhaya@ch. abb. com + Every process suffering more than “x” consecutive timing failures eventually crashes
— Broadcast Protocols No duplication: No message is delivered more than once No creation: If a process delivers message m with sender s, then s broadcast m Agreement: If a correct process delivers m, then every correct process delivers m Timeliness: If a correct process broadcasts m at time t, then any correct process that delivers m does so by t+ Δr Validity: If a correct broadcasts m, then every correct process eventually delivers m Real-time Reliable Broadcast Abstraction (RTRB) 9/17/2021 21 david. kozhaya@ch. abb. com in Probabilistically Synchronous System + TP
— Real-time Reliable Broadcast (RTRB) Algorithm for Probabilistically Synchronous System with TP @ process p delivered={}; acks={}; correct = ∏; upon event crash(q) correct = correct - {q}; Upon event broadcast(m) while (acks!=correct){ RB-broadcast (m) RB-deliver (m) p ∀s ∈ correct : send(p, m) to s; RB-deliver (m) } Upon event deliver(q, m) from sender a q acks=acks U {a} RB-deliver (m) if (m ∉ delivered){ r RB-deliver(m); delivered=delivered U {m}; while(acks!=correct){ RB-deliver (m) if(q!=p){ s ∀s ∈ ∏ : send(p, m) to s; } } } 9/17/2021 22 david. kozhaya@ch. abb. com
— Process Faults Vs Timing Faults How are they different? Process failures are system-wide 9/17/2021 23 david. kozhaya@ch. abb. com Timing failures are algorithm dependent
— Many Challenges and Opportunities in Industrial Distributed Systems For Internships or Master Thesis at ABB send to david. kozhaya@ch. abb. com • Resume • Motivation letter • Transcripts 9/17/2021 24 david. kozhaya@ch. abb. com
- Slides: 23