Why we'll continue to have local compute servers in the future

March 31, 2013

On the surface and ignoring some issues, one of the easiest things to offload into cloud computing should be our compute servers. But in practice in our environment it isn't so; as a result I expect that we'll be running some degree of compute servers for years to come.

The great advantage that local compute servers have is that the incremental cost for a grad student to use them is zero. The grad student and/or their professor does not have to find some money (even spare change money) in the budget to buy N hours of compute time on the cloud of your choice; they just log in and start running things. This may not run anywhere near as fast as it could in a cloud but in a university environment this doesn't matter. What matters is that no one has to find any money, anywhere, to have their grad student do some computing.

(This has additional effects. For instance, you don't have to worry that one grad student in your group is going to accidentally run something unusually compute intensive and drain the group's computing budget. Of course a professor could get around that by setting individual computing budgets for their grad students, but then they have to spend time coming up with these budgets and then listening to grad students beg for more compute time. This is an instance of the general thing that money in universities always involves bureaucracy.)

In a university, it doesn't matter that the total cost of ownership for some compute servers might be higher than just getting the same computing in the cloud. What matters is that you can buy the compute servers with one-time money and then just run them for free (generally we can ignore the other ongoing costs for various reasons), whereas using cloud computing requires ongoing injections of money over time. One time money is much easier to get and once the department has spent it on a compute server, everyone in the department can use it regardless of their current funding levels.

(Varying funding levels is the other elephant in the woodpile. My sense is that it is politically much easier to buy a compute server for the department, even if it is funded out of someone's grant, than it would be to transfer money from flush people to lean people in order to fund the latter's cloud computing. The net monetary effect could be the same but the perception would likely be very different.)

Comments on this page:

From at 2013-04-01 09:34:15:

A result of this is that high-powered machines idle (or, as it has been the case here, spin a few cores on 100% due to a hung KDE session...) for weeks because noone knows they are there. ;)

Electricity is cheaper than cloud computing, tho.

From at 2013-04-01 10:18:14:

You said:

The great advantage that local compute servers have is that the incremental cost for a grad student to use them is zero.

I'm not sure that you're looking at this the right way. You are currently covering the cost of compute time for faculty and graduate students through the capital equipment budget (to purchase hardware), the facilities budget (to pay for power and cooling), and the personnel budget (to pay for staff to maintain the hardware). None of these are zero-cost items, and yet faculty and students are able to take advantage of these services without needing to find money in their own budgets for each use.

You're certainly not simply "buying them and running them for free". It's true that sometimes the cost of facilities comes from a different part of the school than the hardware purchase, but the cost to the school is still substantial. And the purchase cost of the hardware, distributed over its useful lifetime, is also significant. We once did the calculation and found that the cost of hardware and facilities for our compute resources over a three-year period was roughly equivalent to purchasing equivalent computing power as reserved AWS instances. This did not factor in the cost of storage or data transfer.

If you were to cover the cost of access to a cloud-hosted compute service, then from the perspective of faculty and students there would still be no incremental cost for their use. And in theory, your expenditures for hardware and facilities would be reduced, ideally by an amount that could cover the cost of the cloud resource utilization, and you would save the staff time that would otherwise be used for maintaining the local compute resources.

From at 2013-04-01 15:55:37:

Each grant that comes in has an unavoidable overhead figure. (the amount varies between institutions.) This pays for nebulous things that are “shared” resources like garbage collection, electricity, and sometimes network bandwidth.

While the cost of running the system is not Zero, it is often a way to get benefit from the overhead.

Also, some granting agencies will not pay for ongoing costs, but will pay for large on-time purchases.

It is very much a perversion based on Accounting.

By cks at 2013-04-01 16:17:18:

I want to clarify something to be clear: when I said that the incremental cost for graduate students to use a compute server is zero, I meant that literally. No money changes hands or has to. Of course the actual operating cost is non-zero, but that's another issue that is tied up in many complex and highly political layers.

It may surprise or horrify you but we don't actually have a capital equipment budget as such. Almost all of our compute servers have in effect been free because they were part of dedicated, specific grants (as opposed to purchased with general purpose money we could have spent on anything). The other costs of operation are either negligible (we have a well honed automation framework that makes managing one more standard Ubuntu machine basically free) or diffuse (the power and cooling costs). If we had enough compute servers to form a cluster or the like these costs might become visible, but we don't and we're unlikely to get that many.

(Researchers who get grants for computing clusters have so far bought and operated them themselves.)

But with all of that said, I'm not arguing (at least in this entry) about the relative economics if you take a whole-costs picture; I'm willing to posit that cloud computing could cost no more than the whole operating costs. But I think it would be very difficult on a political level to put together a cloud computing environment where compute servers were still 'free' to grad students in that neither grad students nor their professors had to even think about how much the computation was costing them.

(Things might be different if we were providing all of this computation through an actual ongoing budget, but that is not the model we operate under and I don't know if that will ever change.)

Written on 31 March 2013.
« Can we really use the cloud?
Why listen(2)'s backlog parameter has such an odd meaning »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Mar 31 21:49:34 2013
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.