cloud computing in computational...

45
Cloud Computing in Computational Optimization Greg Glockner

Upload: others

Post on 13-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Cloud Computing in Computational Optimization

Greg Glockner

Page 2: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Outline

}  Background

}  Brief overview of cloud computing

}  The cloud as an optimization platform

}  Future opportunities

2 © 2010 Gurobi Optimization 17-Nov-10

Page 3: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Gurobi Optimization

}  Founded in 2008 by Robert Bixby, Zonghao Gu, and Edward Rothberg

}  State of the art library for mathematical programming

}  One goal of Gurobi is to be innovative in delivery of optimization tools

3 17-Nov-10 © 2010 Gurobi Optimization

Page 4: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Gurobi Optimizer

}  Library for linear, quadratic, and mixed integer programming

}  Interactive shell and programming language interfaces ◦  Library callable from C, C++, Java, .NET, Python

}  Supported on Windows, Linux, Mac

4 17-Nov-10 © 2010 Gurobi Optimization

Page 5: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Innovative delivery of optimization

}  Straightforward licensing terms

}  Free academic licenses

}  Gurobi Cloud

5 © 2010 Gurobi Optimization 17-Nov-10

Page 6: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Gurobi Cloud

}  Available for Amazon EC2 since October 2009 ◦  Use computers maintained by Amazon Web Services

◦  Pay by the hour, billed via Amazon.com

}  Gurobi Optimizer was first commercial solver available on the cloud

17-Nov-10 © 2010 Gurobi Optimization 6

Page 7: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Outline

}  Background

}  Brief overview of cloud computing

}  The cloud as an optimization platform

}  Future opportunities

7 © 2010 Gurobi Optimization 17-Nov-10

Page 8: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

What is “the cloud”

}  A metaphor for using the Internet to do computation on a remote system

}  Replaces something you might have done on your local computer

8 © 2010 Gurobi Optimization 17-Nov-10

Page 9: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Basic tenets of cloud computing

}  Application runs on a remote machine

}  You don’t own or maintain the servers, software, etc.

}  Your data lives on the remote system

17-Nov-10 © 2010 Gurobi Optimization 9

Page 10: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Examples of cloud computing

}  Most common current usage: ◦  Web-based applications ◦  Accessed from your browser

}  Prominent examples ◦  Email: GMail ◦  Documents: Google Docs ◦  CRM: salesforce.com

17-Nov-10 © 2010 Gurobi Optimization 10

Page 11: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

2 distinct types of cloud apps

}  End-user focused ◦  Routing in Google

Maps ◦  Staff (employee)

scheduling

}  Infrastructure ◦  Web servers ◦  Database server ◦  LP / QP / MIP / MIQP

11 © 2010 Gurobi Optimization 17-Nov-10

}  We’re focusing on infrastructure ◦  There are opportunities for LP in end-user

applications (including both examples above)

Page 12: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Virtualization

}  Lets one computer do the work of many at the same time ◦  Subdivide resources: disk, RAM, processor, etc. ◦  Virtual machines are protected from each other

}  Frequently used for cloud infrastructure ◦  Makes it easy to start, stop and backup a computer ◦  Fewer physical computers are needed �  Seems like opportunities for research in queuing and

multi-dimensional bin packing

12 © 2010 Gurobi Optimization 17-Nov-10

Page 13: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

What is Gurobi Cloud

}  A virtual machine runningUbuntu Linux ◦  Includes standard tools:

editors, compilers, etc. ◦  Can add virtually any other Linux tools

}  Has the latest version of Gurobi Optimizer

}  Runs on Amazon Elastic Compute Cloud (EC2)

13 © 2010 Gurobi Optimization 17-Nov-10

Page 14: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Gurobi Cloud

}  An EC2 AMI (Amazon Machine Image) ◦  64-bit Linux machine ◦  Gurobi Cloud is available in 3 instance types: �  2 cores, 17GB memory ($4/hr) �  4 cores, 34GB memory ($6/hr) �  8 cores, 68GB memory ($8/hr)

◦  You are basically renting a Linux machine with Gurobi Optimizer pre-installed on it

17-Nov-10 © 2010 Gurobi Optimization 14

Page 15: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Outline

}  Background

}  Brief overview of cloud computing

}  The cloud as an optimization platform

}  Future opportunities

