HN user

kuvkir

103 karma
Posts8
Comments27
View on HN

I think of it as a open-for-all online university, in the beginning at least for Russian speaking students as I have access to many Russian universities and professors who might like to participate.

Regarding the problem of schoolkids misusing the community to solve their homework, if the project is targeted for people who really want to learn something, doing so is cheating themselves. Also, for university students I believe the effect of this problem is not so evident as in middle schools.

Given real conditions that the minimal slot for VM is a 256MB RAM instance, with a physical server having 64 such slots, the educated guess is that the distribution might be similar to the normal distribution with a centre of a 2-slot VM, as 512MB VM is the most popular choice on our target market.

How can that particular fact be of help ?

We can't reject as it'll be used in the commercial application with users paying money for using cloud resources.

Basically what is needed is to find the list of VM migrations needed to be done to free enough space for a new VM (of course, if it's ever possible).

That's not that simple.

Let us imagine the following configuration.

We have 3 servers each of 4 slots, below is the state of each server (the state of a server is a set of VMs it's running)

[3], [2, 1] and [2].

Say we need to place a new 3-slot VM to our system. We'll pick the third server as less-loaded and try to accomodate the second server. Together they have enough space, but we can't provision the VM withour using all 3 servers. The solution here is

1) migrate a 1-slot VM from server 2 to server 1

2) migrate a 2-slot VM from server 2 to server 3

3) place the new VM to server 2

Thanks for your reply, eru!

> Do you need an online solution or do you know all demands in advance?

The online solution, as we don't know the type of load in advance. It resembles tetris in some way, meaning that we don't know which piece you'll get next.

> Also what do you do when not enough slots are available for all VMs?

If it's not theoretically possible to host all VMs like in examples you provided, nothing can be done. But it's not an algorithmic problem, in real world new servers should be bought in that case.

I wouldn't say Vim has a ridiculous learning curve, it took me about 5 minutes to read through vimtutor and get started with vim.

However, being a vim adept for a long time hasn't stopped me from switching to textmate when it came to developing rails apps. ;)