1 / 53

Weakly endochronous systems

Weakly endochronous systems. Dumitru Potop-Butucaru IRISA, France Joint work with A. Benveniste and B. Caillaud. Outline. Introduction (the distribution problem) Weakly endochronous systems Applications Weak isochrony Main result Conclusion. module M: input A,B,R; relation A#R,B#R;

tulia
Download Presentation

Weakly endochronous systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Weakly endochronous systems Dumitru Potop-Butucaru IRISA, France Joint work with A. Benveniste and B. Caillaud

  2. Outline • Introduction (the distribution problem) • Weakly endochronous systems • Applications • Weak isochrony • Main result • Conclusion

  3. module M: input A,B,R; relation A#R,B#R; abort loop await A || await B end when R end module 3 R R A R B 1 0 2 B A A,B

  4.       A A B B R input Synchrony • Global clock, reactions • Can test the absence • Composition: • synchronized product (unification on reactions) 3 R R A R B 1 0 2 B A A,B

  5.       A A B B R input Asynchrony • No global clock • No reaction, no absence • Composition: • unification of FIFO histories 3 R R A R B 1 0 2 B A A,B

  6.           A A A A B B B B R R input Asynchrony • No global clock • No reaction, no absence • Composition: • unification of FIFO histories R A B B A executive Good executions 3 R R A R B 1 0 2 B A A,B

  7.      A R R input Asynchrony • No global clock • No reaction, no absence • Composition: • unification of FIFO histories A B B A R executive Bad executions 3 R R A R B 1 0 2 B A A,B

  8. Model • Components = synchronous automatons no causality • Synchronous composition (automaton product) Σ1Σ2 • Desynchronization operator • Asynchronous composition (on traces) a b c d a b c

  9. Model • Correct resynchronization (Benveniste): (L(Σ1Σ2))= (L(Σ1))||(L(Σ2)) • Intuition: • the asynchronous observations do not change when changing FIFO size and delay • Condition on infinite traces…

  10. Previous work • Latency-insensitivity (Carloni et al., 1999) • Hardware-directed (handle long wires) • Use all channels in each reaction (transmit  values) • Monoclock – not efficient • Difficult to re-configure the communication scheme • Extension: Singh and Theobald, 2003 • Endo/Isochrony (Benveniste et al., 2000)

  11. Endo/Isochrony • An endochronous component decides itself how to read its inputs • No event-driven, no real concurrency, determinism! • Comparable to Kahn processes (but no causality) • Executive = state machine and blocking reads • A pair of components is isochronous if no incorrect synchronization takes place • Compositionality problem • Endochrony is not compositional • Difficult to generalize isochrony to >2 components

  12.      A R R input A B B A R executive Bad executions 3 R R A R B 1 0 2 B A A,B

  13. input What I want • Non-determinism (Event-driven execution) 1 1 0 A B 0 B 0 A 0 R Event-executive 3 R,E=1 R,D=1 R,D=E=1 A,D=0 B,E=0 1 0 2 B,E=0 A,D=0 A,B,D=E=0

  14. Weak endochrony • Independent reactions = non-overlapping, fully commuting • Weak endochrony = allow online re-synchronization in any environment without restricting concurrency between independent reactions: • Choice between non-independent reactions is visible on a channel • Causal ordering of reactions is visible on a channel

  15. Weak endochrony • Non-independent reactions share a common support variable with different value • Non-independent causally ordered reactions share a common variable 3 R,E=1 R,D=1 R,D=E=1 A,D=0 B,E=0 1 0 2 B,E=0 A,D=0 A,B,D=E=0

  16. Weak endochrony axioms r1 r2 • Determinism: ss1, ss2r1=r2 • Commutation: if r1,r2 do not share present values • ss1, ss2s’:ss’ • ss1s2s’:ss2 • Decomposition: if ss1, ss2 and r1, r2 do not share present variables with different values r1 r2 r1r2 r1 r2 r2 r1 r2 s1 r1\r2 r1r2  s’:ss’ r2\r1 s2

  17. Properties • All reactions are composed of atoms • Disjoint atomsin a statefully commute and can be freely combined 3 State 0 atoms: (A,D=0),(B,E=0), (R,D=E=1) State 1 atoms: (B,E=0),(R,E=1) R,E=1 R,D=1 R,D=E=1 A,D=0 B,E=0 1 0 2 B,E=0 A,D=0 A,B,D=E=0

  18. Related models • Mazurkiewicz traces over atoms • The letters are the atoms, disjoint atoms are independent • Normal form • trace equivalence upto commutation of atoms • take at each reaction the maximal reaction (unique) • Confluence for a given history • Tetris-like heaps (gravity => normal form) • Generalization of endochrony, latency-insensitivity

  19. Consequences • Accept concurrency between independent behaviors • non-determinism • support event-driven implementations • Compositionality: Σ1,Σ2 weakly endochronous  Σ1Σ2 weakly endochronous

  20. Simpler correctness criterion • (s1,s2)RSS(Σ1Σ2),iΣi(si),i=1,2: 1||2 exists  1,2 are both void traces or Σ1Σ2 can perform a common transition • Still not an online correctness criterion!

  21. Weak isochrony • (s1,s2)RSS(Σ1Σ2), ai atom in Σi(si), i=1,2, Ai reaction in Σi(si) such that • A1||A2 maximal • ai  Ai,i=1,2 i reaction in Σi(si), i=1,2 such that • ai  i  Ai,i=1,2 • 1||2 exists

  22. Correct desynchronization Theorem If Σ1,Σ2 weakly endochronous, (Σ1,Σ2) weakly isochronous then: (L(Σ1Σ2))= (L(Σ1))||(L(Σ2))

  23. Methodology • Make components weakly endochronous by deciding which signals are missing • Incrementally build communication protocols that insure the weak isochrony • Remove the useless variables created at point (1)

  24. Conclusion • Weak endochrony/isochrony • Compositional • Supports the development of communication protocols that minimize communication • Not yet effective (not efficiently) • No causality • Future: • Define appropriate algorithms • Extend with causality

  25. Weak isochrony • (s1,s2)RSS(Σ1Σ2), ai atom in Σi(si), i=1,2, Ai reaction in Σi(si) such that • A1||A2 maximal • ai  Ai,i=1,2 i reaction in Σi(si), i=1,2 such that • ai  i  Ai,i=1,2 • 1||2 exists

  26. Synchrony and asynchrony • Composition: • Synchronous composition • Asynchronous composition 1   1 Σ1 Σ2 rejected Σ1Σ2:  2  2 1 1 Σ1 Σ2 accepted Σ1||Σ2: 2 2

  27. Desynchronization • Stuttering-invariant synchronous specification, distributed architecture (FIFOs) • Two aspects: • Correct re-synchronization • Causality, full asynchrony 1   1 Σ1 FIFO Σ2 WRONG  2  2 FIFO

  28. Correct resynchronization • Model • labeled synchronous transition systems • synchronous, n-place bidirectional buffers • no causality • Correctness criterion: • the traces accepted with empty buffers do not change from n=0 to n= 1   1 Σ1 Bn Σ2  2  2 Bn

  29. Correct resynchronization • Equivalent formulation (Benveniste): (L(Σ1Σ2))= (L(Σ1))||(L(Σ2))  = desynchronization operator || = composition of asynchronous traces (equality on interface  union)

  30. Previous work • Latency-insensitivity (Carloni et al., 1999) • Hardware-directed (handle long wires) • A component reads/emits all its inputs, or none • Monoclock • Endochrony-like extensions (Singh and Theobald, 2003) • Endo/Isochrony (Benveniste et al., 2000)

  31. Endo/Isochrony • An endochronous component decides itself how to read its inputs Kahn!!! • Determinism, no real concurrency • A pair of components is isochronous if non-contradictory reactions can be fully unified • Compositionality problem • Endochrony is not compositional • Difficult to generalize isochrony to >2 components

  32. Weakly endochronous systems • Allow online re-synchronization in any environment without restricting concurrency: • Each computation choice is visible on an interface variable • Causally ordered reactions share a common variable 1  1  0  2  2 1 or  2 0 1  0  2 1  after

  33. Weakly endochronous systems • Example • Not weakly endochronous. module M: input A,B,R; relation A#R,B#R; abort loop await A || await B end when R end module 3 R R A R B 1 0 2 B A A,B

  34. Weakly endochronous systems • Example module M: input A,B,R; relation A#R,B#R; abort loop await A || await B end when R end module 3 R,E=1 R,D=1 R,D=E=1 A,D=0 B,E=0 1 0 2 B,E=0 A,D=0 A,B,D=E=0

  35. Weakly endochronous systems • All reactions are composed of atoms • Disjoint atomsin a statefully commute and can be freely combined • A reaction can be decomposed into its atoms 3 R,E=1 R,D=1 State 0 atoms: (A,D=0),(B,E=0), (R,D=E=1) State 1 atoms: (B,E=0),(R,E=1) R,D=E=1 A,D=0 B,E=0 1 0 2 B,E=0 A,D=0 A,B,D=E=0

  36. Related models • Mazurkiewicz traces over atoms • The letters are the atoms, disjoint atoms are independent • Normal form • trace equivalence upto commutation of atoms • take at each reaction the maximal reaction (unique) • Confluence for a given history • Tetris-like heaps (gravity => normal form) • Generalization of endochrony

  37. Consequences • Accept concurrency between independent behaviors • non-determinism • support event-driven implementations • Normal form • Compositionality: Σ1,Σ2 weakly endochronous  Σ1Σ2 weakly endochronous

  38. Simpler correctness criterion • (s1,s2)RSS(Σ1Σ2),iΣi(si),i=1,2: 1||2 exists  1,2 are both void traces or Σ1Σ2 can perform a common transition • Weak endochrony  online correctness criterion!

  39. Weak isochrony • (s1,s2)RSS(Σ1Σ2), ai atom in Σi(si), i=1,2, Ai reaction in Σi(si) such that • A1||A2 maximal • ai  Ai,i=1,2 i reaction in Σi(si), i=1,2 such that • ai  i  Ai,i=1,2 • 1||2 exists

  40. Weak isochrony • (s1,s2)RSS(Σ1Σ2), ai atom in Σi(si), i=1,2, Ai reaction in Σi(si) such that • A1||A2 maximal • ai  Ai,i=1,2 i reaction in Σi(si), i=1,2 such that • ai  i  Ai,i=1,2 • 1||2 exists

  41. Correct desynchronization Theorem If Σ1,Σ2 weakly endochronous, (Σ1,Σ2) weakly isochronous then: (L(Σ1Σ2))= (L(Σ1))||(L(Σ2))

  42. Conclusion • Weak endochrony/isochrony • Compositional • Supports the development of communication protocols that minimize communication • Not yet effective (not efficiently) • No causality • Future: • Define appropriate algorithms • Extend with causality

  43. Methodology • Make components weakly endochronous by deciding which signals are missing • Incrementally build communication protocols that insure the weak isochrony • Remove the useless variables created at point (1)

  44. Weakly endochronous systems • Composition • Weak endochrony is compositional • Weak endochrony insures the equivalence between C1 and C2 • Re-synchrhronize a atome pres • Confluence, unique etat pour une histoire donnee

  45. Correct resynchronization • Correctness criterion, revisited: L0(Σ1Σ2B0B0) = L0(Σ1Σ2BB) • Equivalent formulation (Benveniste): (L(Σ1Σ2))= (L(Σ1))||(L(Σ2))  = desynchronization operator || = composition of asynchronous traces (equality on interface  union)

More Related