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."
Ungodly numbers of "Beo-Wolf" cluster jokes arriving now!
The preceding post was not a Slashvertisement.
How much does it cost to keep hundreds of regular computers (with all their extra peripherals) crunching away vs. a specially designed computer/set of computers.
When do you choose a grid over a cluster or a supercomputer?
When you have a really high-paying job where you are paid to make such decisions.
.. 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
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
I was happy that Gray covered SETI@Home as I think the nature of SETI is akin to where certain aspects of distributed computing may go in the future. However, I argue that he left some some key parts of SETI economics at the door; most notably, data integrity and security. As I understand it, *over half* of SETI's processing power, bandwidth, and so forth is used to verify data integrity as it's using untrusted hosts to do it's calculations.
This doesn't make SETI a poor supercomputer, but it does change the economics of it. An economic model of computing resources which accounts for work done by untrusted hosts as involving different overhead as that done by trusted hosts would be a much more useful metric to think in terms of.
The articles states that SETI@home has a whopping 54 teraflops of computing power. This is an unfathomable number of cpu cycles, and guess what, it is alled used FOR FREE! This is a great example of how a community of users is willing to sacrifice something (unused cpu cycles and small amounts of bandwidth) to meet some great future goal (contact with extraterrestrials). Did I mention it is FREE? I wonder how much money researchers could save or use in a better fashion if they all used distributed computing instead of expensive (super)computers. Some already have done this, and I know that there are distributed efforts currently processing ways to fight cancer and aids.
Canadian Cynic, canadian politics is less boring than you
Greedy overcharging telcos make grid computing over the internet more expensive than traditional supercomputing, unless you can get people to pay for you (SETI).
Beep beep.
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 !!
Microsoft and IBM tout web services as a new computing model - Internet-scale distributed computing.
.NET message passing. Remember folks, Microsoft never does anything without a reason, and certainly never does anything for the good of anybody else but themselves.
They observe that the current Internet is designed for people interacting with computers. Traffic on the future Internet will be dominated by computer-to-computer interactions.
And that explains why Microsoft has suddenly declared war on spam : they have to free bandwidth for their own
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
to Microsoft Bay Area Research Facility
Conclusions
Put the computation near the data.
My own general take on all this is the Moore's Law for CPU/data costs vs time will beat the decrease in network latency costs vs time and we'll generally expect to see communications protocols become more "intelligent" to compensate up for the this barrier that cannot be overcome. BW will be relatively cheap, but the cost of building up and tearing down a connection will remain high enough to discourage multi-exchange handshaking (ie., UDP model vs TCP model).
"Provided by the management for your protection."
The last time I read an article from the Microsoft Research guys was in Communications of the ACM. The article was about media center computers (in the article, named Mbox) and digital consumer product consolidation/standardization. Of course there was no mention of Apple and just a brief acknowledgement of TiVo.
As a strange coincidence, HP and others announced their media center PCs shortly afterwards, followed by Microsoft releasing XBox Live.
Now the same Microsoft researcher is talking about grids and clusters? Expect a Microsoft cluster package soon...
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
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.
Wow, what a world. $1 will now buy:
1 GB sent over the WAN
10 Tops tera-CPU instructions
8 hours of cpu time
1 GB disk space
10 M database accesses
10 TB of disk bandwidth
1 large beverage
1 of everything in the $1 store
1 unlimited phonecall from some 10-10-### phone company.
5 packets of cool aid
10 packets of generic cool aid
2 cans of coke
When I was a child, data was expensive, and food was cheap...
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
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
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.
A few years back when Grid computing was all the rage we sat down with some investment partners and worked out the figures. We came pretty much to the same conclusion. The "average" commercial supercomputing application (pharma, oil drilling, simulation) would not benefit from "free" cycles on the network.
Essentially, any commercial computation valuable enough to require that amount of effort can justify purchasing a hundred thousand node beowulf cluster and run locally. The reduction in network costs, the advantages of total control and tight security more than pay for the difference in computing cost.
Non-commercial computations such as SETI will benefit from grid computing, and we expect to see more efforts long those lines (RSA, Mersenne, Stanford DNA). But remember, we were thinking about starting a business, and none of those pay for the services, so we moved on.
When SETI@Home spent $10^6 to get everyone to spend $10^8 on electricity alone, how was that a good deal? Have extraterrestrials sent a message that they're about to touch down with a vaccine for AIDS, a formula for cold fusion, a permanent end to unemployment, a sure-fire way to get good representation in government? Could we have spent the money more wisely, Jim?
If Bill paid you folks to do something more than get technically-challenged investors excited, perhaps our software would work better. (And ASN.1 isn't that bad, by the way. Do I need everything going between my machine and the server to be verbose enough to read by hand? When I encode all my messages in XML, in how many cases will I miss the 10000 to 1 ratio just because the encoding is verbose?)
We only look at the cost of SETI from our perspective here on earth...but if you ever consider the enormous cost space aliens have to incur to make their secret communications appear as background noise, then I think more people would oppose the project.
His reasoning sounds good, but what the hey? It sounds pretty obvious that the most cost effective approach is to keep the data close to the CPU doing the crunching.
-- Many men would appreciate a woman's mind more if they could fondle it
Total Cost of Ownership (TCO) is more than a trillion dollars per year.
Operations costs far exceed capital costs. Hardware and software are minor parts of the total cost of ownership.
-- microsoft software is cheap so you should keep buying it. Even if administering it is expensive.
Megaservices like Yahoo!, Google,et all have relatively low operations staff costs.
-- Open source if managed properly doesn't need many people. But this formula can't be applied to the propreitary software shit you buy.
Most applications do not benefit from megaservice economies of scale
--Most microsoft products. We will still take our chunk of flesh no matter what.
Outsourcing has often proved to be a shell game - moving costs from one place to another.
--having a third party vendor manage your Microsoft software for you isn't going to save you much.
Web services reduce the costs of publishing and receiving information.
--But you will need a huge support staff to manage it plus lots of licenses. (see above)
Most Web and data processing applications are network or state intensive and are not economically viable as mobile applications.
--especially once the MS licensing is thrown in.
...because people like me are willing to donate their computers time and a part of their [and their employers, hawhaw] electric bill.
I do so because I am interested in the project... not because I feel like I want to help cut someone's computing cost. If SAH was a for profit enterprise my interest would quickly evaporate.
I am very small, utmostly microscopic.
I think it's probbably safer to say that seti@home has a huge surplus of computational power, and uses it to verify each result (though it's not strictly necessary to do so). With only one data source (Aerecibo) you can only produce data so quickly, and once you have enough computational power to do the analysis in real time any extra is just surplus that can be used to verify. They did, however later add some extra analysis to the data to take better advantage of the huge surplus of computing power they have.
The important point though, is that for seti@home each individual workunit, while important isn't critical to the whole project. If a small percentage of workunits aren't computed perfectly it's not catastrophic. In other words there's a certain amount of tolerance for innacuracy. For a project like the OGR (Optimum Golomb Ruler) by distributed.net each workunit must be calculated perfectly, as the goal is to prove which ruler is the optimum one. If workunit isn't verified you haven't really proven anything, since it's possible (and probbably likely) that hardware failure produced an innaccurate result somewhere in the millions of workunits calculated. (Or perhaps a modified client produced innacurate results). Other distributed computing tasks have different amounts of tolerance for innacurate results.
Your underlying point is a good one though. For some projects the need for integrity of the results is very high, so larger computing power may be necessary to verify each result.
AccountKiller
...but, there's other programs that people might find more socially useful/productive than SETI.
How 'bout...this from United Devices? They do a variety of biologically related projects, the most popular one, as far as I can tell, being cancer research...I've been running it for almost 2 years, and I have 100,000 points...how many points do you have?
And what OS where they using?
FRA: STFU GTFO
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.
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.