Are You Switching to 64-bit Processors?
chip_whisperer asks: "I used to be a big time custom desktop builder, making many working boxes per year, but I've been off the bandwagon for about four years now and am trying to get back into it now that Ars Technica has just released their recommendations. The standard seems to be heading towards 64-bit processors, but I'm wondering if it worth it to run a box on XP-64? I've heard that driver support for 64-bit processors can be a hassle. Also, for you fellow Linux geeks, how are current distros (like Suse, Ubuntu, Debian, and others) doing in supporting 64 bit processors?"
Make a list of what XP-64 will do for you that XP won't. If there's anything on that list that really entices you, consider XP-64. If not, forget it, and go along your merry way. XP-64 is guaranteed to give you more driver problems than XP, so if there are no added benefits in using it (which there probably aren't for you, unless you want to use over 2GB of memory), there's no reason for the headache.
Perhaps a more interesting question would be whether the Windows-users in the Slashdot community plan to run 64-bit Vista, considering its enhanced security (PatchGuard et al.) as well as its enhanced possibilities of restricting you from doing things on your own computer.
I switched all my boxes to 64bit at spring.
Only 32-bit systems left are my laptops and I'm not in hurry to replace those.
After selling the old components, I was left to pay $50-100 per system for the upgrade.
As for XP-64, don't bother, its utter crap. No drivers whatsoever, and the ones you can find are buggy as hell.
If you want 64bit win, you'll have to wait for vista.
For linux, I'd recommend gentoo, but if you're unsure and don't want to compile the entire system, suse or ubuntu works aswell.
There are no atheists when recovering from tape backup.
If you're building boxes for friends or customers, you'll want to consider the fact that Macromedia has not released a 64-bits version of Flash player, meaning users have to use a 32-bits browser to see flash animations. You don't start appreciating having flash around until you load the latest YouTube movie.
x86-64's main use is its address space. 32 bits places a 4 million word limitation on your addressing. systems like zfs that are heavily heavily transactional end up addressing a lot more objects than this. once you've breeched your 32bit addressing, the performance of native 64 bit addressing v. some kind of page extension mode is night and day. zfs's _need_ for x86-64 stems from this; it'll run on an "old" athlon, but in 64bit mode it flies.
my personal belief is that the future, the nebulous area Stroustroupe outlines as "better concurrency," is really going to be implemented at a platform level as this kind of deeply nested transactional data structuring, where instead of overwriting your object to change its state, you simply append the new state in a new part of memory. thus each object accumulates address space (referentiability) as it changes across time. i'll leave the full details implementation & ramifications of Copy on Update up to the user for now.
otoh, a lot of science people want double floats and 64 bit words, but look at the big boys, nvidia. it may bite them in the @#$@# someday, but for now they're sticking to a strong party line: 32bit floating point is sufficient. this works alright for video cards & games, since 4 channels of 32bit fp is an 128bit fp buffer. thats large, but still not entirely that accurate. i'd like to see a time when even game worlds are so massive they straight up require 64bit fp. i'd like to see nvidia release consumer cards with 64bit float performance sometime soon, but i dont think the odds of that happening are very big: its new technology with only a couple scientifc users making any use of it. just as it took the boys at Epic, Sweeny & CliffyB both stating the xbox needed more video ram, without vocal powreful demand we probably wont see it for a while.
hopefully we'll be doing more distributed dispatching with gpus in the future. 64 bit ints are going to be required there.
lordmyren
by 2012 -- the end of time
Exchange 2007 requires 64-bit processors (Itanium need not apply). Additionally, resellers such as Dell have discontinued sales of Exchange 2003. Looks like Microsoft wants to move to 64-bit, and that is going to be enough for the server world to move entirely to 64-bit, and certainly enough to recommend 64-bit systems to my clients. Exchange 2007 System Requirements
All the new processors from AMD and Intel (and IBM, for that matter) are 64-bit. Therefore, if you get a new PC, you have no choice but to get a 64-bit processor in it. And since they're all backwards-compatible to 32-bit, there's no downside.
The only relevant issue here is whether you want to run 64-bit or 32-bit software on it.
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
I just bought a Core 2 Duo board and processor. I immediately installed the native 64-bit Gentoo on it, but after two months, I decided to go back to running the x86 distribution. I've been using Linux since 1998, and Gentoo on x86 and PowerPC since before 1.4, and I wasn't very happy with amd64.
I'm a desktop user with 2GB RAM, the server is a PowerPC with 1.5GB RAM. I've never seen a system munch memory like this box when it was running 64-bit Linux. Running all those compatability libraries (for Firefox, OpenOffice, and several other apps) seemed to eat a ton of RAM.
Until every app and plugin I use is 64-bit native, I think I'll stay with 32-bit operating systems.
As for 64-bit hardware, you really don't have much choice if you want to buy new hardware. There's no reason NOT to buy 64-bit processors these days, you get the best bang for your buck with AMD64 or EMT64 CPUs. 32-bit operating systems benefit from the new processors almost as much as 64-bit systems do, so go ahead and 'go 32 on 64' if you want a modern computer.
"Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
Your processing power won't improve at all by switching to x64. The only improvement is that you will be able to address more RAM and HD space, nothing else.
In fact, you will even lose out - 64 bit systems waste more memory than 32 bit systems. That's primarily because the 32-bit structures take up 64 bits on 64 bit system, while not carrying any more data. And all the pointers are suddenly 64 bit in length, etc.
In other words, it's worth switching only if you have and plan to use a reasonably larger amount of RAM/HD space than the 32 bit max limit. (in other words, if you want to switch to use 5gb, i'd recommend sticking with 32 bit system, but for 6gb or 8gb the pros start outweighing the cons)
Did you know that "FTW" ("for the win") is a direct translation of "Sieg Heil"?
Win64 is a piece of cake, for the most part. I picked up an NForce4 AMD64 board about a year and a half ago - they had drivers for all of the on board kit (Ethernet, usb, sound, firewire) and NVidia had drivers for the video cards I had as well. As a server or workstation (lines get fuzzy on a dev box), I had very little problems with finding drivers for even the SCSI kit I added into the mix. I also had 4x1G RAM, which Win64 picked up. I ended up going with Win2003-64 and Win2003-32 (with limited access to all 4G, closer to 3.5G with switches, etc) for the Windows environments as it had better support than WinXP-64. 3rd party hardware stuff may be iffy... scanner/printers seem to get forgotten.
64-bit Gentoo and SuSE both worked like a charm too - but you asked about Windows. Nice to have multiple HDD chassis. (grin)
The thing that you might have problems with were programs. I found that the 'default' install path for the 32-bit stuff would cause some of my programs to trip up. Things like the 32-bit DVD/CD burning software and a few other programs. But anyhow - should you go with a 64-bit CPU? Yes. Win64 is probably more trouble than it is worth for 'generic' gaming rig today. As Vista goes into mainstream, those using a 32-bit processor will be the odd man out.
+++ UGUCAUCGUAUUUCU
You can get by pretty well with 64 bit Linux. I see no compelling reason to run 64 bit Windows yet, unless you need lots of memory. Yeah, you could get a small boost from having more registers, and yeah, it's cool; but the Windows world is just not used to porting to other architectures :). The CPUs have been out, what, 3 years? And it is still a royal pain. And if you game... get used to things like Neverwinter Nights 2 going through the entire 6 cd install, only to tell you "Oh, by the way, 64 bit doesn't work. Ha-ha!"
I'm not exactly sure what confluence of compiler, instruction set and silicon technology is going on, but on one test I found that compiling a float-intensive compute problem I run the EM64T (x86-64) version was faster. This is on my new MacBook Pro, Core 2 Duo with GCC 4.
Start Running Better Polls
I can't speak for x86-64 because I've never seen it, but I've played around with 64-bit PowerPC, and that's really not true. Or not necessarily, anyway. Note that in 64-bit PowerPC, there are no "modes"; all registers are 64 bits in width. However, that doesn't stop 32-bit code from running unmodified.
Basically what it comes down to is: it's not the size of your register; it's the size of your load/store. Having 64-bit registers doesn't stop you from doing a "store word" (32-bit store). It would even be somewhat natural to have 48-bit pointers if you wanted. What defines the size of data in your data structures is what conventions you (as an assembly programmer) decide for your loads and stores. As a C programmer, of course, it then comes down to your compiler implementation. On OS X, anyway, the convention is to use 32-bit pointers in 64-bit code.
So it's misleading to say everything is 64 bits in size. You get to play around with 64 bits when it's in your register, but that doesn't dictate how much memory you'll consume.
AMD64 has more registers available. In real world situations the extra 8 general purpose registers effectively triple the usable register set on x86 - this can lead to having fewer loads and stores to the cache which clearly will improve performance.
Some algorithms can be sped up greatly by using 64-bit integers instead of 32-bit integers. OTOH one such class of algorithms, encryption/hashing, is improved even better by on-chip hardware implementations like in the VIA C3/C7 chips.
It shouldn't affect HD space, only the filesystem code which can now use a single 64-bit int, instead of two 32-bit ints to simulate 64-bit capacities. Most filesystems have supported >4GB filesystems for many a year.
Pointers in AMD64 are 48bits IIRC, even though it is 64-bit overall. I may be wrong here, but AMD64 can only virtually address 48-bits anyway (at least in the current implementations) so they didn't want to waste space needlessly. It also doesn't stop you using 32-bit integers where they are sensible.
XP64 never reached critical driver support. I do high end GIS at work and thought XP64 would be great for a workstation......wrong. I can't find drivers for many of the printers on the network and my scanner does not work. Also many of the software developers for don't support XP64 so if you have a problem they'll blame it on XP64 noteably Autodesk with their latest bug ridden Autocad Map program. Also during the Vista beta program I had nothing but trouble with Creative products using Vista 64. All problems disappeared when using Vista 32. I am removing XP64 from both my home and work computers. Not a chance I'd buy Vista 64.
XP 64 is a workstation OS (and has always been marketed that way by Microsoft, FYI). Unless you're doing heavy stuff, or your hardware loves it (i.e Dual Opterons with NUMA), stay out. You can chuck all your older hardware while you're at it too. Personally I haven't had any real problems with it, apart from it being a massive I/O hog.
XP 64 is based on the WinServer 2003 x64 base, and IMO, Server 2003 x64 makes a better 64 bit workstation OS. I guess M$ frucked up big time when adding all the consumer end stuff to it. Pity 2003 x64 doesn't have the full multimedia support that its 32 bit version does.
I am currently running Windows XP Professional x64 with 64-bit processor types nearly since its release.
The only potential hiccup I encountered was finding an x64 driver for my HP printer; but there is a nice group that came out with drivers that while they claim aren't perfect, I have never had any problems with (both printing and scanning).
If you've ever low-level coded for x64 it can be slightly more painful or new; but its definitely worth it in the end (as well as multi-core).
Add me to the tally of folks running 64 bit Linux. For most purposes, the performance boost is unnoticable. However, I do get a few more FPS when transcoding video and I've noticed no other difficulties compared to 32bit Ubuntu. As others, I run 32 bit Firefox, but this is a breeze to install via automatix. About the only things that don't work for me are Google Earth and RealPlayer. I haven't bothered to look for others having similar troubles with Google Earth (app loads just fine, but imagery is all scrambled) and I don't care that much that RealPlayer barely runs (skips, audio out of sync, hangs inexplicably . . . but it did that on 32bits too).
As far as general day to day use goes, if you've got a 64 bit proc w/ a 32 bit OS, it's probably not worth the hassle to reinstall 64 bit builds. If you're starting over from scratch anyway, you might want to give it a shot.
I've been running Vista since Beta 2 and decided to hold my breath and try the 64-bit version when the RTM was released to MSDN a month or so ago. So far, much to my surprise, it's been rock solid. it worked with every piece of hardware I have, including a Dell dual-tuner TV card, a no-name Web cam, a couple of digital cameras, and my ATI X1300 video card. No software problems to speak of either - the only thing I can think of that didn't work right off the bat is the MS SyncToy application.
I can't speak to WinXP 64-bit, but I can highly recommend it on Vista.
About two months ago I installed XP-64 on a new Athlon system I was upgrading. I didn't realize that I'd have to update all my drivers and some software might not work, but the biggest problem was the drivers, however, I custom-built this PC and used popular components so, with the exception of AVG Free (which doesn't have a 64-bit version), I was able to upgrade my entire system. If you're running more obscure peripherals, you should fully-research the availability of drivers before you upgrade.
...& it runs Linux just fine.
Other than it going faster & being able to drive more RAM than I could afford, there’s no obvious difference between 32 & 64 bit machines as far as Linux was concerned. I had a couple of driver issues at the start, but that’s because the laptop maker chose fancier, better-integrated chips than they had to, not because of 64-bitness. It still uses less power than Windows even though not all of the ACPI stuff is perfectly happy (again, motherboard-too-fancy, not 64-bitness).
The built-in modem works. The wireless works. The wired LAN-card works. The USB2 works. The SATA DVD works. The video works. The sound works (even the crappy little built-in mic works). The SATA hard-drive works. The IEEE488 and FireWire and serial port all work. It all lights up as it should. What more could I ask?
The machine I am typing on is AMD64, but I wouldn't think of XP64 (although you can download the image unlike xp32). when I boot into linux i have lots of application problems because no one supports it yet.
Just forward planning. For a serious server application, of course. But for a real workstation, you are going to have all kinds of problems for a while.. xp and linux.
"People get ready"... for a while probably.
ok shit. Believe it.
Debian Sarge for x86_64 is perfectly well supported; you don't have to run testing/unstable.
Without a chroot? How? Opera is my only problem -- I don't want to bother with chroot environments, so I'm stuck with the statically linked 32-bit version. The Opera people don't make it a priority to release a 64-bit version, unfortunately.
It's a common mistake. Just remember: four tines, it's a pitchfork; three prongs, it's a trident.
WRONG... it's not the tine count. It's the shape.
I have used a three-pronged pitchfork (as well as 4 and 5-tined pitchforks, and a 12-tined ensilage fork). A trident is a three-head spear (with the heads in a line instead of a triangle), and as such, the axis of the heads is parallel to the shaft. You don't want to stab and have the impact offset from the thrust, or worse, have an impaled opponent fall in such a way as to trap your weapon. A pitchfork is a material-handling tool, with the tines offset from the shaft in order to permit better retention of the load.
You can start many applications with the additional switch /3G, which will cause Windows to split the 4Gb of the process' address space 3:1 between user and kernel space instead of the default 2:2. But that's it...
Windows is not the only OS like this. On AIX 32-bit processes are also limited to 2Gb, for example, while on Solaris you have your entire 4Gb.
That said, if maximum memory is not an issue for your program (as is usually the case), it is quite convenient (and fast) to have the same address space across user and kernel parts of the process. And 64-bit gives you both (even if all the pointer-fields in your structures double in size...)
In Soviet Washington the swamp drains you.