15 © 2010 Gurobi Optimization 17-Nov-10

Page 16: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Typical phases of an optimization project }  Initial experimentation ◦  Build a simple model, test it on sample data

}  Production scoping ◦  Understand what will be required to solve ‘real’

models }  Initial deployment ◦  Roll out model for production use

}  Maintenance (scaling) ◦  Cope with growth in demand

Less common for academics

17-Nov-10 © 2010 Gurobi Optimization 16

Page 17: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Why use the cloud for initial experimentation }  No software setup required ◦  Software is pre-installed on cloud system

17-Nov-10 © 2010 Gurobi Optimization 17

Page 18: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Why use the cloud for production scoping }  No need to purchase software or hardware }  Can run production models on a real machine ◦  Check runtime ◦  Check memory requirements

17-Nov-10 © 2010 Gurobi Optimization 18

Page 19: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Why use the cloud for initial deployment }  No need to purchase hardware or software }  High bandwidth internet connection

17-Nov-10 © 2010 Gurobi Optimization 19

Page 20: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Why use the cloud for scaling

}  In a matter of minutes, you can obtain ◦  More machines ◦  Machines with more memory ◦  Machines with more processing power

}  Less need to predict computing demands

17-Nov-10 © 2010 Gurobi Optimization 20

Page 21: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Rating the cloud for optimization

Initial Experimentation ? Deployment Scoping ? Initial Deployment ? Scaling ?

17-Nov-10 © 2010 Gurobi Optimization 21

Page 22: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Getting started: traditional vs. cloud }  Trial on your local machine: ◦  Download installer (Windows, Linux, Mac) ◦  Launch installer ◦  Done

}  Gurobi Cloud trial: ◦  Streamlined Amazon EC2 instructions: �  Still, Gurobi Cloud instructions are 18 pages ◦  Mostly devoted to the mechanics of creating an EC2

instance �  Primarily an IT task – unfamiliar to many optimization

developers ◦  Linux only

17-Nov-10 © 2010 Gurobi Optimization 22

Page 23: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Rating the cloud for optimization

Initial Experimentation X Deployment Scoping ? Initial Deployment ? Scaling ?

17-Nov-10 © 2010 Gurobi Optimization 23

Page 24: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Deployment scoping

}  Optimization model is built }  Need to test it on real data: ◦  Runtime ◦  Memory usage ◦  etc.

}  You typically haven’t purchased the deployment platform yet

17-Nov-10 © 2010 Gurobi Optimization 24

Page 25: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Scoping: traditional vs. cloud

}  Traditional scoping: ◦  Obtain a temporary evaluation license ◦  Run a few models on available resources ◦  Extrapolate

}  Cloud computing scoping: ◦  Pick a machine type ◦  Run your datasets ◦  If machine falls short, pick a bigger one

17-Nov-10 © 2010 Gurobi Optimization 25

Page 26: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Deployment scoping on the cloud

}  No need to… ◦  Fill out a requisition form ◦  Get a dedicated computer ◦  Get approval to install new software ◦  etc.

17-Nov-10 © 2010 Gurobi Optimization 26

Page 27: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Rating the cloud for optimization

Initial Experimentation X Deployment Scoping P Initial Deployment ? Scaling ?

17-Nov-10 © 2010 Gurobi Optimization 27

Page 28: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Initial deployment

}  When optimization model is fully tested

}  Time to deploy: ◦  Real users ◦  Real data

}  No longer a controlled environment

17-Nov-10 © 2010 Gurobi Optimization 28

Page 29: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Initial deployment

}  Typical optimization application involves a ‘software stack’ ◦  Optimization solver ◦  Database ◦  GUI tools ◦  etc.

}  Cloud virtual machines generally provide just 1 commercial tool ◦  No simple way to ‘stack’different AMIs �  Ex: we know of no way to provide an AMI that includes both

Gurobi and Oracle

17-Nov-10 © 2010 Gurobi Optimization 29

Page 30: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Why no Gurobi Cloud for Windows?

}  Viable Windows development machine requires: ◦  Windows OS ◦  Visual Studio ◦  Anti-virus software

}  No way to bundle these together with Gurobi in one AMI

17-Nov-10 © 2010 Gurobi Optimization 30

Page 31: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Initial deployment

}  Most optimization applications meant for ‘in-house’ use

}  Resistance to putting private data “in the cloud” ◦  Cloud services typically have quite solid security

options ◦  May just be a matter of user acceptance

17-Nov-10 © 2010 Gurobi Optimization 31

Page 32: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Optimization On-Demand

}  Appealing option: ◦  Application formulates optimization model ◦  Invokes cloud service to optimize model

}  Issues: ◦  Startup time �  Typically a few minutes, can be more

17-Nov-10 © 2010 Gurobi Optimization 32

Page 33: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Optimization On-Demand

}  Issues (continued): ◦  Communication time: �  Recent customer example:

�  5 hours to transfer compressed model over the Web �  30 minutes to solve to optimality

◦  Management: �  Not easy to write stub routines to reliably transfer the

model, solve it, return solution, handle user interrupts, errors, queuing requests, etc.

17-Nov-10 © 2010 Gurobi Optimization 33

Page 34: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

On Demand Optimization

}  Issues (continued): ◦  Data persistence: �  Default: data vanishes when you are done with cloud

machine �  Persistent storage options still quite cumbersome �  Seems that NEOS has some solution to this

17-Nov-10 © 2010 Gurobi Optimization 34

Page 35: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Rating the cloud for optimization

Initial Experimentation X Deployment Scoping P Initial Deployment X Scaling ?

17-Nov-10 © 2010 Gurobi Optimization 35

Page 36: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Scaling via the cloud

}  Nice way to cope with unusual/unexpected spikes in… ◦  Model size ◦  Number of users

}  Allows you to plan for the typical case, not the worst case

17-Nov-10 © 2010 Gurobi Optimization 36

Page 37: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Rating the cloud for optimization

Initial Experimentation X Deployment Scoping P Initial Deployment X Scaling P

17-Nov-10 © 2010 Gurobi Optimization 37

Page 38: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Cloud vs. traditional?

}  As a developer tool, cloud computing is not a replacement for local development resources ◦  It doesn’t have to be

}  A useful extension of capabilities }  Expands the set of available tools

17-Nov-10 © 2010 Gurobi Optimization 38

Page 39: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Perceived value

}  Gurobi Cloud usage ◦  Modest hourly usage at this point

}  Gurobi Cloud influence ◦  Very frequent point of discussion among customers

and potential customers ◦  Like a fire extinguisher: �  Not used that often �  Reassuring to know that it is there

17-Nov-10 © 2010 Gurobi Optimization 39

Page 40: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Outline

}  Background

}  Brief overview of cloud computing

}  The cloud as an optimization platform

}  Future opportunities

40 © 2010 Gurobi Optimization 17-Nov-10

Page 41: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Getting started

}  Improve the initial experience ◦  Make it easier to take an existing MPS or LP file and

test it with Gurobi

}  Documentation, tutorials, tools

}  But: security is still complex and important

17-Nov-10 © 2010 Gurobi Optimization 41

Page 42: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Bundling

}  A la carte software stack ◦  Build a machine that includes multiple software

products

}  A business problem, not a technical one ◦  Ensuring that tool vendors get paid

(Gurobi, Microsoft, Oracle, etc.)

17-Nov-10 © 2010 Gurobi Optimization 42

Page 43: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Persistence

}  ‘Sleep’ mode for a cloud system? ◦  Quicker startup ◦  Data persistence ◦  Lower cost when not in use

17-Nov-10 © 2010 Gurobi Optimization 43

Page 44: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Scaling: concurrent models

}  Suppose you need to solve many models concurrently

}  Cloud is perfect for adding servers to meet demand

}  Balance load among multiple servers ◦  This is a manual process today

44 © 2010 Gurobi Optimization 17-Nov-10

Page 45: Cloud Computing in Computational Optimizationcourses.washington.edu/inde59x/SeminarAutumn2010/Gurobi-Cloud-Glockner.pdfVirtualization ! Lets one computer do the work of many at the

Scaling: huge models

}  Link multiple cloud instances to solve a huge model

}  Issues: ◦  Not helpful for LP �  No parallel simplex �  Parallel barrier requires SMP hardware ◦  Not helpful for MIPs where the root node is the

bottleneck ◦  Only helpful for MIPs where the solve time depends

on speed to traverse B&C nodes

45 © 2010 Gurobi Optimization 17-Nov-10