Crusoe As Server CPU
rxmd writes "Heise has an article on Transmeta's Crusoe processor being used as a x86-compatible server CPU by companies such as rebel.com and RLX (read their press release on the project), supporting Linux as well as other "established operating systems". Basically, it's about the Crusoe's lower power consumption and temperatures enabling server manufacturers to put more processing power into the same amount of space than with Intel or AMD cpus. Interesting that a CPU designed for mobile applications should find its way into the server market."
> Seems to me that it'd be pretty cool to write to the native Crusoe architecture rather than going through the x86 ``emulation''. Does anyone know if it's even possible to bypass the emulation at all, and write native machine code
Just about every Crusoe posts comes standard with one or two of these questions. Actually, I don't know the answer, but I expect it is *not* possible to write to the "native" ISA of the Crusoe chips. In so doing, you would be circumventing important architectural features of the chip, which operate in their ultra-low-level ISA emulation software.
But most importantly, even if you could, they do not *want* you to. Their code-morphing software also performs some optimizations, which would be thrown out the window if you went "native". More importantly, though, native could would be irrevocably tied to *that implementation* of the Crusoe. Transmeta is under no obligation to build the next Crusoe with the same ISA, and probably won't. Since they are emulating another ISA, the physical architecture is only seen by their software, thus they can tweak the architecture as much as they like between revs without having to worry about breaking binary compatibility. As any design engineer knows, this is a Thing of Beauty, and a luxury no other company is allowed. If people started programming native, they would lose that luxury.
So, while writing straight to the Crusoe silicon (if possible) may be fun as a hack, it would not result in maintainable software. Moreover, it is in Transmeta's best interests to discourage such behavior
--Lenny
Mac OS X is going to be the long-term key to this plan, but Linux/PPC isn't a bad place to start from. With Larry Ellison sitting on Apple's board, I would expect Oracle to be running on OS X within a year. That'll give you Oracle, Apache, and JDK 1.3 all on one box, which uses a lot less power.
This should be a no-brainer, since the power problem in Silicon Valley is going to get worse before it gets better; winter is the OFF season for power, and we're running out (yes, I know there are lots of power plants offline now, but the same principle applies)...
-jon
Remember Amalek.
I've been waiting for Apple to start running ads in California trumpeting how much less power Macs use, compared to PCs. This might be a good place for Apple to start; G3/G4 rack-mount, anyone?
-jon
Remember Amalek.
True stoneage thinking. Me not know how to use computer. Me know how to use hammer. Me use computer as hammer. See! 'pooter is useful!
Yes, you can write native machine code for one particular Crusoe chip. After all, the code morphing layer is written in native code. The next Crusoe chip that comes along won't be able run your code, because the internals will have changed. Transmeta don't want to be in the position of Intel, having to build backward compatability into their chips. They won't do it. So in six months you'll have to compile your program for the next Crusoe... and the next... and the next... and you'll have to support users using all those versions, so you'll need to keep a machine with each version in house...
True stone-age thinking.
I'm old enough to remember when discussions on Slashdot were well informed.
at least someone is using it.
This is actually a pretty serious problem; it turns out that server farms are a major part of the increased power consumption that's driving the electrical crunch. The worst part is that computer power consumption is only the tip of the iceberg. There are so many servers packed into such a small space that their air conditioning costs are actually huge; IIRC they use more electricity for AC than to run the computers. If you can cut the power consumption of the computer it pays back double or more because you can cut your AC costs, too, and probably capital costs for backup power. Back of the envelope calculations suggest that switching to low power consumption chips could wind up saving money overall over a period of a year or two just on decreased electrical usage.
There's no point in questioning authority if you aren't going to listen to the answers.
A number of reasons come to mind:
/. effect - if we all hit these servers asking for the same thing, the code morphing chip will get very good on the third, fourth, fifth request. So in actual practice, a Crusoe server would handle /. effect very well, not to mention many brute force attacks, as it optimizes itself for redundancy. Extra added bonus for the superbowl effect, for those remaining .com advertisers!
1. California has too few power plants - anything to save energy is good.
2. Most servers are redundant ones, hot spares, etc. These would be great with the low-power consumption, especially as the disk access is very low on such boxen until there is a demand spike.
3. Most servers do a lot of the same things over and over and over - this may turn out to be where the highest return on investment (ROI) is for code morphing chips. That plus their ability to ramp up on demand.
4. Think about the
5. Especially useful when reading Jon Katz articles. Lots of excess verbiage, repetition, and waste of space - maybe the Crusoe chip could just go to sleep and save power whenever someone made a mistake and tried to read one of those!
--- Will in Seattle - What are you doing to fight the War?
It all depends on the application, but most servers "require"
1 - small code (always the same app running)
2 - mucho data, not so mucho processing.
3 - mucho I/O
For a good design server, a kick-ass bus and lots of CPUs is way more important than having the latest 5.3 zillion Hz processor. The speed and width of the bus/switch fabric sets the upper limit on how much data you can move around. Having a lot of processors is good so you can max out your bandwidth, some processors using the bus while others stall on I/O or locks. In a data server, a CPU spends most of its time doing strictly nothing but wait for the rest of the world.
There are some applications that would prove me wrong : web server with very complex / sophisticated / bloated dynamic pages may be, scientific computing definitely. But the above is more or less the rule of thumb when looking at a data server.
My $0.02