Utility Computing -- What Does It Mean to You?
lastpub asks: "With all the vendors out there touting the latest industry buzzword of 'Utility Computing', I'm curious to find out what developers and IT professionals actually think about what that means. Each vendor has it's own message, and some of them have very nebulous descriptions. When you hear the term 'Utility Computing', what do you think?"
"I'm curious to find out what developers and IT professionals..."
IANAd&ITp. Why should that stop me? This is Slashdot.
"When you hear the term 'Utility Computing', what do you think?"
"Dot Com Gold Rush"
"Metrosexual"
"Virtual Storefront"
"Macarena"
"Electronic Village"
"Disco"
"I may be synthetic, but I'm not stupid." -- Bishop 341-B
That was a tough one.
What's the primary requirement of a utility? It has to work. If you turn the water faucet on, you expect to get water; if you plug a lamp into a wall socket, you expect electricity; when you pick up your phone, you expect to hear a dial tone.
Computing simply hasn't reached that point. When people choose web hosting, they don't choose on the basis of how many dollars each GB of bandwidth costs; they choose on the basis of security, reliability, customer service, and generally reputation.
Utility computing would be nice, but we're simply not ready yet.
Tarsnap: Online backups for the truly paranoid
Utility computing for me is the HP 200LX.
An entire 186 PC in a clamshell about the size of a checkbook and an inch thick. Runs MS-DOS 5.0, and has an entire keyboard and a numeric keypad.
Includes a graphic calculator, Lotus 123, Quicken, etc. Best money I've ever spent, and one of the best things developed by HP. Still kicks modern PDA butt.
And you can play old CGA games on it.
See The Palmtop Site for more information.
The real thing that made it useful for me is that it is a REAL computer that is small enough to take anywhere. And I can type about 20-40 WPM on it, which simply beats the heck out of Graffiti or whatever.
Someday, maybe someone will build a newer one around a 486, but for now, this thing rocks!
Fellowship 9/11
Domotics in other words. Perhaps I'm way off but this is what the phrase makes me think of. I can't really figure why they've added "computing", but the utilities are pretty clear in that sense.
"Utility Computing" is a bunch of salesmen claiming that although they have snowed people into buying over priced and useless buzzword compliance year after year after year, THIS time they are selling what the customer needs and wants, not what has the biggest commission.
Yeah right.
"When you hear the term 'Utility Computing', what do you think?""
The rack of equipment next to the washer and dryer.
100% of my (for example) stock trading servers process stock txns. during the hours the NYSE is open, then when the market is closed, 50% of them reconfigure themselves and turn into customer billing systems until a few minutes before the market opens back up again, when the systems all revert back to processing stock trades. THIS IS ONLY AN EXAMPLE. The point is that a system can be re-purposed to meet demand for more computing power in another area. BTW, grid and utility computing are not the same thing.
When you hear the term 'Utility Computing', what do you think?"
Natalie Portman. Naked and petrified. With grits being poured down the front of her pants.
Ask a silly question...
May we never see th
A*, Hill-climbing, Current-Best. Perhaps too much Planning and Search coursework...
Games Workshop Petition
Nobody seems to have given a decent answer yet, so I'll give my two-cents worth.
To me, utility computing is quite a generic term, but generally means computing resources on demand. It's the ability to vary the resources available to you within a very short space of time. Like the ability to just turn a tap on and off.
There are various ways of delivering that; some companies allow you to install a machine with more processors than you need, but only pay for the ones you use. So you install a 32 node machine, but only pay for 16 processors. Later, as your demand increases, you can just turn on the extra processors. You could do the same with RAM, disc space etc. Obviously though you pay a premium for the convienience.
Another way of deliverying this is through remote resources. You effectively outsource your computing resource; as you need more resources you phone up your supplier and they provide the additional resources from their hardware pool - already setup and ready to go.
At the moment it seems to be of most interest to large data centres.
What's the primary requirement of a utility? It has to work. If you turn the water faucet on, you expect to get water; if you plug a lamp into a wall socket, you expect electricity; when you pick up your phone, you expect to hear a dial tone.
Exactly! But we will never reach this for three reasons.
1. Moore's Law: Ever expanding functional performacne levels means that computing does not stablize and we will never reach the reliability levels that would earn the name "utility computing." The problem is that faster clock sppeds and more transistors/chip permits an ever expanding set of standards, features, applications, and designs. In contrast, the U.S. has been using 120 VAC, 60 Hz for a 100 years with no real changes, upgrades, version 2 specs, etc.
2. Intercoupling of Devices & Applications: Unlike other utilties, computing elements are highly intercoupled through very complex interfaces. The "API" for electricity, water is simple -- what voltage/pressure and how much current/flow. Water and eletrical devices are mutually independent -- I don't have to upgrade all my lightbulbs when I get a new refrigerator. With traditional utilites, everything is truely plug and play because nothing interacts with anything else (with the minor exception of capacity limits). But with computing, each new feature, standard, operating system, and application has the potential to break other elements of my computing architecture. Until computing can get off the upgrade merry-go-round, it will not be a utility (see #1 for why that will not happen).
3. Industry Structure: The computing industry is structured very differently from most utilties. The independence of computer chip makers, PC makers, OS makers, application makers, and peripheral makers drives incompatibilities and unpleasant interactions between devices. Traditional utilities were highly regulated, vertically integrated organizations (less true today because of deregulation). The Bell System could introduce new features (e.g., PBX systems or touch tone phones) because they owned the phone, the phone making factory, the wires, the switching, the trunk lines, everything. In computing, if you have a problem each vendor can blame a different vendor for the problem and nothing really gets fixed.
I'm not suggesting that we repeal Moore's law, disconnect computers from each other, or regulate the industry. I'm only suggesting that computing is fundamentally different from the simple reliable utilties that "utility computing" would like to emulate.
Two wrongs don't make a right, but three lefts do.
If she's naked, she has no pants to pour the grits down the front of. ...you get a silly answer
The living have better things to do than to continue hating the dead.
Which I'm sure most outfits pushing "utility computing" really don't want you to do. It can be construed in the way that most responders did, as 'something that's there, that you just use,' and I suspect that that's what companies are pushing.
It can also be construed in the same cast as "public utility," like water and electricity. Public utilities are either publicly owned by governments, or privately owned and heavily regulated by Public Service Boards. I'm sure the companies aren't pushing for this.
In general use, a utility is something so heavily used that its existence becomes 'assumed.' IMHO, the WORST thing that Microsoft has taught us is that you can have it both ways. For approaching two decades, Windows on PCs has become pretty much a 'utility', nearly always assumed to be there, with no oversight or regulation that a real 'utility' has. In essence, Microsoft has positioned themselves as a Gatekeeper to personal computing, and collects 'tax' on it.
(Should utilities be regulated? Shouldn't the market set prices? Perhaps, but perhaps not when it's truly a 'utility'. Science fiction is full of stories of selling air on the moon at exhorbitant markups.)
This lesson has not been lost on other companies, so now we have a general rush to become gatekeepers, to emulate the 'most successful American company.' This is BAD, for two reasons. In the first place, gatekeeping has worked for Microsoft in the short and middle terms, but is now showing cracks in its foundation.
In the second place, gatekeeping is bad for society. In the gatekeeping model, companies try to own standards instead of cooperate on them. They don't seem to have learned the lesson of how CompuServe, AOL, Genie, The Source, and Prodigy weren't really making it until they surrendered to the open, non-owned Internet standards. As a result, everyone is squabbling over owning small pies rather than a piece of a gigantic pie, even when only a piece of a gigantic pie is far bigger than the small pie.
Our national progress and innovation are being held back by an obsession with the gatekeeper model of business.
The living have better things to do than to continue hating the dead.
"Push" technology.
Not interested. The PC revolution of the 1980s broke the power of the glass house--no way is it going back.
I don't think the word 'utility' makes much sense in the context of computing. A utility serves a narrowly defined and constant function. Information on the other hand is infinitely abstract and permutable.
It's like saying self-serve firehose. If you have a general information processor, naturally you want to do GENERAL things with it. Something more along the lines of 'utility' computing would be a dedicated crypto chip or something you could dynamically plug in.
It's 10 PM. Do you know if you're un-American?
Oh, right - they are saying *utility*, not *sport utility*...
Reason is the Path to God - Anon
The greediness I mention comes from the fact that it's difficult to get people to agree to a narrow (they'd call it "restrictive") interface, as they can always argue that you could "get more" (more speed, more close to the fundamental capability of the system). They're greedy for more, but they don't realise, I think, that the very narrowness of an interface is its power, and that you have to sacrifice some performance for reliability.
But with computing, each new feature, standard, operating system, and application has the potential to break other elements of my computing architecture.
This is only the case if your computing architecture is not sufficiently modular! With electricty, if a power station goes down, it does not necessarily mean that you get a power-cut, as power supply can switch to a different station. The same can apply to computing, so long as your view of that external computing resource is compressed is narrow enough that all external resources appear identical.
Another difficulty, I think, is that there is a tendency to group all areas of "utility computing" together; whereas I believe there are several distinct domains it might be applied to. One example is a compute grid, the kind of thing that SETI At Home does. I wrote some software recently to do this sort of thing.
The interesting thing, I found, is that the basic functionality (send a task to a remote machine, get the results) is trivial to implement, but what makes the software really useful (compared to, say, ssh) is the way it covers up faults in the system (network outages, machines being switched off at random, server crashes, etc) and makes the whole thing appear seamless.
The reason it can do this is through the use of narrow interfaces, pared down to the very minimum necessary. I want to use the grid? Dial the server, start handing it my data, and data comes back, computed. You can even use a shell command:
cat datafile | farm myserver.com seti > resultfile
I want to act as a compute node for the grid? Dial the grid server, read data, compute on it, write data back:
mount myserver.com /n/grid /n/grid/task >[1=0]}
while{} {seti <
This really is what the interface looks like (well, it helps a lot having styx as a unifying protocol, I have to admit).
So anyway, to get back to the point, it is possible to have utility computing - you just have to be very clear as to the utility that you're trying to provide. In this case you take x1, x2, ... xn
and compute f(x1), f(x2), ..., f(xn). Other systems might provide different kinds of service. We just have
to decide which, rather than being greedy and trying to get everything at once.
First, you have to reduce computation resources to commodities. They have to be uniform, and interchangable. Any unit of computation has to be a known quantity for all parties involved. This could be done for computation, provided that a sufficient security protocol is in place. Once this is done, the analogies start to fall in place.
Computing project as construction project.
The use of "utility" as a description is wrong... generic, containerized, commodity, unit are all nice adjectives to describe it, but not "utility".
Heck, even the analogy of computation as Automobile manufacturing, works much better.
--Mike--
The problem, I think, is really an issue of lack of vision combined with a kind of greediness. We really can obtain utility computing... for some kinds of task. For others it's more difficult, maybe impossible. Modularity is (must be, IMHO) the answer.
Exactly! Modularity is the key to utility computing. And simple interfaces are the key to modularity. Very good points.
The challenge is to define a very clear, very simple (= restrictive) standard and ensure that all elements (both hardware and software) conform to that standard. In many domains this is not easy. Anything that requires a UI quickly becomes subject to the upgrade merry-go-round . Even in the case of strict numerical computing you can run into unexpected behavior if the processor you are now using in a grid does not have the same patterns of round-off error as the processor you used for development of the algorithms. This doesn't even get into dependencies with underlying math libraries or problems with machines that lack parity or ECC RAM.
I also wonder to what extent key networking protocols and kernel elements are unchanging enough -- would the same grid executable work and return the same results 20 years from now or do we have to upgrade the dispatcher and core software for each new OS and hardware architecture? (For example, I think that SETI has steadily migrated to newer and newer platforms to the point that it no longer runs on older hardware).
Overall, I definitely agree with you. Utility computing is possible for some domains and a simple modular design is the key to a stable, reliable, scalable architecture. And, as you said, the other key is to keep greedy people from trying to constantly "improve" things.
Two wrongs don't make a right, but three lefts do.
She has pants, just not on her. So while she is petrified (and naked), someone stole her pants and started pouring grits on them!
1997 called, they want their buzzwords back.
I'd say that it isn't worth the trouble to try and set up such a system. First, Moore's law pretty much requires any system that people can purchase central computing power from also has to scale up. How much is one minute of computing time on a VAX worth? Any system that doesn't reinvest its earnings directly into updating the capacity of the system doesn't stand a chance. Secondly, latency. I like playing video games that require twitch reflexes. Waiting for information to be sent to other players is one thing, but waiting for it to reach the computer itself means that any person playing a game would look like a drunken sailor to an outside observer. Sluggish response to the user in a program means that this would be limited to batch processing in all practicality. Thirdly, a terminal isn't much cheaper than a cheap computer, and the cheap computer won't have the disadvantages of a terminal, so given a choice, most rational people would choose a computer. However, there are uses other than the mass market, or perhaps in specific segments of the mass market. If I'm trying to use a genetic algorithm to optimize some problem, like optimal assembly language statement packing, then I'll need lots of power. I could upload that problem to some big computer and get my results back in a couple of hours. Similar things could be done in the matter of outsourcing compiler farms. I just don't see everyone dumping their computer for one in a central area. It's just too inconvenient.
"Anyone who attempts to generate random numbers by deterministic means is living in a state of sin." -- John von Neumann
When I think of "utility" I generally think of something that serves one purpose and serves it well, but that may just be there in the background waiting most of the time when it's not needed.
Think of a utility knife. It does one thing -- cut -- and does it rather well. It doesn't work very well as a screwdriver, a prybar, or a hammer.
Utility appliances -- a washer washes, a dryer dries, a microwave heats, a vacuum cleaner sucks dirt off the floor. You don't have a general appliance that does all of this, though we are beginning to see dual-purpose appliances like the stove that keeps the food cold until it's time to cook it or the washer that dries the clothes when the spin cycle is done. However, these appliances still do only one thing at a time. It can't dry one load while it's washing another.
"Utilities" -- water, sewer, electricity, phone -- these are services that provide one service only and do it well. OK, so there is IP-over-powerline, and phone-over-cable, but it's questionable if they do it well.
So... Utility Computing... then that would be computers that serve only one function and do it well. Most embedded systems fall into this category. An email terminal that doesn't provide any other Internet eXperince (buzzword alert!) would be a utility computer. Your telephone is a terminal to a utility computer. That adding machine on your desk is a utility computer. Your digital watch with alarm clock is a utility computer.
Do one thing. Do it well. Be there when I need you. Utility. Kind of describes ladies of the night, doesn't it?
Give me my freedom, and I'll take care of my own security, thank you.
Check out the Flipstart. Still in development, but they've given a demo with one, so it's not just vaporware.
:)
It's a complete, real computer.
4 inches by 6 inches and 1 inch thick. Runs Windows XP (actual full version).
Integrated 802.11g.
5.6" 1024 by 600 pixel screen.
Integrated 1.3 megapixel camera.
USB 2.0
Docking station provides access to optical drives and wired ethernet.
1 GHz processor (I don't know what kind.)
Some special software to access MP3s and e-mails without opening up the full screen.
I don't have any relationship to the company except a friend who just started working there. I'm jealous. Oh well, maybe I can convince him to let me be a beta-tester.
My friend is going to try installing Linux on it. I'll let people know how that turns out.
Sounds cool.
Hopefully it can be made to get something near the 35 hours of battery life I get now.
And that's off two AA batteries.
But keep us informed!
Fellowship 9/11
Well, the website says one full day of operation in low-power mode (accessing e-mail, playing MP3s, and viewing your calendar from the grayscale display on the front of the machine).
:)
However, only 2-3 hours running Windows XP. Sorry.
Maybe when hydrogen fuel cells become more prevalent you'll be able to get 35 hours off a battery while running a modern operating system.
Also, there's a lot more you can do with 30 GB of hard drive space and a faster processor.
I know there's a lot more that can be done with the space, but I really like the instant on always available palmtop.
It's just small enough to take everywhere, but still has many advantages (full keyboard, etc.).
Hopefully I'll be able to find another one when this one dies......
Fellowship 9/11
Interesting item, not sure how practial it is. I really like the LID feature.
The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
(When was the last time your neighborhood lost water?)
Ummmm, today. Schools shut down and everything. Towson lost water a couple month ago...
"Whoever would overthrow the liberty of a nation must begin by subduing the freeness of speech."--Benjamin Franklin