Solving (NP-Hard) Scheduling Problems with ovirt & OptaPlanner. Jason Brooks Red Hat Open Source & Standards SCALE13x, Feb 2015



Similar documents
Virtualization Management the ovirt way

Getting cross-platform: bringing virtualization management to the PPC world

Open Source Virtualization with ovirt. DI (FH) René Koch Systems Engineer Siedl Networks GmbH Grazer Linuxtage,

ovirt Introduction James Rankin Product Manager Red Hat Virtualization Management the ovirt way

Introduction to ovirt

ovirt Introduction August 2013 Livnat Peer Red Hat Virtualization Management the ovirt way

ovirt: Open Your Virtual Data Center

Open source business rules management system

Red Hat CloudForms : OPENSTACK INFRASTRUCTURE MANAGEMENT. John Hardy Senior Principal Product Manager 24 rd June 2015

Cloud Computing with Red Hat Solutions. Sivaram Shunmugam Red Hat Asia Pacific Pte Ltd.

Sacha Dubois RED HAT TRENDS AND TECHNOLOGY PATH TO AN OPEN HYBRID CLOUD AND DEVELOPER AGILITY. Solution Architect Infrastructure

With Red Hat Enterprise Virtualization, you can: Take advantage of existing people skills and investments

YOUR STRATEGIC VIRTUALIZATION ALTERNATIVE. Greg Lissy Director, Red Hat Virtualization Business. James Rankin Senior Solutions Architect

CLOUD COMPUTING & SECURITY -A PRACTICAL APPROACH

Windows Server 2008 R2 Hyper V. Public FAQ

Dynamic Resource allocation in Cloud

Open Source Business Rules Management System Enables Active Decisions

RED HAT ENTERPRISE VIRTUALIZATION

ovirt and Gluster hyper-converged! HA solution for maximum resource utilization

Hierarchical Approach for Green Workload Management in Distributed Data Centers

SUSE Manager. A Comprehensive Linux Server Management the Linux Way. Name. Title

Develop a process for applying updates to systems, including verifying properties of the update. Create File Systems

Backup / migration of a Coffalyser.Net database

WebLogic Server Foundation Topology, Configuration and Administration

What s New with VMware Virtual Infrastructure

Cutting Costs with Red Hat Enterprise Virtualization. Chuck Dubuque Product Marketing Manager, Red Hat June 24, 2010

CS 6343: CLOUD COMPUTING Term Project

Dynamic Load Balancing of Virtual Machines using QEMU-KVM

HRG Assessment: Stratus everrun Enterprise

Global Headquarters: 5 Speen Street Framingham, MA USA P F

RED HAT ENTERPRISE VIRTUALIZATION 3.0

RED HAT ENTERPRISE VIRTUALIZATION 3.0

Automation, Manageability, Architecture, Virtualization, data center, virtual machine, placement

Windows Server 2008 R2 Hyper-V Live Migration

Shared Parallel File System

Managing Kubernetes and OpenShift with ManageIQ. Alissa Bonas, Dublin 2015

Cloud Platform Comparison: CloudStack, Eucalyptus, vcloud Director and OpenStack

Developing Microsoft Azure Solutions

Automatic Workload Management in Clusters Managed by CloudStack

Developing Microsoft Azure Solutions 20532A; 5 days

RED HAT ENTERPRISE VIRTUALIZATION FOR SERVERS: PRICING & LICENSING GUIDE

ovirt and Gluster hyper-converged! HA solution for maximum resource utilization

Course 6331A: Deploying and Managing Microsoft System Center Virtual Machine Manager

Red Hat enterprise virtualization 3.0 feature comparison

red hat enterprise virtualization: vmware migration

Cloud Computing Architecture

Build and Manage Private and Hybrid Cloud. Urban Järund, Sr Regional Services Manager Nordics, Red Hat

International Journal of Engineering Research & Management Technology

The Virtualization Practice

JBoss EntErprisE BrMs

