ARM Designer Steve Furber On Energy-Efficient Computing
ChelleChelle writes "By now, it has become evident that we are facing an energy problem — while our primary sources of energy are running out, the demand for energy is greatly increasing. In the face of this issue, energy-efficient computing has become a hot topic. For those looking for lessons, who better to ask then Steve Furber, the principal designer of the ARM (Acorn RISC Machine), a prime example of a chip that is simple, low power, and low cost. In this interview, conducted by David Brown of Sun's Solaris Engineering Group, Furber shares some of the lessons and tips on energy-efficient computing that he has learned through working on this and subsequent projects."
That means a portable computer with an ARM processor and a reflective monochrome display big enough to hold normal text pages. In other words an Amazon Kindle DX (separate wired or bluetooth keyboard is fine), but with an open OS that lets me write and run my own programs without having to jailbreak past some DRM crap. Somebody please make something like that? Please??
Thank goodness for netbooks. They will finally make the ARM a viable CPU for use in a wide range of higher-end PCs. We just need to see Windows support for ARM, and then we'll be well on our way towards it being a widely available option.
Frankly, the ARM is a much nicer architecture to target when writing compiler back-ends and when writing high-performance assembly code by hand. It just isn't riddled with the archaic crud that the x86-32 and x86-64 architectures are littered with.
In the face of this issue energy-efficient computing has become a hot topic
No. That has, and never was the case. The problem is A) Programs now take a lot more CPU usage (compare CPU usage for the same task in Office 2007 and Office 97) B) CPUs are designed primarily to be faster (needed because of point A) C) Battery technology isn't improving as rapidly as the rest of the components.
Look at the Poqet PC of the '80s, it had very aggressive power management which wouldn't work today. Computers have -always- tried to be energy-efficient in the portable sector. And quite honestly, its about the only sector that needs work on energy-efficiency to gain any benefit.
Taxation is legalized theft, no more, no less.
(record the uptime with a pen+paper if you want to keep a running total)
Taxation is legalized theft, no more, no less.
ARM = Anonymous Rude Moron ... at least your case ;-)
The Singularity must come!
Real physical limits. Energy production. Getting rid of heat.
Course we could always go nuclear and resume the exponential increase in energy available per individual which has been driving progress for the last 100,000 years, and which stopped in the 1970s (it explains the no flying cars thing, and lack of moon habitats).
Deleted
http://openinkpot.org/wiki/Hardware
There are a bunch of cheap 'n cheerful Kindle clones that are supported by the openinkpot firmware, if e-ink is your style.
If you need the refresh rates of an LCD, I think you may have a problem. There is the OpenMoko Wikireader which is super low power and pretty cheap; but the screen(although touch sensitive) is a little smaller than what you want and the CPU is more of a microcontroller than what you probably want.
You might also consider going the OLPC route. That gets you a rather nice monochrome screen(with backlight color optional) and, while x86, it is a ~1watt embedded Geode, not too power hungry. That one is also by far the most "normal computer" like of the bunch(i.e. no having to code around super slow refresh rates, and running basically standard linux, rather than building binaries for some microcontroller).
Nothing exactly like what you want(that I know of); but there are some approaches...
I've always been a big fan of RISC. I even have a copy of ARM System Architecture (c) 1996 by one Mr Steve Furber I pulled out of the basement of Strand Books quite a while ago.
Because there is almost no market for it. Lets see here
A) Monochrome displays (other than E-ink) are generally considered to be low-tech, cheap, pieces of junk. Look at how well monochrome TVs are selling... Yes, it does ease strain on eyes and increase readability, but has the other side of making most of... well anything unpleasant to look at other than text.
B) It will be expensive. Amazon can afford to produce the Kindle at-cost or even with a bit of a loss because they will gain sales in e-books and such. Even if they sell it at a profit they still can buy parts in bulk and make them cheaper than a product with a run of only ~1,000 units or less.
C) There aren't enough apps. What apps would make sense to port to this device? Lynx? Most other things would need more CPU power (making it non-energy efficient) or a colour screen.
Really, other than you, this wouldn't appeal to a large enough audience of people. Best thing to do would be to jailbreak an existing e-reader, its simply a bad business decision to make a product with almost no market.
Taxation is legalized theft, no more, no less.
When did uptime become 'geek gas mileage'? I really have to read more articles on /.
For a couple of decades?
"Finding a computer that will last a year or more without rebooting is hard."
Really ?
In our serverroom we have a few which don't get as many security updates (internal systems), they are doing fine, thank you.
New things are always on the horizon
If we had made use of the services of ksplice it would have been even easier to find them.
New things are always on the horizon
efficient. I mean if you consider any unit of computation vs energy expended. I bet my current desktop computer would compare from a computation point of view to a super computer from the late 80's. (GFLOP to GFLOP) However my current computer pulls about 300W, I'm pretty sure that's alot better than any super computer from the 80's that would compare to it.
Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
The phone market has always been looking for ways of extending battery life. I have a phone which is basically a computer with an antenna. It plays videos, music has wordprocessor, gps, maps etc and the battery still lasts up to 3 days.
Deleted
while our primary sources of energy are running out
Just cleaning up our light-water reactor waste (which we cannot leave around for 300,000 years) can power the Earth's advancing societies for a century.
There are much better reasons to go for low-power computing, portability and economics chief among them.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
Your credibility as a reference was lost when you fail to expand the ARM chip acronym correctly.
Hey, on Slashdot old school is acceptable.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
Use ksplice. done.
The only OLPC laptops I can find for sale now are on eBay, from people who would willingly profit from a charity. Is there a better source?
When you're afraid to download music illegally in your own home, then the terrorists have won!
http://en.wikipedia.org/wiki/Comparison_of_e-book_readers
Deleted
http://www.catb.org/~esr/jargon/html/U/uptime.html
If Internet connectivity were ubiquitous and cheap and proper standards were developed and encouraged, we would see a tremendous improvement in efficiency.
1. It takes a very minimal amount of power to use hosted applications, so the end users devices would be low power.
2. Data centers have serious incentives to be efficient, when your annual electric bill is in the $100,000+ range, even a 1% improvement is worth considering, when was the last time you cared about saving 1% on your electric bill.
The WWW is getting us on the right track, but what we really need is to develop a new Internet protocol for hosted applications. I see little reason that we need to continue to try and add complexity to the WWW, HTML was never really intended for Web 2.0+ apps. If this new protocol were properly designed, and very open, and had strictly enforced standards, hardware could be made to accelerate its more power hunger aspects (sound, video, 3d, etc.). This would result in very low powered components that do one thing very well, coupled with a very low powered cpu you could have a full featured machine that consumes minimal power.
Sometimes the best solution is to stop wasting time looking for an easy solution.
"By now, it has become evident that we are facing an energy problem — while our primary sources of energy are running out,"
No, a primary easy source is running out, rock oil, we have like 40-80 years of that left.
http://en.wikipedia.org/wiki/Petroleum#Future_of_petroleum_production
Shale oil, well theres a ton of that out there, if the world wanted to, they'd be able to access that. The US has about 1,750,000,000,000 barrels
http://en.wikipedia.org/wiki/Petroleum#Consumption_statistics
http://en.wikipedia.org/wiki/Oil_shale_reserves#Definition_of_reserves
And there is a ton of natural gas, and shale gas and coal, not to mention fission, solar, and/or wind.
So, no we are not running out of our primary sources of energy.
If the unit of computation is to put a single character on the screen for example. Today, it requires several supercomputer class processors to do the same job as one 286 during the 80s.
Deleted
Notion Ink has you covered if you can wait until June for their Adam. It's basically everything you just described, times 9000. And pricing in the bargain laptop range ($350 - $800). I'm not kidding, check it out.
Now that I think about it, I'm pretty sure everything I just said is completely wrong.
It's already running Linux out of the box, and the hacks getting everything a unix geek might want on it really don't sound like they're about bypassing DRM so much as they are getting tools onto the system that Amazon just left out.
Static link cross compile a telnetd and toolchain and get 'em both on there and you're set to go.
The only reason I haven't bought in on that action yet is that as far as I know there's no decent third party full size portable keyboard. If it did bluetooth, I'd be totally sold. As it is, I'm almost sold.
Tweet, tweet.
After reading Joseph Jenkin's excellent book, The Humanure Handbook (http://www.jenkinspublishing.com/humanure.html and available for free here: http://humanurehandbook.com/downloads/Humanure_Handbook_all.pdf), I've been doing a lot of thinking recently about not just human waste but the waste that comes from everyday computing.
I think what you and I want is the combination of a Beagle Board and a Pixel Qi display (http://www.pixelqi.com/). That display has been mentioned on Slashdot before. You could also start developing super efficient programs on something like a PC Engines ALIX board (http://www.pcengines.ch/alix3d3.htm) or a Technologic Systems ARM based board: http://www.embeddedarm.com/products/arm-sbc.php#ts-7800-series The TX boards come with Debian pre-installed and boot up in less that2-3 seconds. They seem to be very hacker friendly.
Of course, the other side of the equation is the WWW that we connect to. Is there anyone giving any consideration to efficient computing on the server side? Web forums vs. mailing lists; fancy web sites vs. lean, mean, and candid web design? Are there resources online where I can learn how to design a lean, mean, yet somewhat modern looking web site and run it off something like the aforementioned ALIX (500 Mhz AMD Geode) board? Does HTML help at all in this regard?
I even miss the old but lean Slashdot of long ago.
For me it is hard to find a year that does not have a long (at least 35 minutes, the time it takes my UPS to discharge) power outage.
And you also mean the porting of thousands and thousands of x86 apps as well?
I suppose there's probably a market for that; there's certainly some subset of the population that's attached to specific desktop applications.
But I'd bet a larger subset of the market just wants to write documents, send/receive email, and browse the web. Ubuntu or some equivalently friendly Linux distribution will do the job nicely there.
Tweet, tweet.
One of the reasons my PC is a power hog is I leave it on all the time. Why?
1) Because boots take a long time. If boots were near-instant like they were on my TRS-80 in 1979 I'd turn it off. (Yeah, yeah, Macs boot fast, yeah yeah, I can 'suspend' but none of that junk ever works properly on WinTel.)
2) Because backups, patches and scans run at night time. If I didn't need those, I'd turn it off.
Figure out a solution there and I'd turn my box off.
Bit shift instead of multiply by powers of two
I'd think a decent compiler should do that automagically, no?
Sent from my PDP-11
while our primary sources of energy are running out
And in the 1920s, they claimed we were running out of oil. In the 1970s, they claimed we were running out of oil. Just last year they found a new oilfield off of Brazil bigger than anything found yet. Last year. After everyone said no new large fields would ever be found.
Coal? Clinton locked up the Grand Staircase in Utah, the largest clean coal deposit, with 62 Billion tons of coal.
I don't know. I hate scare-mongering that has been going on already for 100 years, and shown wrong for 100 years, and the next generation doesn't see how poorly it looks.
Don't steal. The government hates competition.
Kindle might have very low computational power, but actually there are some quite powerfull, and can do more than just lynx.
Apps? Just look at where you got lynx from ... And you won't have a shortage
More than just lynx etc. very low computationally intensive? Just look at the chinese netbooks ...
And there you got your actual products aswell
Pulsed Media Seedboxes
Use floats where doubles aren't necessary
That assumes that floats are more energy efficient than doubles. Not necessarily true on architectures that have hardware floating point and save energy by omitting the float portion. They convert the float to double, do the math, then convert back. Check your architecture!
On my Intel Core 2, the execution speed is different by about 0.06% between float and double (edge to double). Can't speak to power consumption though. On my Intel Atom 230, the floats are faster by 0.4%. That's almost certainly saving power, but not a lot.
I don't know, though I wouldn't necessarily be too worried about the ebay units. There might be some international cartel snapping them up by the truckload from poor kids, swapping whatever oddball keyboard the locale required for a custom manufactured EN_US one, and selling them on Ebay; but that seems like a lot of trouble for a not-necessarily-all-that-popular product.
I'd tend to suspect, especially if you buy from a seller with a history of other geek junk buying and selling but no major quantity of OLPCs, that you would end up buying an original G1G1 unit from some geek early adopter who has since upgraded to a newer netbook. My casual ebay search suggests that such people are getting anything from ~$100 to just over $200 for their units. Not exactly impressive cash for a device that sold for $200+ a $200 donation originally. It's just geeks selling off toys they've gotten tired of, probably so they can buy new ones.
It's a limited supply, so you had better not build any long term plans around it; but I don't see any ethical objections...
We have over 250 years worth of easily available coal here in the US.
Got Code?
Maybe he means you'll save the energy the compiler would spend to optimize a multiply into a bit shift :-)
Everyone running a data center is giving thought to efficiency. They pay for electricity and cooling.
Nerd rage is the funniest rage.
And how much do you have to pay to make a modern x86 chip under licence?
The physical chips are definitely cheaper than anything x86 with similar speed.
Sent from my PDP-11
It's way more than Lynx. There's elm, gopher, nn and with a built-in modem, you should be able to connect to BBS too.
It was Acorn RISC Machine way before it became Advanced RISC Machines Ltd; by almost a decade, when Furber ran the show.
#include <sig.h>
Nasty, dirty shitty coal. Coal power should just be illegal already.
Nuke, wind, solar, natural gas all are alternatives with far less pollution and co2 release.
Probably from a reliable source. The chip that he designed was the Acorn RISC Machine. When ARM was spun out as a joint venture with Apple, it was renamed. Advanced RISC Machines is a backronym intended to keep the same initials but remove the Acorn branding (which Apple didn't want).
I am TheRaven on Soylent News
Actually, you're only half right. On ARM, there is typically no double hardware, so you get a very slow path for 64-bit floating point arithmetic. On your Core 2, it's more complicated. The x87 unit only supports 80-bit floating point values. This means that any float or double will be sign-extended when it is loaded into a register. You gain a bit better cache usage from using 32-bit floats, but that's it.
No both, however, if you compile with SSE then you will be using a vector for all floating point operations. With floats, the compiler can pack concurrent operations on four of them into a single instruction, with doubles it can only pack two. I'm not sure about the Atom, but I vaguely remember that it splits SSE ops in half, so you really do two 64-bit operations. Either way, you can do twice as many float operations in the same power envelope, as long as your code is suited to vectorisation.
Modern compilers prefer to target SSE instead of x87, because register allocation with x87 is painful. Most operations only work between the top two registers in the 'stack' so you need a lot of register-register copies in a typical bit of x87 code (which burns i-cache too). This is one of the main reasons why you see a performance improvement in x86-64; if you have a 64-bit chip you can guarantee the presence of SSE, so the compiler will always use SSE instead of x87 when compiling 64-bit code. If you're someone like Apple and don't support pre-SSE chips, you can also do this and get the same benefit in 32-bit mode.
I am TheRaven on Soylent News
I not so sure, it was not all that long ago most of us who even had a computer were working on an 80x86 or 80x88 with a 512k of memory, connected to a 80x25 character monocrome display, with no network interface, and primary storage consisting of a box next to the unit filled with 360k floppy disks.
You know what we were like pigs in s**t happy too. I have cell phone, not a facy smart phone. I just use it I don't think about it. I charge it Sunday night before I go to bed and I talk and text on it as much as I want to all week long. The batter never goes flat over that time frame.
I had a smart phone for a little while. It could not even stand by all day. I had to go back because I was afraid I might miss SMS alerts from critial systems because the things battery went flat.
I would be very happy with a device that was inexpensive enough to leave on the back seat of my car for weeks on end that would be just there if I needed it and ready to go. Something that could connect to the internet wireless-ly and run lynx and those kinda of apps would be just perfect, even if the screen refresh was slow an e-ink based. Things like e-mail would be very doable as well. We don't live in the same world that 80x86 lived in. There is all kind of infrastructure around, let the POP or IMAP server do the thinking, just add a command like TXTPLZ to the protocols that would instruct the server to render messages sent in other formats out as plain characters. Get send html no problem
becomes 13 and 10. Hell use libcacca to render images as ascii art.
The software you need to write and run on the device could do allot by simply offloading the thinking to the oh lord dare I say it? cloud...
Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
My computer? Really? THAT'S the power hungry device I should be worried about? What about, oooh, I don't know, how about my electric clothes dryer with the 240V plug and the massive double circuit breaker in my breaker box?!
Priorities people, priorities.
Here are some cheap platforms that are robust, programmable and have a fairly substantial geek appeal that may meet your very needs: TI-89, TI-92, TI-86 HP48gx I haven't used my TI-89 or TI-85 for over five years, but I turned on the calc about a month or so ago and it runs beutifully. I heard casio makes some as well, but never used one of those. PS: I love putting things in "quotes"
When all else fails, try.
Set up a couple of solar thermal power plants (e.g. in Arizona), lay a couple of high-voltage DC lines, or convert it to hydrogen, or any form or battery, and be good. We will have left this planet, long before we use more energy than the sun can deliver (especially when you add space-based power plants). And the technology is cheap, simple (a poor African nation could do it without having to having to take a loan), recyclable, and there is a lot of really dead and hot land out there (certainly deader than what our power plants stand on nowadays).
They just don’t want to set them up, so they can keep their power.
Any sufficiently advanced intelligence is indistinguishable from stupidity.
I'm confused, you want to buy one, but the seller shouldn't profit. Last I checked the OLPC laptops were pretty much only being sold to schools or donated. For a while you could buy two and donate one if you wanted to have one. But right now you pretty much have to buy one via ebay if you want to have one for yourself.
Aka lying.
While it is true that according to best estimates oil is going to become rather scarce in the not too distant future, oil isn't a major provider of power. It is used for power generation, but not near as much as others. Coal and nuclear are the heavy hitters in power generation and both are still extremely abundant. So while we need to consider what will fuel our cars, we are not approaching a situation where the lights go out.
He's just trying to jump on the green bandwagon to hype up his product. ARM has made a name for themselves providing low power chips. That's why they are so popular with cell phones and the like. He's just playing on that and the big carbon hype going on to try and promote his products.
As a practical matter, while we do want to find ways to be more efficient always, we still want to use energy. Energy consumption allows for the things that make modern life so much better, allow us to live longer, healthier, etc. What we really want to do is increase efficiency AND find ways to generate even more power in a sustainable manner, be it fusion, solar, geothermal, etc.
unfortunately penile uptime doesn't do much for the average slashdotter.
It's either false dichotomies, or the terrorists win, you decide.
Isn't cloud computing a better angle on energy efficient computing than trying to optimize the power usage of any one computer? Most computers are very under utilized and suck up power doing nothing. Cloud based computers get allocated to the next user when they fall idle so you get more useful computation per watt of energy burned. That seems smarter than going after energy efficiency for any one computer and then letting it burn that smaller amount of energy while sitting, for the most part, idle.
How about using a lightwieght linux distro? You can have a real OS and run it on similar hardware.
Also no, the battery would not go on for days, the cpu would need to be something more efficient than the atom and lighting the screen is probably a much bigger draw.
Every two years is not that long really.
I can't tell whether the grandparent comment is referring to "Is there anyone giving any consideration to efficient computing on the server side?" in the sense of "Is anybody working on answering my HTTP requests at lower energy cost?"(in which case the answer is an unequivocal 'Fuck yeah, they're paying the power bills') or in the sense of "Is anybody working on websites/web services that will be less computationally expensive for the clients?"
If it is this latter case, the answer is "mostly no, just look at average page sizes and amount of complex flash and JS rocketing up over time"; but there are isolated efforts here and there. Opera's mini browser for seriously weak phones basically depends on having an Opera proxy pre-chew the content before shoving it down the pipe, and I'm pretty sure that RIM does similar digesting to email.
I got more of a green vibe than I got a battery life vibe.
Nerd rage is the funniest rage.
You can compare your desktop against a supercomputer from 1995 and come out on top.
E.g., a Cray-3 from 1995 had four CPUs @ 500 MHz. Each CPU could execute ~ two flops/clock,
for a total of 4 GFLOPS. Power draw was about 40kW, not counting coolant pumps, MG
inefficiencies, &c. A Y-MP/16 of that era probably about doubled that (more CPUs but
slower clocks) at twice the power draw.
A top-end laptop probably has about that much horsepower now.
I worked at Acorn in the early 80's and knew Steve Furber, but it's amusing to think that most of the Slashdot crowd probably wasn't even born then. I assume the average age here nowadays must be college age or thereabouts.
Not surprising they don't know what ARM originally stood for.
Windows 95 is way, way worse than any modern OS, even Vista and Windows 7. Back in the '95 days OSes didn't put the CPU into idle mode and certainly didn't support any power management, effectively running the CPU at full throttle 100% of the time.
Sorry, you made the erroneous assumption that low system requirements equals low power. Try again.
And you can play those new, high-tech Multi-User Dungeon games, too!
Try not to take me more seriously than I take myself.
Amazon loses money on the e-books they sell. They pay about $14 wholesale for the digital version of a newly released hardcover, and only charge the customer about $10.
Find free books.
None of them are as cheap as coal, if you had to rely on the alternatives you would not be able to afford to heat or cool your home.
Got Code?
It's a comfortably snide comment but it does not reflect the decades-long reality of the ARM architecture.
The ARM guys started out in a performance/watt sweet spot from the beginning and they continue to get it right today.
I want something that is low power, has a nice keyboard and runs linux. Text only mode is fine as all I really want to do is run emacs.
http://www.xpurple.com
I'm not so certain that a decent,monochrome, computer running Linux would not sell well. ,for example, have a small PC in the kitchen that keeps track of your grocery shopping list and relates those needs to menus for the week? Other small computers might be applied to individual hobbies such as keeping your golfing history and golf contacts and schedules as its only purpose.
There is a universe of high quality books at Project Gutenberg that I often enjoy and it is a shame to use a high powered PC just to read and download books. And these days a decent chess game can take place on a low powered PC as well. From my point of view there are now so many uses for computers that having numerous units for various tasks seems quite reasonable and we could actually save energy as well if we use the correct unit for most jobs. Why not
People put too much stock in the home energy savings angle.
I hooked up a Kill-A-Watt to my whole computer/media center stack (computer/monitor/stereo/mixer/external HDDs/assorted electronics), and it was pulling about 65 watts. The only thing that pushed that number up was cranking the stereo.
It costs about 5 bucks a month to leave this stack running 24/7. 5 bucks. If I was to be looking for significant energy savings, I think I would be looking somewhere else.
Want to save energy? Insulate your house. Take shorter showers.
Want to save money? Stop drinking cappuccinos and eating fast food, but leave the fscking computer alone.
anyone who has hooked up a Kill-A-Watt to their computer, and then calculated how much money per year they're spending on it, disagrees with you.
I've done it and I disagree with -you-.
A house divided against itself cannot stand.
Well, by computer, I meant not a server and one that has constant general use. Of course its easy to find a server that will run for years. Its a lot harder to find a computer being constantly used, updated and on the internet that hasn't been rebooted in a year.
Huh? You just defined the very such piece of computer technology otherwise known as a "server". I don't post here often, but this comment just makes my jaw drop unusually low for some reason, so I apologize ahead of time if I sound offensive...
1) A server, as described in a TCP/IP client & server topology, is a computer that is "always on" the internet, or so you very well hope so, especially if it is being used for "business" oriented tasks. Those packets get served to your "clients" whom serve you back, and this process cycles over until satisfied. Does this sound like another real world scenario to you?
2) A server is often updated at least once a week, sometimes more, depending on the sort of update this is. You could even argue such a hardware piece is often the most updated piece of equipment, generally speaking. (Some development systems could certainly be an exception, for instance!)
3) A server, by definition, is tasked with the role of serving, or "hosting" information back to said requesting clients, whom could and often are making all sorts of requests all at the same time (concurrently), hitting up your resources significantly as the volume of concurrency rises. This often taxes the hardware in several different key areas, sometimes very much like a video game (on steroids, even!) especially if you do not have a network topology in which allows better distribution of said serving tasks across.
In summary, have you ever tried keeping one, much less several parallel video surveillance systems up for months upon years at a time, with minimum downtime as any loss of said outage could leave you liable to your real-life business clients? Sometimes you don't have the luxury of redundancy to save your ass. When incoming bandwidth is not your bottleneck, you've gotta keep your disks seeking every bit as fast as they can keep up to, along with fast concurrency capabilities, along with allowing proper time for distributed mass A/V encoding of said daily video surveying operations to occur before considering that a solid "tape" and pushing those off to another system for backup, which mind you, is getting hit by many other requests in parallel to this first example.
Okay, so I did a terrible "summary", especially now as I am continuing onward with this new paragraph, but in other words ... real life servers do not often have it easy in their life! Their CPU, memory and disk I/O are often pushing near or at maximum utilization if you are trying to get every dollar out of your time & money spent. I push my personal workstations plenty hard, but not anywhere close to what some of my servers have gone through on a daily basis!
P.S. My examples given are of only my own personal real life business experiences in the "small time" playing league -- this represents 0.01% of what big name brand servers running many of our web sites we most all depend on every day, free or paid. Yes, my "servers" were indeed a mixture between the real stuff and the commodity desktop class hardware. Whereas I cannot prove this, I've got both win32 and personal *nix workstations that have indeed been alive w/o reset for a year. When your hardware does not fail, satisfied setups and plenty of other systems running to do various testing on, with the right style of administrated setup you can easily scale to the years. ksplice can be used on personal desktops / workstations, too.
You only *simply* have to devote a lifetime to computer science to learn the trade down to a true art.! :-)
Nice overview, but I do not believe it to be completely correct.
Although it is technical possible to execute 4 float or 2 double operations in a single SSE operation, the user usually has to explicitly code for those operations to take full advantage. Vectorization (combining multiple float operations into a single instruction) is often difficult because it is only possible with the same operation on "adjecent" values; It is not possible to combine arbitrary operations. As a result, making efficient use of this capability often requires a rewrite of the algorithm, and compilers are usually not very good at it.
SSE1 only operated on float values, but SSE2 added support for doubles as well, and the instructions set specifically makes it possible to also operate on single float or double values. This is indeed due to the clumsiness of the x87 FP stack.
However, the difference in performance between the FP stack and single SSE2 instructions is not always as huge as could be expected. Underneath the FP stack based ISA, modern X86 processors implement a register based architecture. And while the stack only allows to operate on the stack top, the ISA offers an exchange operation to swap arbitrary stack elements. Because the underlying architecture is register based, such an exchange just reassociates a different register with a different stack location, and no data is moved. As a result, this operation is extremely efficient (practically free, except for opcode).
There are, however, other advantages to using SSE instead of FP. For example, rounding a float to an integer is extremely expensive on the FP unit. This is because a global mode switch has to be performed to switch the rounding mode to truncation, and back to rounding around such a conversion. Switching this mode basically stalls the FP pipeline. In SSE on the other hand, a dedicate instruction was added to truncate to an integer for exactly this reason.
As for the performance benefit with X86-64, I believe this to be largely caused by the larger register set. in IA32, there are only 7 registers which are sort-of general purpose. The hardware has to spend quite some effort in tracking loads and stores, to figure out it can actually keep such values in registers too (underneath, a modern X86 processor has lots of registers). X86-64 makes it a lot easier for the compiler to express what it wants.
Wanna make a $10,000 bet on the price?
I'm already making a much much bigger bet than that. On the order of several hundred k.
The oil price will go up till it kills the economy, puts millions out of work. Then it'll crash because nobody can afford it. Then as everthing recovers over the next couple of years it'll go back up again with demand. The specific price is going to depend on the level of inflation by the government.
There is a chart of whale oil prices which are a reasonable model of what's going to happen.
http://www.theoildrum.com/node/4672
Other commodities are recyclable. You can melt them down and reuse them. Oil, not. It's burned it's gone. Course we may switch to electric. Which means renewables, coal and primarily nuclear. But we have a huge oil infrastructure which would have to be replaced. Trillions of dollars. Which means lots of inflation and lots of recession.
Deleted
Well, that depends. If you handed Win95 a standard Atom based modern PC(assuming you could even boot it) you would get terrible results, as you note. No ACPI, no serious power management.
If, by some strange miracle, Intel decided that there was a market for modern-day PCs equivalent in performance to ~33MHz Pentiums with 16 megs of RAM, they could definitely fab something that fulfilled that performance objective while using next to no power, even if the OS did no power management at all.
Wasn't sure what that was. For people who don't know, here is the write up on the emate. http://en.wikipedia.org/wiki/EMate_300
That was well worth reading. It touches on some interesting things, like how they originally kept power usage down to allow a cheaper plastic body for the chip, and how we don't have good profilers to find power usage hotspots in code.
Sorry. I guess I should have said "Windows 95 [with upgrades to make it work with a modern Atom CPU]" in my previous post. Obviously I would not use the stock Win95
Anyway...
I use Windows 98 on my laptop with only 64 megabytes. It works just fine. I'm not sure why people say these older OSes are "no good" since it runs web browsing & word processing software a-okay and without needing a lot of power to do it (4 hours on a NiMH battery). Just replace the inefficient AMD K5 with an efficient Atom.
Oh and as for the Linux suggestion, I have used things like Puppy Linux on this laptop and enjoyed the speed of its RAM-based operation, but it failed to see the modem or the sound card. I like OSes that work, and it didn't seem to function properly.
"I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
This is one of the main reasons why you see a performance improvement in x86-64
Isn't that just a question of setting the right -march=foobar --omg-optimizations flags in /etc/emerge.make.conf.zomfg.fast?