constrained optimization benchmark for optimization
play

Constrained Optimization Benchmark for Optimization Modulo Theories: - PowerPoint PPT Presentation

Constrained Optimization Benchmark for Optimization Modulo Theories: a Cloud Resource Management Problem scu 12 s 1 M ad alina Era R azvan Mete 1West University of Timi soara, Romania 2Institute e-Austria Timi soara, Romania


  1. Constrained Optimization Benchmark for Optimization Modulo Theories: a Cloud Resource Management Problem scu 12 s 1 M˘ ad˘ alina Era¸ R˘ azvan Mete¸ 1West University of Timi¸ soara, Romania 2Institute e-Austria Timi¸ soara, Romania madalina.erascu@e-uvt.ro July 7th, 2019

  2. Outline Motivation Problem Solution Solution Approaches Variables Encoding OMT Tools Experimental Results Discussion and Future Work

  3. Contents Motivation Problem Solution Solution Approaches Variables Encoding OMT Tools Experimental Results Discussion and Future Work

  4. Motivation Problem: finding the best offer for a secure web container Components ◮ two Web Containers (e.g. Apache Tomcat or Nginx) ◮ a Balancer ◮ an IDSServer (Intrusion Detection System) ◮ an IDS Agent

  5. Motivation Problem: finding the best offer for a secure web container Components ◮ two Web Containers (e.g. Apache Tomcat or Nginx) ◮ a Balancer ◮ an IDSServer (Intrusion Detection System) ◮ an IDS Agent Constraints ◮ Conflicts: Balancer, Apache and Nginx cannot be deployed on the same VM ◮ Conflicts: Balancer and IDSServer needs exclusive use of machines ◮ Equal bound: exactly one Balancer has to be instantiated ◮ Lower bound: at least 3 instances of Apache and/or Nginx are required ◮ Require-provides: one IDSServer for 10 IDS Agents ◮ Full deployment: one instance of the IDS Agent on all VMs except for those containing the IDSServer and the Balancer ◮ Hardware constraints: components hardware requirements

  6. Motivation Problem: finding the best offer for a secure web container Components ◮ two Web Containers (e.g. Apache Tomcat or Nginx) ◮ a Balancer ◮ an IDSServer (Intrusion Detection System) ◮ an IDS Agent Constraints ◮ Conflicts: Balancer, Apache and Nginx cannot be deployed on the same VM ◮ Conflicts: Balancer and IDSServer needs exclusive use of machines ◮ Equal bound: exactly one Balancer has to be instantiated ◮ Lower bound: at least 3 instances of Apache and/or Nginx are required ◮ Require-provides: one IDSServer for 10 IDS Agents ◮ Full deployment: one instance of the IDS Agent on all VMs except for those containing the IDSServer and the Balancer ◮ Hardware constraints: components hardware requirements Aim: find a set of virtual machines (VMs) which satisfy the components’ requirements and lead to the minimum cost.

  7. Cloud provider offers Remark: [snapshot from https://aws.amazon.com/ec2/] tens of thousands of price offers corresponding to different configurations and zones

  8. Secure Web Container Use Case Example of a solution ◮ VM 1 (CPU:8, RAM: 15 GB, Storage: 2000 GB, Price: 0.0526 $/hour): Nginx + IDS Agent ◮ VM 2 (CPU:4, RAM: 7.5 GB, Storage: 2000 GB, Price: 0.0283 $/hour): Balancer ◮ VM 3 (CPU:4, RAM: 30 GB, Storage: 2000 GB, Price: 0.0644 $/hour): IDSServer ◮ VM 4 (CPU:4, RAM: 7.5 GB, Storage: 2000 GB, Price: 0.0283 $/hour): Apache + IDS Agent ◮ VM 5 (CPU:4, RAM: 7.5 GB, Storage: 2000 GB, Price: 0.0283 $/hour): Apache + IDS Agent

  9. Other use-cases considered Oryx2 application Wordpress application

  10. Contents Motivation Problem Solution Solution Approaches Variables Encoding OMT Tools Experimental Results Discussion and Future Work

  11. Problem Formalization Input ◮ A set of N components ( { C 1 , ..., C N } ) satisfying: ◮ A set of M VMs ( { V 1 , ..., V M } )

  12. Problem Formalization Input ◮ A set of N components ( { C 1 , ..., C N } ) satisfying: ◮ Hardware constraints ◮ Structural constraints ◮ A set of M VMs ( { V 1 , ..., V M } )

  13. Problem Formalization Input ◮ A set of N components ( { C 1 , ..., C N } ) satisfying: ◮ Hardware constraints ◮ Structural constraints ◮ A set of M VMs ( { V 1 , ..., V M } ) Output ◮ A mapping a of components to VMs � 1 if C i is assigned to V k a ik = 0 if C i is not assigned to V k

  14. Problem Formalization Input ◮ A set of N components ( { C 1 , ..., C N } ) satisfying: ◮ Hardware constraints ◮ Structural constraints ◮ A set of M VMs ( { V 1 , ..., V M } ) Output ◮ A mapping a of components to VMs � 1 if C i is assigned to V k a ik = 0 if C i is not assigned to V k ◮ which: ◮ Satisfies the constraints induced by the interactions between components (structural constraints) ◮ Satisfies the hardware requirements of all components (hardware constraints) ◮ Minimizes the purchasing price

  15. Problem Formalization (cont’d) Default Constraints: � N i =1 a ik ≥ 1 k = 1 , M

  16. Problem Formalization (cont’d) Default Constraints: � N i =1 a ik ≥ 1 k = 1 , M Hardware Constraints ◮ H res – required amount of N ≤ H res prov � a ik H res k = 1 , M , resource (CPU/Memory/Storage) i k i =1 ◮ H res prov – the corresponding characteristic of a VM included in an existing Cloud Provider offer.

  17. Problem Formalization (cont’d) Default Constraints: � N i =1 a ik ≥ 1 k = 1 , M Hardware Constraints ◮ H res – required amount of N ≤ H res prov � a ik H res k = 1 , M , resource (CPU/Memory/Storage) i k i =1 ◮ H res prov – the corresponding characteristic of a VM included in an existing Cloud Provider offer. Structural Constraints ◮ Conflicts: two or more lin : a ik + a jk ≤ 1 , k =1 , M , ∀ ( i , j )s.t. R ij = 1 components cannot be deployed nonlin : a ik a jk ≤ 1 on the same VM

  18. Problem Formalization (cont’d) Default Constraints: � N i =1 a ik ≥ 1 k = 1 , M Hardware Constraints ◮ H res – required amount of N ≤ H res prov � a ik H res k = 1 , M , resource (CPU/Memory/Storage) i k i =1 ◮ H res prov – the corresponding characteristic of a VM included in an existing Cloud Provider offer. Structural Constraints ◮ Conflicts: two or more lin : a ik + a jk ≤ 1 , k =1 , M , ∀ ( i , j )s.t. R ij = 1 components cannot be deployed nonlin : a ik a jk ≤ 1 on the same VM ◮ Co-location: two or more a ik = a jk , k = 1 , M , ∀ ( i , j ) s.t. D ij = 1 components should be deployed on the same VM

  19. Problem Formalization (cont’d) Default Constraints: � N i =1 a ik ≥ 1 k = 1 , M Hardware Constraints ◮ H res – required amount of N ≤ H res prov � a ik H res k = 1 , M , resource (CPU/Memory/Storage) i k i =1 ◮ H res prov – the corresponding characteristic of a VM included in an existing Cloud Provider offer. Structural Constraints ◮ Conflicts: two or more lin : a ik + a jk ≤ 1 , k =1 , M , ∀ ( i , j )s.t. R ij = 1 components cannot be deployed nonlin : a ik a jk ≤ 1 on the same VM ◮ Co-location: two or more a ik = a jk , k = 1 , M , ∀ ( i , j ) s.t. D ij = 1 components should be deployed on the same VM M M M ◮ Exclusive deployment: when from � � � H ( a i 1 k )+ H ( a i 2 k )+ ... + H ( a i q k )=1 a set of q components only one k =1 k =1 k =1 should be deployed in a deployment plan � 0 if u = 0 H ( u ) = 1 if u > 0

  20. Problem Formalization (cont’d) Structural Constraints (cont’d) M M ◮ Require-provides 1: C i requires � � a ik ≤ m ij a jk , n ij , m ij ∈ N . n ij (consumes) at least n ij instances k =1 k =1 of C j and C j can serve (provides) at most m ij instances of C i .

  21. Problem Formalization (cont’d) Structural Constraints (cont’d) M M ◮ Require-provides 1: C i requires � � a ik ≤ m ij a jk , n ij , m ij ∈ N . n ij (consumes) at least n ij instances k =1 k =1 of C j and C j can serve (provides) at most m ij instances of C i . M M ◮ Require-provides 2: for each set of � � 0 < n a ik − a jk ≤ n , n ∈ N n instances of component C j a new k =1 k =1 instance of C i should be deployed

  22. Problem Formalization (cont’d) Structural Constraints (cont’d) M M ◮ Require-provides 1: C i requires � � a ik ≤ m ij a jk , n ij , m ij ∈ N . n ij (consumes) at least n ij instances k =1 k =1 of C j and C j can serve (provides) at most m ij instances of C i . M M ◮ Require-provides 2: for each set of � � 0 < n a ik − a jk ≤ n , n ∈ N n instances of component C j a new k =1 k =1 instance of C i should be deployed M ◮ Full deployment: a component C i � � ( a ik + H ( a jk )) = M must be deployed on all VMs k =1 j , R ij =1 (except on those which would induce conflicts)

  23. Problem Formalization (cont’d) Structural Constraints (cont’d) M M ◮ Require-provides 1: C i requires � � a ik ≤ m ij a jk , n ij , m ij ∈ N . n ij (consumes) at least n ij instances k =1 k =1 of C j and C j can serve (provides) at most m ij instances of C i . M M ◮ Require-provides 2: for each set of � � 0 < n a ik − a jk ≤ n , n ∈ N n instances of component C j a new k =1 k =1 instance of C i should be deployed M ◮ Full deployment: a component C i � � ( a ik + H ( a jk )) = M must be deployed on all VMs k =1 j , R ij =1 (except on those which would induce conflicts) M ◮ Deployment with bounded number � � a ik � op � n , of instances: the number of k =1 instances corresponding to a set of i ∈ C deployed components, C , should � op � ∈ { = , ≤ , ≥} , n ∈ N be equal, greater or less than some values

  24. Problem Formalization (cont’d) Constraints which encode the CPs offers and their link with the components hardware constraints

  25. Problem Formalization (cont’d) Constraints which encode the CPs offers and their link with the components hardware constraints ◮ ON � vmType k = h h =1 where vmType identifies CPs offers ( vmType k ∈ { 1 , . . . , ON } , where ON is the number of CP offers).

Recommend


More recommend