Distributed Computing Economics 130
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."
Warning: (Score:5, Funny)
Re:Warning: (Score:5, Funny)
I think someones feelings are hurt. (Score:1)
Hey everybody, I know of an A/C that needs a group hug!
Does that include electrical costs? (Score:3, Insightful)
Re:Does that include electrical costs? (Score:4, Interesting)
Re:Does that include electrical costs? (Score:3, Informative)
SETI@Home harvested more than a million CPU years worth more than a billion dollars. It sent out a billion jobs of 1/2 MB each. This petabyte of network bandwidth cost about a million dollars. The SETI@Home peers donated a billion dollars of free CPU time and also donated 1012 watt-hours which is about 100M$ of electricity
No, it doesn't include the value of user-performed maintenance, but as an economic analysis, it would be pretty negligent to not include the value of donated CPU
Re:Does that include electrical costs? (Score:5, Interesting)
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.
Extending the effective life of old hardware (Score:2)
Whassatnow? (Score:5, Funny)
When you have a really high-paying job where you are paid to make such decisions.
s@h, et. al.. (Score:5, Interesting)
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.
Re:s@h, et. al.. (Score:3, Insightful)
Also, as long as people are still allowed to decide what runs on their own computer you will have to convince them that they should help you with your distributed computing task.
SETI@Home worked so well because people want to know the answer. People are interested in the results. If you tried to do a distributed apple browning application nobody would download it.
What if you got to eat the results??? DELICIOUS! (Score:1)
Judgement Day?? (Score:1)
Self-employment (Score:3, Interesting)
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.
Re:Self-employment (Score:2)
Re:Of course I imagine it helps a lot when it's fr (Score:1, Insightful)
SETI is Extrememely Costly (Score:5, Funny)
hmm... (Score:4, Interesting)
Re:hmm... (Score:2)
Re:hmm... (Score:2)
Re:hmm... (Score:2)
Sure, it is just cost/benefit but that tech twist is what has been missing for years. Important IT decisions have been left to the preferences of IT people instead of conducting a cost/ benefit analysis for the company as a whole. I think this tech twist is very imporant, and we will absolutely see more of
Interesting yet shallow economic analysis (Score:5, Informative)
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.
true, but an explanation is in order. (Score:5, Insightful)
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 [distributed.net] (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.
Re:Interesting yet shallow economic analysis (Score:1)
Also, in a grid environment where those executing code do not trust those buying cycles, there is more significant overhead because the farmed-out code must run in a sandbox. So when neither party trusts the other, you might reasonably expect to end up with a 200% reduction in speed, or worse.
Further, there is a really fundamental bit not mentioned at all in the article -- the effect of network latency. Many parallel applications require frequent synchronization between nodes, and performance quickly bec
SETI@home (Score:2, Insightful)
Re:SETI@home (Score:5, Informative)
"And of course, SETI@Home is a good example: it computes for 12 hours on half a megabyte of input."
So, for projects that fit this model, then they should save money over supercomputers. But few projects fit this model, with the author mentioning web and data processing, data loading, CFD, ie anything that "generates a continuous and voluminous output stream" as economically unfeasible. So, car companies really do need those supercomputers to virtually crash their cars. =)
Re:SETI@home (Score:1)
Summary... (Score:2, Insightful)
The bad thing about distrubuted computing (Score:4, Interesting)
Re:The bad thing about distrubuted computing (Score:3, Insightful)
There's a whole class [wolfram.com] of problems which can take a tremendously long time to solve, but for which the solution, once found, can be verified very quickly.
The distributed.net key-cracking contest was like this -- you don't have to double check every piece of work because once you've found the key, it is trivial to test it to make sure it's right. The OGR project works the same way, and
Re:The bad thing about distrubuted computing (Score:1)
Almost true. That covers the problem of a "false positive" (client says that this is the correct answer, check it to ensure that it is), but does nothing to counter the problem of a "false negative".
What if I have "the" RC5-72 key in a block on my harddisk and, for some reason or other, I report that I didn't find
Re:The bad thing about distrubuted computing (Score:1)
Connect the Microsoft dots (Score:2, Insightful)
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
Re:Connect the Microsoft dots (Score:2)
And how is this different from you or I act?
Re:Connect the Microsoft dots (Score:5, Insightful)
I don't know for you, but I make GPL software, I give it away for free and therefore I give time and money to the community, partly to pursue a certain idea of the computer industry I desire.
In a way, it's just like people who run the Seti@Home client : they don't do it just "to get a free screensaver" like that Microsoft guy narrowly thinks, they also do it because they want to feel part of a greater, more noble effort than just getting rich quick.
When was the last time Microsoft gave anything open-source or for free that didn't serve one of their short, medium or long term plans ? I mean, it's okay, they're there to make money and they admit it, there's nothing wrong with this goal as long as they try to achieve it morally and legally, but why should it be the same for everybody ?
Re:Connect the Microsoft dots (Score:2)
.
Another way to think about the SETI people is that they are greedy/prideful that THEY could be the one who finds the signal that indicates ET is contacting us.
Purely self-less acts are very very rare and so could we expect MS (or any corporation) to do so any more than we would ourselves?
Re:Connect the Microsoft dots (Score:3, Insightful)
MS is getting on the anti-spam problem because it helps them, yes. But not for some theoretical future savings on bandwidth costs. They're doing it because taking an active role looks good to customers and investors, both of which are increasingly seeing spam as a real problem and not just something us techies talk about.
Remember folks, publicly held corporations are *legally* driven by one t
Re:Connect the Microsoft dots (Score:3, Insightful)
FYI, I never troll.
You may be right, they may do it to look good, or they may also do it to free bandwidth for their ever-increasing patches and to make
Re:Connect the Microsoft dots (Score:2)
I couldn't agree more. In the end, it ALWAYS has to boil down to the bottom line, even if some of the line items in question are more intangible than others (like customer/consumer goodwill).
Xentax
Re:Connect the Microsoft .net bs (Score:1)
The game console sales are way higher than the online percentage of consol owners. If the MS gamers .net heaven vision does happen without a corresponding drop in spam traffic the good old /. effect will be meaningless. No one except perhaps Taco will get o
Re:Connect the Microsoft dots (Score:4, Funny)
This is already true. Most email traffic these day seems to be marketers talking to spam filters.
They should rename the lab (Score:2, Funny)
EphEN BETTAR AND MOR3 CVELER!!!!111 (Score:1)
Spoiler (Score:4, Informative)
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).
Re:Spoiler (Score:2)
I don't think it's that simple, at least not for a general purpose system.
The Seti@home app doesn't care about net latency or bandwidth. Non-realtime Video encoding cares about bandwidth but not latency. Finite element analysis cares about both. Intelligent resource management and task classification will be very important.
I suspect that as the the field develops, we'll see many existing NUMA techniques simply extended outside the box. The network really is the com
Obligatory conspiracy theory (Score:2, Insightful)
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
Re:Obligatory conspiracy theory (Score:2, Interesting)
Re:Obligatory conspiracy theory (Score:4, Informative)
One thing Jim ignored is cost of software. Because MS effectively charge per-CPU for their system, you cannot afford to build a beowulf cluster on windows, let alone a full grid. So if MS do want to play in grid space, they need a way to price their platform so it makes economic sense. Didnt see that in the paper.
(nb, MS do clustering already, it is just focused at DBs and big IIS installations, and it costs big numbers)
Re:Cool! (Score:2)
Strange math (Score:2, Interesting)
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
Re:Strange math (Score:1)
Re:Strange math (Score:1)
Re:Strange math (Score:3, Insightful)
There are 2678400 seconds in a month (assuming 31 days...), so that makes 2678400 Megabits transmittable in a month, or 334800 MegaBytes. Each of your $100 buys 3348 MB, which is 3.3 GB - same order of magnitude as the author suggests...
Perhaps you meant 2678400Mb per month.
Re:Strange math (Score:2)
Ooops, Tera- Giga- Mega- blooper.
Yes, I meant 3.3GB per dollar
[/FOOT IN MOUTH]
Re:Strange math (Score:2)
(I also guess that was Mbps), be careful of using to many =='s
FedEx wasn't mentioned (Score:5, Interesting)
Re:FedEx wasn't mentioned (Score:1, Funny)
Re:FedEx wasn't mentioned (Score:2)
Re:FedEx wasn't mentioned (Score:2)
Good if you can share costs of an OC-3 with 10 to 20 other companies. Maybe when the office space market heats up a bit, then more buildings will just start providing this service to their tennants. Wonder if the idea of sharing anything would fly in a board room.
Re:FedEx wasn't mentioned (Score:2)
Re:FedEx wasn't mentioned (Score:2)
It is is the "10 times as much" part of what you are saying that I think you understate the importance of.
Re:FedEx wasn't mentioned (Score:2)
Yes, I believe that's how SETI@Home gets the raw data from the radio telescope to the data centre, they write it to tape then fly it.
point of diminishing returns (Score:1)
Yes, there are plenty of systems available for distributed computing tasks.
Yes, there are plenty of free CPU cycles.
But bear in mind that the rate of growth of entrants to the Internet is not growing exponentially as it once was; if anything, current trends are flattening.
Whereas, if both science and industry fully embrace this mode of problem solving in the next few years, one has to wonder how many aps will it take to render it ineffectual? (1,000? 10,000?) or will we be able to go to this well fo
One dollar. (Score:5, Funny)
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...
Re:One dollar. (Score:1)
Re:One dollar. (Score:1)
and $1 = 10 packages of cheap ramen
"Put the computation near the data" (Score:4, Interesting)
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.
Anybody tried it? (Score:5, Interesting)
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
Re:Anybody tried it? (Score:4, Interesting)
Actually, I'm working on something similar for a customer of mine. The real challenge lies in the solutions to the following problems:
Re:Anybody tried it? (Score:2)
You hold the entire db on each server, all writes are performed to both servers, reads take place on either of them. That doesn't really reduce the network traffic as you still are spending as much as you would with a 1-db system, but now you have reundancy and faster processing (ie reads).
You hold the entire database spread over the 2 nodes, in which case you have problems if 1 node fails. In this case you reall
Re:Anybody tried it? (Score:2)
Which is the strategy I'm employing right now. I would, however, like to be able to use this same db design for situations in which the entire db is too big to fit on a single server. I really don't see any point in writing another database if it doesn't overcome any significant limitations of the current offerings. To date, no one has come up with an effective distributed database, and hopefully I'll be able to change that.
Re:Anybody tried it? (Score:2)
You should remind yourself what problems you're trying to overcome - is it large database, faster processing, or faster networking? Each of those 3 requires a different solution.
You could say the internet is a distributed database though, and Google is its index.
Re:Anybody tried it? (Score:3, Insightful)
In a DBMS, if all accesses are reads, you basically can just cache the data in every node of the cluster and it's ultra fast. If it's a lot of data, partition it across a large number of machines so that they each cache a subset of the whole database, and direct client hits to the appropriate node.
The problem comes when you change something in an ACID compliant DBMS - you have to wri
Re:Anybody tried it? (Score:2)
Re:Anybody tried it? (Score:1, Informative)
But in principle, the reason you want to go for a P2P based DBMS is not really scalability, which we can do today with 'shared nothing' clusters (lots of Motherboards + local disk connected by Ethernet, rather than 'shared disk' clusters which are lots of diskless Motherboards connected to a SAN/NAS over the network). Rather, its system availability.
With shared disk clusters you have a central point of failure/synchronization: the disk (or the disk controller). Today's shared nothing DBMSs all ado
Attack on IBM? (Score:3, Interesting)
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.
Re:Attack on IBM? (Score:2, Insightful)
It is a great article/analysis. Believe it and ignore the hype. SOm
Re:Attack on IBM? (Score:2)
Another data point (Score:5, Insightful)
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.
Jim, the Internet Bubble has burst (Score:2, Insightful)
If Bill paid you folks to do something more than get technically-challenged investors excited, perhaps our software would work better. (And ASN.
So, we're in a Helicopter eh? (Score:2, Funny)
Ethiopean Free Software Developers (Score:2)
So what happens to free software? Looks like either the money stays in the corporations by them creating software, paying developers, and billing clients; or the money is in the populous' Bank account so the free
Read between the lines (Score:3, Funny)
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.
Why SETI@Home works... (Score:2, Informative)
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.
What's all the fuss? (Score:1)
All this talk about SETI... (Score:3, Informative)
How 'bout...this from United Devices [grid.org]? 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?
Google (Score:4, Interesting)
And what OS where they using?
in other words (Score:1)
only half of the equation (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.
Turing award (Score:1)
Opportunity Cost... (Score:1)
E.g. If you own a computer, you are most likely a person. People get old and die. You should do medical distributed computing projects since you might benefit from the findings. Looking for aliens is cool and all, but not much in the way of practical application (unless they are beaming encoded drawings of really cool devices).
On the third hand, if you are a stranded "traveler" (not the Irish kind)... Maybe puting out a "beam me up" signa
Only criminals would have... (Score:1)
Tierce
If the mountain won't come to M... (Score:1)