VM Management for Green Data Centres with the OpenNebula Virtual Infrastructure Engine

Diablo and VMware TM powering SQL Server TM in Virtual SAN TM. A Diablo Technologies Whitepaper. May 2015

Efficient DNS based Load Balancing for Bursty Web Application Traffic

Technical Paper. Moving SAS Applications from a Physical to a Virtual VMware Environment

A Middleware Strategy to Survive Compute Peak Loads in Cloud

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

Cloud Cruiser and Azure Public Rate Card API Integration

Developing Microsoft Azure Solutions 20532B; 5 Days, Instructor-led

can you effectively plan for the migration and management of systems and applications on Vblock Platforms?

Docker : devops, shared registries, HPC and emerging use cases. François Moreews & Olivier Sallou

Postgres on OpenStack

Qualcomm Achieves Significant Cost Savings and Improved Performance with Red Hat Enterprise Virtualization

Intel Cloud Builder Guide to Cloud Design and Deployment on Intel Xeon Processor-based Platforms

Virtual Machine Instance Scheduling in IaaS Clouds

Infrastructure as a Service (IaaS)

APPENDIX 1 SUBSCRIPTION SERVICES

STeP-IN SUMMIT June 18 21, 2013 at Bangalore, INDIA. Performance Testing of an IAAS Cloud Software (A CloudStack Use Case)

RED HAT ENTERPRISE VIRTUALIZATION

Configuration Guide. Achieve Unified Management and Scale-Out for Windows Server 2012 R2 Hyper-V Deployments with the Sanbolic Platform

PARALLELS CLOUD SERVER

Red Hat Powered VDI: Setting a New Standard for Desktop Virtualization

Virtualization and Cloud Computing

Best Practices for Optimizing Your Linux VPS and Cloud Server Infrastructure

Dynamic Resource Allocation in Software Defined and Virtual Networks: A Comparative Analysis

Scenario: Optimization of Conference Schedule.

Course 20532B: Developing Microsoft Azure Solutions

Cloud Server. Parallels. An Introduction to Operating System Virtualization and Parallels Cloud Server. White Paper.

Windows Server 2008 R2 Hyper-V Live Migration

Newsletter 4/2013 Oktober

Veeam ONE What s New in v9?

Shareable Private Space on a Public Cloud

APPENDIX 1 SUBSCRIPTION SERVICES

2. Research and Development on the Autonomic Operation. Control Infrastructure Technologies in the Cloud Computing Environment

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

Constructing your Private Cloud Strategies for IT Administrators & Decision Makers

OpenShift on you own cloud. Troy Dawson OpenShift Engineer, Red Hat November 1, 2013

Managing the Data Center Using the JBoss Enterprise SOA Platform

Protecting Data and Applications in Private Clouds for VMware environments

Infrastructure as a Service

OpenNebula An Innovative Open Source Toolkit for Building Cloud Solutions

Datasheet Fujitsu Cloud Infrastructure Management Software V1

7 Ways OpenStack Enables Automation & Agility for KVM Environments

CHAPTER 2 THEORETICAL FOUNDATION

A Brief Overview. Delivering Windows Azure Services on Windows Server. Enabling Service Providers

Integrating ovirt and Foreman to Empower your Data-Center

Cloud Optimize Your IT

Big Data Use Case. How Rackspace is using Private Cloud for Big Data. Bryan Thompson. May 8th, 2013

Google

Business Logic Integration Platform. D.Sottara, PhD OMG Technical Meeting Spring 2013, Reston, VA

Alternative Deployment Models for Cloud Computing in HPC Applications. Society of HPC Professionals November 9, 2011 Steve Hebert, Nimbix

Transcription:

Solving (NP-Hard) Scheduling Problems with ovirt & OptaPlanner Jason Brooks Red Hat Open Source & Standards SCALE13x, Feb 2015

What Is ovirt? Large scale, centralized management for server and desktop virtualization Based on leading performance, scalability and security infrastructure technologies Provide an open source alternative to vcenter/vsphere Focus on KVM for best integration/performance Focus on ease of use/deployment

