Ask HN: help needed on VM placement algorithm

https://news.ycombinator.com/item?id=605146
by kuvkir • 17 years ago
8 19 17 years ago

Hello!

I'm working on a "cloud computing" management system and need help on a VM placement/provision algorithm.

Let us assume we have a cluster of N physical servers. Each server has a single type of resource - slots (Note that in real world servers have more resources CPU/memory/disk/etc...). Let a server have M slots. Servers can run virtual machines, every VM occupies from 1 to M slots. Once the VM (with k slots) starts on a server, the number of free server slots is reduced accordingly. When the VM stops, the occupied slots are freed.

VMs can live-migrate across servers. For example, when there is no server with M free slots (every server runs at least one VM), and we need to start an M-slot VM - there we need to rearrange VMs across a cluster.

The goal is implement a VM placement policy to satisfy the following requirements:

* utilize server resources in a uniform way, e.g. if we have 3 servers and 3 single-slot VMs we should place them on different servers.

* minimize number of VM migrations as it is a costly operation.

It looks like the problem in question has something to do with multiple knapsack problem, so I'm looking for some kind of heuristic algorithm.

Any advise / papers / working solutions ?

Thanks in advance,

Kirill

Related Stories

Loading related stories...

Source preview

news.ycombinator.com