16
$\begingroup$

Since this question is related to computation, I decided to post here. Hopefully it will be seen as appropriate.

I've just started running atmospheric and oceanic models, and I realize that I need more cores, memory, and disk space than my current desktop has. My institution has a high performance computing service, where researchers can rent cores at a fixed price per core per month. No one in my research group has used this service, but instead run jobs their beefed up machines. However, several other research groups in the department pool funds and take advantage of the computing service.

Now I need to make a decision as to whether to purchase a new machine with 60 GB of RAM, or rent cores from the computing service. What factors should I consider in making this decision? What are the advantages of using a computing service than to purchase a dedicated machine?

$\endgroup$
3
  • 1
    $\begingroup$ What country are you in? You might be able to apply for time on a local/regional/state/national computing resource where everything is free. $\endgroup$
    – Bill Barth
    May 31, 2015 at 11:47
  • $\begingroup$ I'm in MI, USA. Here is the service I was talking about: arc-ts.umich.edu/flux/flux-service-options $\endgroup$ May 31, 2015 at 17:46
  • $\begingroup$ Thanks, everyone for taking the time to provide your input. My advisor and I decided to try out the cluster service. In addition to the factors already brought up, the cluster was also available right away - meaning we don't have to wait around for a machine to ship and for software to get installed. It took me a few hours to get acquainted with basic tasks of using the cluster (login, file transfer, job submission scripts), but so far things are working beautifully. $\endgroup$ Jun 7, 2015 at 21:14

4 Answers 4

19
$\begingroup$

Ultimately, the answer to this question depends on the prices being charged for the services that you need. At some very low price, this would almost certainly be better than buying your own computer, while at some higher price you would be better off buying your own computer. The case for using a shared resource is pretty strong though and these factors might overwhelm the amortized cost of the computer.

Pros:

  1. No system administration hassle. Even if you have the skills (and you probably don't unless you've recently had a full time job doing this), administering and securing the computer takes time. Since it doesn't take much more time to manage 1,000 computers than it takes to manage 1, there is a huge economy of scale.

  2. Busy/idle efficiency. Unless your research is very unusual, you probably don't have a constant 24/7/365 workload for your computer. You might go on vacation for a few weeks and not have any jobs to run during that time, or you might be preparing for a conference and have lots of extra work. A shared resource handles these situations well.

  3. Access to expert advice. Your shared resource might come with free help from an expert at the computing center.

Cons:

  1. You don't own the resource, so you might lose access or have to pay a higher price in the future.
$\endgroup$
6
  • $\begingroup$ Thanks for the pointers. The shared resource cost is $6.60 per core/month for me (arc-ts.umich.edu/flux/flux-service-options). I believe this is more costly than purchasing own. And we actually have departmental IT staff who is available for the system administration of our own desktop and research computers. But I agree with you on the point of utilization efficiency. Also, if my needs evolved beyond what I purchased, then the initial investment would be wasted. $\endgroup$ May 31, 2015 at 17:53
  • $\begingroup$ In general, these look like pretty good prices to me, with good options for on demand use, GPUs, and Phi coprocessors. If you figure a useful life of no more than about 3 years before the computer you buy is outdated, I think you'll find that this is pretty cost competitive. $\endgroup$ May 31, 2015 at 19:19
  • 1
    $\begingroup$ Also, the service described in the link comes with lots of licensed and installed software. $\endgroup$ May 31, 2015 at 21:34
  • $\begingroup$ I have to agree on renting the service being the better choice. Computer hardware loses its value faster than cars (when it comes to value measure by its computing power), its value decreases exponentially. So over time your initial investment will actually near 0. So the money you spend in renting the hardware isn't as badly a spent as buying the hardware. Finally, in your case, it seems like the actual investment is not on the computing power but on the results from using the computing power. $\endgroup$ Jun 1, 2015 at 1:44
  • $\begingroup$ So your decision is an economic decision, look at it this way: money spent = M, Value from results = R, Value over time of computing Power = P. For (a) renting the expected value (EV) of using your money (M) will be: EV(M) = R - P, if we assume that R >> P, then you are getting good value out of your money (M). In the case of (b) buying the cores your EV(M) = R + P, the problem that P over time tends to become 0, so you get: EV(M) = R. $\endgroup$ Jun 1, 2015 at 1:45
