optimizing horn solvers for network repair
play

Optimizing Horn Solvers for Network Repair Hossein Hojjat 1 , 4 ummer - PowerPoint PPT Presentation

Optimizing Horn Solvers for Network Repair Hossein Hojjat 1 , 4 ummer 2 Philipp R Pavol Jedidiah McClurg 3 y 3 Nate Foster 1 Cern 1 Cornell University, 2 Uppsala University, 3 University of Colorado Boulder, 4 Rochester Institute of


  1. Optimizing Horn Solvers for Network Repair Hossein Hojjat 1 , 4 ummer 2 Philipp R¨ Pavol ˇ Jedidiah McClurg 3 y 3 Nate Foster 1 Cern´ 1 Cornell University, 2 Uppsala University, 3 University of Colorado Boulder, 4 Rochester Institute of Technology 16th International Conference on Formal Methods in Computer Aided Design October 6th, 2016

  2. Software-Defined Networking (SDN) Software-Defined Networking (SDN): emerging network architecture SDN Controllers are the brains of network ◮ Determine how the switches and routers should handle network traffic ◮ Can update the forwarding tables of switches 1

  3. Down for Core C 1 filter ( H 1 ) C 2 Maintenance C 1 C 2 Aggregation A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 4 T 1 T 2 T 3 T 4 ToR T 1 T 2 T 3 T 4 Host H 1 H 2 H 3 H 4 not safe for H 1 traffic 2

  4. Core C 1 filter ( H 1 ) C 2 Switch Online C 1 C 2 Aggregation A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 4 T 1 T 2 T 3 T 4 ToR T 1 T 2 T 3 T 4 Host H 1 H 2 H 3 H 4 not safe for H 1 traffic 2

  5. Core C 1 filter ( H 1 ) C 2 Switch Online C 1 C 2 Aggregation A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 4 T 1 T 2 T 3 T 4 ToR T 1 T 2 T 3 T 4 Host H 1 H 2 H 3 H 4 not safe for H 1 traffic 2

  6. Core C 1 filter ( H 1 ) C 2 Switch Online C 1 C 2 Aggregation A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 4 T 1 T 2 T 3 T 4 ToR T 1 T 2 T 3 T 4 Host H 1 H 2 H 3 H 4 not safe for H 1 traffic How can we return back to safety by adding filters on links? There are several possible repair solutions Interested in best solutions: ◮ e.g. the ones that touch minimal number of switches ◮ and maintain connectivity 2

  7. Core C 1 filter ( H 1 ) C 2 Switch Online C 1 C 2 Aggregation A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 4 T 1 T 2 T 3 T 4 ToR T 1 T 2 T 3 T 4 Host H 1 H 2 H 3 H 4 not safe for H 1 traffic How can we return back to safety by adding filters on links? There are several possible repair solutions Interested in best solutions: ◮ e.g. the ones that touch minimal number of switches ◮ and maintain connectivity 2

  8. Core C 1 filter ( H 1 ) C 2 Switch Online C 1 C 2 filter ( H 1 ) filter ( H 1 ) Aggregation A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 4 filter ( H 1 ) filter ( H 1 ) T 1 T 2 T 3 T 4 ToR T 1 T 2 T 3 T 4 Host H 1 H 2 H 3 H 4 not safe for H 1 traffic How can we return back to safety by adding filters on links? There are several possible repair solutions Interested in best solutions: ◮ e.g. the ones that touch minimal number of switches ◮ and maintain connectivity 2

  9. Core C 1 filter ( H 1 ) C 2 Switch Online C 1 C 2 Aggregation A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 4 filter ( H 1 ) T 1 T 2 T 3 T 4 ToR T 1 T 2 T 3 T 4 Host H 1 H 2 H 3 H 4 not safe for H 1 traffic How can we return back to safety by adding filters on links? There are several possible repair solutions Interested in best solutions: ◮ e.g. the ones that touch minimal number of switches ◮ and maintain connectivity 2

  10. Contributions 1 Translation of network and its correctness conditions to Horn clauses 2 Repair unsatisfiable Horn clauses (i.e. buggy system violating correctness) 3 New lattice-based optimization procedure for Horn clause repair 3

  11. Repair Framework Translate Repair Back Horn Clauses: HORN Network Description ∀ ¯ v. φ 0 (¯ v ) ∧ R 1 , 0 (¯ v ) ∧ · · · ∧ R n, 0 (¯ v ) → R 0 , 0 (¯ v ) ∀ ¯ v. φ 1 (¯ v ) ∧ R 1 , 1 (¯ v ) ∧ · · · ∧ R n, 1 (¯ . v ) → R 0 , 1 (¯ v ) SOLVER . . ∀ ¯ v ) ∧ R 1 ,m (¯ v ) ∧ · · · ∧ R n,m (¯ v ) → R 0 ,m (¯ v. φ m (¯ v ) (Eldarica) ϕ Safety Description Strengthen Weaken Clauses Clauses (Optimizer) 4

  12. Our Repair Approach ∀ ¯ v. ψ 0 (¯ v ) ∧ R 1 , 0 (¯ v ) ∧ · · · ∧ R n, 0 (¯ v ) → R 0 , 0 (¯ v ) ∀ ¯ v. ψ 1 (¯ v ) ∧ R 1 , 1 (¯ v ) ∧ · · · ∧ R n, 1 (¯ v ) → R 0 , 1 (¯ v ) | = false . . . ∀ ¯ v ) ∧ R 1 ,m (¯ v ) ∧ · · · ∧ R n,m (¯ v ) → R 0 ,m (¯ v. ψ m (¯ v ) ∀ ¯ v. φ m ′ (¯ v ) ∧ R 1 ,m ′ (¯ v ) ∧ · · · ∧ R n,m ′ (¯ v ) → false 5

  13. Our Repair Approach ∀ ¯ v. R ∗ 0 (¯ v ) ∧ ψ 0 (¯ v ) ∧ R 1 , 0 (¯ v ) ∧ · · · ∧ R n, 0 (¯ v ) → R 0 , 0 (¯ v ) ∀ ¯ v. R ∗ 1 (¯ v ) ∧ ψ 1 (¯ v ) ∧ R 1 , 1 (¯ v ) ∧ · · · ∧ R n, 1 (¯ v ) → R 0 , 1 (¯ v ) | = false . . . ∀ ¯ v ) ∧ ψ m (¯ v ) ∧ R 1 ,m (¯ v ) ∧ · · · ∧ R n,m (¯ v ) → R 0 ,m (¯ v. R ∗ m (¯ v ) ∀ ¯ v ) ∧ φ m ′ (¯ v. R ∗ m ′ (¯ v ) ∧ R 1 ,m ′ (¯ v ) ∧ · · · ∧ R n,m ′ (¯ v ) → false Weaken Conjoin fresh relation symbols R ∗ i to the bodies of Horn clauses 5

  14. Our Repair Approach ∀ ¯ v. R ∗ 0 (¯ v ) ∧ ψ 0 (¯ v ) ∧ R 1 , 0 (¯ v ) ∧ · · · ∧ R n, 0 (¯ v ) → R 0 , 0 (¯ v ) ∀ ¯ v. R ∗ 1 (¯ v ) ∧ ψ 1 (¯ v ) ∧ R 1 , 1 (¯ v ) ∧ · · · ∧ R n, 1 (¯ v ) → R 0 , 1 (¯ v ) � | = false . . . ∀ ¯ v ) ∧ ψ m (¯ v ) ∧ R 1 ,m (¯ v ) ∧ · · · ∧ R n,m (¯ v ) → R 0 ,m (¯ v. R ∗ m (¯ v ) ∀ ¯ v ) ∧ φ m ′ (¯ v. R ∗ m ′ (¯ v ) ∧ R 1 ,m ′ (¯ v ) ∧ · · · ∧ R n,m ′ (¯ v ) → false Weaken Conjoin fresh relation symbols R ∗ i to the bodies of Horn clauses Weaker system is satisfiable, may have undesirable solutions Any of the new relation symbols can be false ◮ (effectively removing the clause) 5

  15. Our Repair Approach ∀ ¯ v. R ∗ 0 (¯ v ) ∧ ψ 0 (¯ v ) ∧ R 1 , 0 (¯ v ) ∧ · · · ∧ R n, 0 (¯ v ) → R 0 , 0 (¯ v ) ∀ ¯ v. R ∗ 1 (¯ v ) ∧ ψ 1 (¯ v ) ∧ R 1 , 1 (¯ v ) ∧ · · · ∧ R n, 1 (¯ v ) → R 0 , 1 (¯ v ) � | = false . . . ∀ ¯ v ) ∧ ψ m (¯ v ) ∧ R 1 ,m (¯ v ) ∧ · · · ∧ R n,m (¯ v ) → R 0 ,m (¯ v. R ∗ m (¯ v ) ∀ ¯ v ) ∧ φ m ′ (¯ v. R ∗ m ′ (¯ v ) ∧ R 1 ,m ′ (¯ v ) ∧ · · · ∧ R n,m ′ (¯ v ) → false Weaken Conjoin fresh relation symbols R ∗ i to the bodies of Horn clauses Weaker system is satisfiable, may have undesirable solutions Any of the new relation symbols can be false ◮ (effectively removing the clause) Strengthen Add more constraints to rule out undesirable solutions User can select the “best” repairs (e.g. reject false solutions, if possible ) 5

  16. Goal: find solutions for set of Horn clauses subject to objective function Space of all interpretations of relation symbols 6

  17. Goal: find solutions for set of Horn clauses subject to objective function Best Solutions Solutions Space of all interpretations of relation symbols 6

  18. Goal: find solutions for set of Horn clauses subject to objective function Best Solutions Solutions Space of all interpretations of relation symbols 6

  19. Goal: find solutions for set of Horn clauses subject to objective function ∅ ⊆ Best Solutions · · · · · · 1 2 3 4 · · · · · · 1 2 3 4 · · · · · · 1 ∪ 2 2 ∪ 3 3 ∪ 4 Solutions · · · Space of all interpretations of relation symbols all interpretations all interpretations 6

  20. Goal: find solutions for set of Horn clauses subject to objective function ∅ ⊆ Best Solutions · · · · · · 1 2 3 4 · · · · · · 1 2 3 4 · · · · · · 1 ∪ 2 2 ∪ 3 3 ∪ 4 Solutions · · · Space of all interpretations of relation symbols all interpretations all interpretations 6

  21. Goal: find solutions for set of Horn clauses subject to objective function ∅ ⊆ Best Solutions · · · · · · 1 2 3 4 · · · · · · 1 2 3 4 · · · · · · 1 ∪ 2 2 ∪ 3 3 ∪ 4 Solutions · · · Space of all interpretations of relation symbols all interpretations all interpretations 6

  22. Goal: find solutions for set of Horn clauses subject to objective function ∅ ⊆ Best Solutions · · · · · · 1 2 3 4 · · · · · · 1 2 3 4 · · · · · · 1 ∪ 2 2 ∪ 3 3 ∪ 4 Solutions · · · Space of all interpretations of relation symbols all interpretations all interpretations 6

  23. Goal: find solutions for set of Horn clauses subject to objective function Objective function: Rank nodes of lattice monotonically ∅ ⊆ · · · · · · 1 2 3 4 Feasibility Frontier · · · · · · 1 ∪ 2 2 ∪ 3 3 ∪ 4 · · · all interpretations all interpretations 6

  24. Goal: find solutions for set of Horn clauses subject to objective function Objective function: Rank nodes of lattice monotonically ∅ ⊆ Search Algorithm: Walk smartly in the lattice to find the · · · · · · 1 2 3 4 best solution: inside the feasibility cone Feasibility Frontier · · · · · · 1 ∪ 2 2 ∪ 3 3 ∪ 4 has maximum ranking · · · all interpretations all interpretations 6

  25. Goal: find solutions for set of Horn clauses subject to objective function Objective function: Rank nodes of lattice monotonically ∅ ⊆ Search Algorithm: Walk smartly in the lattice to find the · · · · · · 1 2 3 4 best solution: inside the feasibility cone Feasibility Frontier · · · · · · 1 ∪ 2 2 ∪ 3 3 ∪ 4 has maximum ranking 1 Pick a feasible node and walk until · · · reach frontier all interpretations all interpretations 6

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