on the cron conjecture
play

On the CRON Conjecture Tom J. Ameloot Jan Van den Bussche Hasselt - PowerPoint PPT Presentation

On the CRON Conjecture Tom J. Ameloot Jan Van den Bussche Hasselt University, Belgium 1 On the CRON Conjecture Introduction Declarative networking Dedalus Hellerstein: Causality Required Only for Non-monotonicity (CRON) Program


  1. On the CRON Conjecture Tom J. Ameloot Jan Van den Bussche Hasselt University, Belgium 1 On the CRON Conjecture

  2. Introduction ◮ Declarative networking ◮ Dedalus ◮ Hellerstein: Causality Required Only for Non-monotonicity (CRON) Program semantics require causal message ordering if and only if the messages participate in non-monotonic derivations. ◮ Application to crash-recovery: ◮ Some logged messages are from the “future” (non-causality) ◮ CRON conjecture: enforce causality only when needed ⇒ more efficient 2 On the CRON Conjecture

  3. Typical Operational Semantics Ingredients: network, replicated program, distributed input database Run of the program on the input: � � � ������������� 3 On the CRON Conjecture

  4. Typical Operational Semantics Ingredients: network, replicated program, distributed input database Run of the program on the input: ������� ���� � � � � � � ������������� 3 On the CRON Conjecture

  5. Typical Operational Semantics Ingredients: network, replicated program, distributed input database Run of the program on the input: ������� � ����� ���� ���� � � � � � � � � � ������������� 3 On the CRON Conjecture

  6. Typical Operational Semantics Ingredients: network, replicated program, distributed input database Run of the program on the input: ������� � ����� ������� ���� ���� ���� � � � � � � � � � � � � ������������� 3 On the CRON Conjecture

  7. Typical Operational Semantics Ingredients: network, replicated program, distributed input database Run of the program on the input: ������� � ����� ������� ���� ���� ���� � � � � � � � � � � � � ������������� ◮ Runs have infinite length ◮ Messages are facts ◮ Messages can have arbitrary delay 3 On the CRON Conjecture

  8. Dedalus Local step implemented as follows: ��������� ����� ��������� ���� ����� ���� ����� ����� �������� �������� �������� �� ��� ������������ ����� (Deductive rules: stratified semantics) 4 On the CRON Conjecture

  9. Example Input: on every node, unary rel. R , S and Node Output: on every node x , unary rel. T contains the union of all R -facts except local S -facts of x . (Auxiliary: unary rel. R acc ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R acc ( u ) ← R ( u ) . R acc ( u ) • ← R acc ( u ) . R ( u ) | y ← R ( u ) , Node ( y ) . T ( u ) ← R acc ( u ) , ¬ S ( u ) . 5 On the CRON Conjecture

  10. Causality Causality: an effect can only happen after its cause Runs are causal ◮ messages can only be delivered after they are sent ◮ replies come after initial messages Happens-before relation: partial order on (nodes × N ) ���� ���� ���� ���� ���� ��� 6 On the CRON Conjecture

  11. Causality Causality: an effect can only happen after its cause Runs are causal ◮ messages can only be delivered after they are sent ◮ replies come after initial messages Happens-before relation: partial order on (nodes × N ) ���� ���� ���� ���� ���� ���� ��� 6 On the CRON Conjecture

  12. Causality Causality: an effect can only happen after its cause Runs are causal ◮ messages can only be delivered after they are sent ◮ replies come after initial messages Happens-before relation: partial order on (nodes × N ) ���� ���� ���� ���� ���� ���� ��� 6 On the CRON Conjecture

  13. Causality Causality: an effect can only happen after its cause Runs are causal ◮ messages can only be delivered after they are sent ◮ replies come after initial messages Happens-before relation: partial order on (nodes × N ) ���� ���� ���� ���� ���� ���� ���� ��� 6 On the CRON Conjecture

  14. Causality Causality: an effect can only happen after its cause Runs are causal ◮ messages can only be delivered after they are sent ◮ replies come after initial messages Happens-before relation: partial order on (nodes × N ) ���� ���� ���� ���� ���� ���� ���� ��� 6 On the CRON Conjecture

  15. Non-causality Recall the CRON conjecture: Program semantics require causal message ordering iff the messages participate in non-monotonic derivations. Runs are always causal ⇒ new semantics needed for non-causality Here is an idea: Dedalus program P ⇒ Datalog ¬ program pure sz ( P ) with stable model semantics Inspired by previous work [Alvaro, Ameloot, Hellerstein, Marczak, Van den Bussche] 7 On the CRON Conjecture

  16. Dedalus to Datalog ¬ : illustration | Program P Program pure sz ( P ) | | | R acc ( u ) ← R ( u ) . | | R acc ( u ) • ← R acc ( u ) . | R ( u ) | y ← R ( u ) , Node ( y ) . | | T ( u ) ← R acc ( u ) , ¬ S ( u ) . | | | | | | 8 On the CRON Conjecture

  17. Dedalus to Datalog ¬ : illustration | Program P Program pure sz ( P ) | | Deductive | R acc ( u ) ← R ( u ) . R acc ( x , s , u ) ← R ( x , s , u ) . | | R acc ( u ) • ← R acc ( u ) . | R ( u ) | y ← R ( u ) , Node ( y ) . | | T ( u ) ← R acc ( u ) , ¬ S ( u ) . | | | | | | 8 On the CRON Conjecture

  18. Dedalus to Datalog ¬ : illustration | Program P Program pure sz ( P ) | | Deductive | R acc ( u ) ← R ( u ) . R acc ( x , s , u ) ← R ( x , s , u ) . | T ( x , s , u ) ← R acc ( x , s , u ) , ¬ S ( x , s , u ) . | R acc ( u ) • ← R acc ( u ) . | R ( u ) | y ← R ( u ) , Node ( y ) . | | T ( u ) ← R acc ( u ) , ¬ S ( u ) . | | | | | | 8 On the CRON Conjecture

  19. Dedalus to Datalog ¬ : illustration | Program P Program pure sz ( P ) | | Deductive | R acc ( u ) ← R ( u ) . R acc ( x , s , u ) ← R ( x , s , u ) . | T ( x , s , u ) ← R acc ( x , s , u ) , ¬ S ( x , s , u ) . | R acc ( u ) • ← R acc ( u ) . | Inductive R ( u ) | y ← R ( u ) , Node ( y ) . | R acc ( x , t , u ) ← R acc ( x , s , u ) , tsucc ( s , t ) . | T ( u ) ← R acc ( u ) , ¬ S ( u ) . | | | | | | 8 On the CRON Conjecture

  20. Dedalus to Datalog ¬ : illustration | Program P Program pure sz ( P ) | | Deductive | R acc ( u ) ← R ( u ) . R acc ( x , s , u ) ← R ( x , s , u ) . | T ( x , s , u ) ← R acc ( x , s , u ) , ¬ S ( x , s , u ) . | R acc ( u ) • ← R acc ( u ) . | Inductive R ( u ) | y ← R ( u ) , Node ( y ) . | R acc ( x , t , u ) ← R acc ( x , s , u ) , tsucc ( s , t ) . | T ( u ) ← R acc ( u ) , ¬ S ( u ) . | Asynchronous (Saccà and Zaniolo — “SZ”) | cand R ( x , s , y , t , u ) ← R ( x , s , u ) , Node ( x , s , y ) , | time ( t ) . | chosen R ( x , s , y , t , u ) ← cand R ( x , s , y , t , u ) , ¬ other R ( x , s , y , t , u ) . | other R ( x , s , y , t , u ) ← cand R ( x , s , y , t , u ) , chosen R ( x , s , y , t ′ , u ) , t � = t ′ . | R ( y , t , u ) ← chosen R ( x , s , y , t , u ) . 8 On the CRON Conjecture

  21. ����� � � � � � � � � � � � � � � � ��� ���� ���� 9 On the CRON Conjecture

  22. ����� ������ � ����������� � � � � � ���� � � � � � � � � � � ��� ���� ���� ���� ���� 9 On the CRON Conjecture

  23. ����� ������ � ����������� � � � � � ���� ������ � ����������� � � � � � ���� � � � � � ��� ���� ���� ���� ���� ���� ���� 9 On the CRON Conjecture

  24. ����� ������ � ����������� � � � � � ���� ���� ������ � ����������� � � � � � ���� � � � � � ������ � ����������� ��� ���� ���� ���� ���� ���� ���� ���� 9 On the CRON Conjecture

  25. Output and Consistency ◮ Output of run or stable model: � { ultimate facts of x } . nodes x ◮ We focus on consistent Dedalus programs: on every input, all runs produce the same output ◮ Consistent Dedalus programs can tolerate non-causality if on every input, all stable models produce the output of the runs 10 On the CRON Conjecture

  26. Formal CRON Conjecture Original conjecture Program semantics require causal message ordering iff the messages participate in non-monotonic derivations. 11 On the CRON Conjecture

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend