cloud computing in computational...
TRANSCRIPT
Cloud Computing in Computational Optimization
Greg Glockner
Outline
} Background
} Brief overview of cloud computing
} The cloud as an optimization platform
} Future opportunities
2 © 2010 Gurobi Optimization 17-Nov-10
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
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
Innovative delivery of optimization
} Straightforward licensing terms
} Free academic licenses
} Gurobi Cloud
5 © 2010 Gurobi Optimization 17-Nov-10
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
Outline
} Background
} Brief overview of cloud computing
} The cloud as an optimization platform
} Future opportunities
7 © 2010 Gurobi Optimization 17-Nov-10
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
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
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
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)
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
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
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
Outline
} Background
} Brief overview of cloud computing
} The cloud as an optimization platform
} Future opportunities
15 © 2010 Gurobi Optimization 17-Nov-10
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
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
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
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
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
Rating the cloud for optimization
Initial Experimentation ? Deployment Scoping ? Initial Deployment ? Scaling ?
17-Nov-10 © 2010 Gurobi Optimization 21
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
Rating the cloud for optimization
Initial Experimentation X Deployment Scoping ? Initial Deployment ? Scaling ?
17-Nov-10 © 2010 Gurobi Optimization 23
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
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
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
Rating the cloud for optimization
Initial Experimentation X Deployment Scoping P Initial Deployment ? Scaling ?
17-Nov-10 © 2010 Gurobi Optimization 27
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
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
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
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
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
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
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
Rating the cloud for optimization
Initial Experimentation X Deployment Scoping P Initial Deployment X Scaling ?
17-Nov-10 © 2010 Gurobi Optimization 35
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
Rating the cloud for optimization
Initial Experimentation X Deployment Scoping P Initial Deployment X Scaling P
17-Nov-10 © 2010 Gurobi Optimization 37
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
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
Outline
} Background
} Brief overview of cloud computing
} The cloud as an optimization platform
} Future opportunities
40 © 2010 Gurobi Optimization 17-Nov-10
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
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
Persistence
} ‘Sleep’ mode for a cloud system? ◦ Quicker startup ◦ Data persistence ◦ Lower cost when not in use
17-Nov-10 © 2010 Gurobi Optimization 43
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
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