12
$\begingroup$

$6.60/core-month is less than a penny a core-hour. This is a good deal, and it's a better deal than you can get if you buy identical hardware yourself and pay your own power and sysadmin bill. If all you are going to do is buy one probably less powerful workstation node with sufficient RAM, then you may do better than this, but you may also complete your work faster on the better hardware offered by your central service organization. They presumably only charge you when you are actually running, so you should compare the running cost of a single computation, to the cost of what you can buy on your own.

Will you admin this box, or will you pay someone? If you will pay a grad student to do this, then will this lengthen their stay in grad school? Is that fair? Who pays your power bill? Can you effectively cool your purchase, or will you have to upgrade the A/C in your office? Who works on the machine if it breaks, and can you afford to be down while it's down? How many core-months can you get for the cost of the machine you might buy? Etc.

$\endgroup$
2
  • 1
    $\begingroup$ See the page linked to by the original poster. On Demand prices are about twice as high per second but still seem reasonable. $\endgroup$ May 31, 2015 at 19:24
  • 1
    $\begingroup$ Not my favorite model, but I get it now. Still at those prices they are good. Committing to a month's worth of work for $6.60/core-month/month is still a great deal $\endgroup$
    – Bill Barth
    May 31, 2015 at 20:31
6
$\begingroup$

Will you be using it all the time, for a long time?

In general, the economics for this are simple - if you need a valuable resource for short intermittent bursts, it will generally be cheaper to rent than own; and if you expect to use most of it for a prolonged time then it will be cheaper to own it.

A simple rule of thumb actually is about the terms used - is a core-month a meaningful metric for you, one where you expect to be using a lot of cores for a lot of months in a stable manner? It may be reasonable to own the resource in this case; however if you would describe your load in core-hours (even if the total amount would be the same) then it would be efficient to share it with others by, for example, renting it.

Furthermore, there is a scaling advantage - if for your work amount the cost of buying and renting come out similar, then there is still a big difference between scheduling a 1200 core-hour job to be run on the 12 cores of a server you bought and getting a response in 4 days and being able to run it on rented 1200 cores in a single hour, if your tasks parallelize well.

$\endgroup$
1
  • $\begingroup$ The machine that you but today will be out of date within a few (say three) years, so you've got to amortize the cost quickly... $\endgroup$ May 31, 2015 at 22:05
3
$\begingroup$

Renting the service is the better choice. Computer hardware loses its value faster than cars (when it comes to value measure by its computing power), its value decreases exponentially.

That means over time your initial investment of buying the cores will actually near 0. So the money you spend in renting the hardware isn't that much worse than buying the hardware.

Finally, in your case, it seems like what you gain from investment is not the computing power but on the results from using the computing power.

So your decision is an economic decision, look at it this way:

  • Money spent = M
  • Value from results = R
  • Value over time of computing Power = P.

    1. Renting has an expected value (EV) of:

      EV(M) = R

      Another thing to consider in case of renting, is that the same investment M will give you more computer power over time, because the same technology becomes exponentially cheaper over time.

    2. In the case of (b) buying the cores your EV is:

      EV(M) = R + P

      Assuming that the results you are getting are valuable, and that the value of those results is higher than the value of the cores (i.e. R >> P), then the value of P becomes irrelevant.

      Another problem is that P over time tends to become 0 because technology becomes obsolete at an exponential rate, having its value near 0 as time passes, so if you integrate EV over Time t you get: EV over T(M) = R

It is easy to see that buying your own cores has very little expected value added to your investment (M).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.