How Long Does It Take to Deploy 100 Virtual Machines?

Work done by China Mobile in the Big Cloud Elastic Computing System 

The answer is less than 5 minutes!

We recently made an interesting test to see how fast can OpenNebula deploy a huge amount of VMs in short time. The testbed includes 200 hosts and runs VMs in local disk. For some reasons the scheduler policy must be setup as Packing Policy. To accelerate the deployment speed we use the cache patch (available at In this test we call “onevm create” command 100 times in a script to create 100 VMs as fast as possible.

In the first test we used OpenNebula mm_sched scheduler with the following configuration:

MAX_VM = 300

The result is that about 30VMs booted in 1 minute, the next 30 VMs  in 20 minutes, and the last 40 VMs booted finally in 60 minutes.  The next figure shows the overall evolution of the VM set (X-axis is the number of VMs, and Y-axis is the deployment time in seconds).

We thought that image caching can help in this scenario, but also a couple of optimizations where needed. So we made the second test with the following configurations:

MAX_VM = 300

Additionally, we increased the concurrency for the TM ssh driver (up to 100 threads) to not to limit the number of concurrent image transfers. Thanks Ruben (OpenNebula Chief Architect) for this hint.

As the figure shows, in this round, all VMs can be finished in one sched interval, being roughly 5 minutes the slowest boot time.

The conclusion is :

  1. Image Caching can greatly accelerate the deployment speed when OpenNebula uses local storage.
  2. To make image cache efficient some additional optimizations to the scheduler configuration may be needed.
  3. OpenNebula is good at scheduling a big amount of VM requests in short time.
3 replies
  1. Fred Smit says:

    How big are the VM images ? What are their characteristics ? What class of servers? Networking speeds ? What is the underlying storage ?

  2. Big Cloud says:

    Image size is about 20 GB. Servers are general 2 CPU nodes with 16G ram and 4 sata disks with raid5. We accelerate VM deployment with VM image cache in local disk. Without cache, one vm may take more than half an hour to deploy.

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>