Slashdot Mirror


Distributed Computing Economics

machaut writes "In a ClusterComputing.org article, Jim Gray, director of Microsoft's Bay Area Research Lab, provides an interesting economic analysis for building distributed systems. When do you choose a grid over a cluster or a supercomputer? When does it pay off to move a task to the data vs moving the data to the task? He takes current hardware and networking costs into account to answer those questions."

15 of 130 comments (clear)

  1. s@h, et. al.. by i.r.id10t · · Score: 4, Interesting

    .. have already figured it out - let other willing users pay the power bill, bandwidth cost, etc. and crunch the data in their spare time. Seems to be working well for seti@home, etc.

    Of course, if you are working with sensitive data (military stuff, major trade secrets, etc.) your security/privacy needs will outweigh the costs involved with doing it all in house.

    --
    Don't blame me, I voted for Kodos
  2. hmm... by xao+gypsie · · Score: 3, Interesting

    interesting thought, but what is the difference between this and the age old concept of the cost/benefit relationship...? im not trolling, it seems that it is jsut that concept with a tech twist..

    --


    xao
    http://TheHillforum.hopto.org
  3. The bad thing about distrubuted computing by fishynet · · Score: 4, Interesting

    All the work must(should) be double checked to make sure everything is correct

    --

    Cats: All your base are belong to us.
    Captain: Take off every sig !!
  4. Strange math by Rosco+P.+Coltrane · · Score: 2, Interesting

    From the article :

    1 Mbps WAN link $100/month

    From this we conclude that one dollar equates to:
    $1=

    1 GB sent over the WAN


    Oh yeah ? 1 Mpbs for a month == 2678400Gb per month == 334800GB per month. 334800GB / 100 == 3.348TB

    From this I conclude that one dollar equates to 3.348 terabytes sent over the WAN.

    Gosh that was scary. I can restart xMule now ...

    --
    "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
  5. FedEx wasn't mentioned by bigpat · · Score: 4, Interesting

    Just last year we were discussing data transfer over the time it would take to overnight some data in a package, worked out that it was faster and wouldn't clog up our line to burn the DVDs and send them through an international package service vs send it over the T1s. I think with all but the largest businesses this is probably still true for larger (Gigabytes) amounts of data. Network costs are too high to be putting data far from where it is to be used. Whether CEOs realize it or not, this has a great effect on the ways businesses with multiple locations structure their company and work together.

  6. Re:Does that include electrical costs? by TopShelf · · Score: 3, Interesting

    That shows how this analysis is done from the perspective of the party performing the investigation, as opposed to society as a whole. For instance, Seti@Home's costs in terms of user electrical, maintenance, etc. isn't considered here...

    --
    Stop by my site where I write about ERP systems & more
  7. "Put the computation near the data" by heironymouscoward · · Score: 3, Interesting

    This is an old maxim of design of any multi-tiered system. The reason is this: computation is largely about selecting and filtering data, before sending the results on to further tiers. This selection and filtering process requires many times more bandwidth towards the data source than it does towards the client layers.
    This only stops being true when there is no significant data, i.e. when the computation creates the data, as in the author's examples of render farms.

    --
    Ceci n'est pas une signature
  8. Anybody tried it? by LinuxParanoid · · Score: 5, Interesting

    It's a nice piece of analysis. Someone could have done it 8 years ago when Java came out; the facts are not significantly different (The values are different of course but the ratios involved are pretty similar. I did some thinking along these lines back then, and then in 2000 when considering working for a "hot P2P company" that an old acquaintance of mine was running.)

    My thinking went something like this: There are only a few, "niche" applications which need more compute power and which people pay for (distributed rendering, CFD, FEA, maybe a couple others). Maybe you could build that into a 10-30 million dollar business if you overcame a zillion obstacles but it didn't look like a billion or multi-billion dollar business. The applications for which people buy beefy servers, and which have a monetary payback, are mostly database applications. For those, you need to move the entire database near to the number-crunching PC, and that's not really feasible due to the cost of transporting Gigabytes of data or the unlikelihood that the PC's hard disk can store all the giga/terabytes of information potentially relevant for the computation. Not to mention the security problem.

    And Jim Gray's analysis lays out in more precise economic terms why it doesn't make sense. I like how he even calculated the relative merits of a Beowulf-like cluster of PCs versus P2P which I never really analyzed (I lumped them together as basically similar.)

    That said, has anybody even made a stab at designing or implementing a relational database with a P2P architecture? I know that there's Oracle Cluster Server, but I'm thinking of something more low-end and more distributed.

    --LP

    1. Re:Anybody tried it? by gillbates · · Score: 3, Interesting
      That said, has anybody even made a stab at designing or implementing a relational database with a P2P architecture

      Actually, I'm working on something similar for a customer of mine. The real challenge lies in the solutions to the following problems:

      • What happens when a node 'disappears' from the network? The traditional approach is to use a redundant backup, but doing so increases bandwidth usage. By the time you get around to a triple-redundant system, you're effectively working with only a third of your network's bandwidth.
      • As the number of nodes grows, the likelihood that two or more machines will need data not cached locally increases. As the system grows, there comes a point at which the entire system effectively becomes constrained by the slowest responding machine in the entire network. (For example, if I have 2 machines, half of the database will reside on the other machine, meaning that the local cache contains half of the result set, and half travels over the network. However, if I have 10 machines, each machine has only 1/10 of the database, meaning that 90% of the result set must travel over the network. To make matters worse, if each machine is a client as well, then in a 10 machine cluster, the average client will spend 9/10 database io cycles fulfilling requests for other clients, and only 1/10 io cycles performing its own queries.)
      At this point, I'm literally betting my career on solving the above problems. Network bandwidth is the real constraint; I'm currently working on ways to reduce the amount I have to send over the network. (for example, I'm considering an adaptive-locking strategy where a record would be marked for update on the remote server, but the transactions would be 'bundled' and sent across the network in aggregate to reduce network latency.
      --
      The society for a thought-free internet welcomes you.
  9. Attack on IBM? by Jacco+de+Leeuw · · Score: 2, Interesting
    Some companies, notably IBM, Salesforce.com, Oracle.com and others are touting outsourcing, or "On Demand Computing," as an innovative way to reduce costs. There are some successes, but many more failures.

    The recurrent theme of this analysis is that "On Demand" computing is only economical for very CPU-intensive (100,000 instructions per byte or a CPU-day per gigabyte of network traffic) applications.

    This must be considered an attack on IBM's fairly visible On-Demand Computing campaign.

    Beowulf clusters have completely different networking economics. [...] That is why rendering farms and BLAST search engines are routinely built using Beowulf clusters.

    This reminds me of those Microsoft-funded TCO reports. They concede that Linux has cost advantages in a very specific field (webhosting; Beowulf clusters), because anyone intuitively knows it's true. For all the rest: use Microsoft stuff. That's what they are saying.

    --
    -------
    Warning: Slashdot may contain traces of nuts.
  10. Re:Does that include electrical costs? by yintercept · · Score: 4, Interesting

    The whole goal of distributed computing is to externalize costs. When someone else bears your cost...then, yeah, it's free. This is the idea behind P2P. P2P is significantly less efficient than specialized servers, but externalizes costs. In some cases, SETI type arrangements use real idle equipment. In other cases, it pushes real costs onto other unwitting groups.

    Your employer has to pay for the electricity if you leave a bunch of computers on at night to help calculate protein folds. It is not necessarily a bad thing...just that an unwitting party is bearing a cost. In many cases the cost is of little consequence...in some cases it is.

  11. Re:Obligatory conspiracy theory by stiggle · · Score: 2, Interesting

    You mean the one that uses the spare processing power of the XBox live users to number crunch for Microsoft?

  12. Google by The+Creator · · Score: 3, Interesting
    For example, in 2002 Google had an operations staff of 25 who managed its two petabyte database and 10,000 servers spread across several sites.


    And what OS where they using? :)

    --

    FRA: STFU GTFO
  13. Self-employment by swb · · Score: 2, Interesting

    What if it became a self-employment option?

    In other words, my home office, instead of being a revenue-sucking hole filled with computers was instead a source of distributed computing power I could sell on an ad-hoc basis? I eat the tab for the upkeep and get paid cash per work unit I'm able to get done.

  14. only half of the equation by pfisher42 · · Score: 2, Interesting

    This is a good analysis of the hardware side of the cost/benefit analysis of distributed computing, but that's nowhere near the full story.

    For example, per the thesis of this article (that network communication is the largest expense of distributed computing), the Salesforce.com model isn't valid. Yet they're a great success story of computational outsourcing. Huh?

    The key, I think, is that outsourcing eliminates distractions, and gets your employees back to working at your company's core competency. You're good at selling widgets, so you let Salesforce.com be your HR department.

    This sort of analysis is useful for hardware, and could also be applied to meatware resources. It's the same essence of the TCO argument from Microsoft which, I think, does have validity.

    When you bill your time at $50 an hour, you'll gladly pay $300 for an operating system rather than use a free one that takes 4 hours to install, 10 hours to learn command line computerese you never wanted to know anyway and many hours dealing with conversion and compatibility hassles.