Virt & Cloud Scheduling Running a new VM Selecting migration destination Load balancing

High Availability Build a highly available enterprise infrastructure Continually monitor host systems and virtual machines Automatically restart virtual machines in case of host failure Restart virtual machine on another node in the cluster Use live migration to fail-back a VM to it's original host when the server is restored

System Scheduler Dynamically balance workloads in the data center. Automatically live migrate virtual machines based on resources Define custom policies for distribution of virtual machines Maintain consistent resource usage across the enterprise data center

Power Saver Define policies to optimize workload on a fewer number of servers during offpeak hours

Scheduling in ovirt Host 1 Host 2 Host 3 Host 4 func 1 func 2 sum Host 1 Host 2 Host 4 Host 2 Host 4 Factor 5 2 Host 2 10 2 54 Host 4 3 12 39* *Host 4 sum: 3*5+12*2 = 39 Host 2 Host 4 5

Filters Host 1 Host 2 Host 3 Host 4 func 1 func 2 sum Host 1 Host 2 Host 4 Host 2 Host 4 Factor 5 2 Host 2 10 2 54 Host 4 3 12 39* *Host 4 sum: 3*5+12*2 = 39 Host 2 Host 4 5

Weights Host 1 Host 2 Host 3 Host 4 func 1 func 2 sum Host 1 Host 2 Host 4 Host 2 Host 4 Factor 5 2 Host 2 10 2 54 Host 4 3 12 39* *Host 4 sum: 3*5+12*2 = 39 Host 2 Host 4 5

Balancers Triggers a scheduled task to determine which VM needs to be migrated to one of under-utilized hosts A single load balancing logic is allowed per cluster Load balance VM Under-utilized Hosts Migrate VM VM White List Selected Host schedule 23

Filters, Weights, Balancers

External Scheduler External service written in python and run as a separate process from the engine External service provides: Engine safety Should allow additional languages Future option of scheduling as a service

Optimizer Goals Better load balancing Configurable by existing cluster policy Separate machine to protect ovirt-engine Starting a VM that can't be placed directly Space needs to be created first

Machine reassignment problem Defined by set of machines and set of processes Each machine has some resources (CPU, RAM,...) Each process requires resources NP-complete (variant of bin packing) Easy to verify a given solution to a problem in reasonable time. There is no silver bullet to find the optimal solution of a problem in reasonable time (*).

Big Problems

Enter OptaPlanner optaplanner.org Optimization engine Many search algorithms Uses Drools Rule Language (DRL) for scoring drools.org

Probabilistic approach Random search Randomly generate a candidate solution Evaluate and assign a score Accept if better than the current Rinse and repeat Smarter than random Simulated annealing closer and closer neighbors Tabu search do not repeat mistakes

OptaPlanner and ovirt

OptaPlanner and ovirt ovirt's Java-based policy units converted to DRL-based rules in order to honor admin-set filters and weights not all policy units yet available through API hosted engine score filters CPU load-based balancing cluster info periodically acquired by the optimizer over ovirt's REST API, converted, and fed to the OptaPlanner's fact database performance is improved by caching all rule matches All previous facts and rules are then used together by the OptaPlanner solver engine to compute the result. The optimizer service keeps running and improving the solution. When something in the cluster changes, the facts update and the solver resumes using the current best solution as a base point.

Optimization steps Number of steps limited Slower to converge than simple get me the optimum Hard constraint check for each intermediate state Soft constraint check for the final situation only

Web admin integration

Looking Ahead Tighter integration with BRMS Full automation of the optimization Using the optimizer instead of the internal scheduler in ovirt engine Support for more Policy Units Custom DRL rules Units coming from external scheduler Long term cooperation potential OpenStack Gantt Kubernetes Mesos

Questions? http://www.ovirt.org jbrooks@redhat.com @jasonbrooks jbrooks on OFTC & Freenode IRC