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

Recommend


More recommend