Has 64-bit computing finally come of age?
26th Feb 2009 | 12:00
Why software is no longer holding you back from upgrading
Can 64-bit fulfil its potential?
There's only one thing worse than a technological breakthrough that never gets going: one that makes a promising start, but fails to fulfil its potential. We can live with promised advancements of technologies like speech recognition – a theoretical godsend which would make the lives of RSI suffers easier if only it worked.
With 64-bit computing, however, the frustration is more pronounced. We should have faster and frankly better computers by now, but for all its much vaunted advantages, 64-bit still isn't mainstream. The situation is made all the more annoying because the pieces of the puzzle began falling into place over seven years ago, when Windows XP 64-bit was released.
The hardware's there too: both Intel and AMD have long offered 64-bit processors. Yet driver incompatibilities and a lack of updated software have stalled progress in 64-bit computing. Thankfully, that's all about to change. Microsoft Windows Server 2008 will be the last version of the OS to be released in both 32-and 64-bit flavours.
Major companies such as Autodesk and Adobe have also put their shoulders behind 64-bit, releasing updated versions of their flagship apps. Finally, laptop makers such as Dell and Lenovo now ship a 64-bit OS almost as often as a 32-bit OS. So after a number of false dawns, is the fire of the 64-bit revolution now being lit?
In theory and practice
Why is 64-bit computing important? The answer is simple: a 32-bit operating system can only access up to 4GB of RAM, whereas a 64-bit OS can access more RAM than anyone could conceivably fit into their PC case: 17.2 million terabytes (TB). In practical terms, a 64-bit Dell workstation such as the Precision T3400 can be configured with 16GB or more of RAM. The difference is profound.
Here's a good visual picture of why the higher memory addressing is important: if the memory size for a 32-bit PC is as big as a standard water pipe to a suburban home, the pipe for a 64-bit computer is as big as the Atlantic Ocean. That's a lot of room for programmers to be innovative in how they handle data, and they wouldn't have to worry about performance or bottleneck issues.
There's another angle to this, however. A 32-bit application can only use 3GB of data for a single process. This means that for many fields – such as the oil and gas industry, or high-end media creation and music production – there is a severe limitation.
Companies such as Pixar and LucasArts have used 64-bit Linux computers for the past decade because they need to work with products like Autodesk's Maya, an app for creating 3D models. On a 32-bit PC running Windows, the 3GB limitation per process would mean breaking the models into separate pieces and continually swapping memory to hard disk.
64-bit in high-end computing
64-bit in high-end computing
The engineering field has also discovered the merits of 64-bit. Autodesk's Revit is an application that enables engineers to create complex data models of buildings. These can have thousands of data points, including wall thickness, structural integrity, wind resistance and so on. They may also have several thousand more data points for the relationships between those data points – the structural integrity for an outer wall compared to an inner wall with a certain load on the floor, say.
Typically, on a 32-bit PC, the engineers are severely limited. It's not possible to load the entire data model into memory all at once, so they're forced to split the building into sections – an entrance, a hallway, the roof, and so on. As they examine data models for one section, they can't use the other data, because it won't fit into the memory. On a 64-bit platform, the entire model fits into memory, and it's possible to see the relationships between floor structures in a hallway and a corner office, for example.
Because a 64-bit app can load many processes into memory all at once, computers become more adept at completing tasks, with the result that better building design is possible. Another example is game development. In this field, a 32-bit computer is also severely crippled, but not quite for the same reasons.
There are thousands of pixels in a texture model, but rendering is usually handled by the GPU. Programming environments – such as those designed for the Unreal Engine used by many first-person shooters – can fit comfortably in the 4GB RAM allocation of a Windows or Linux computer. However, the developer can't run several applications at once, so the creative process is hampered.
On a 64-bit workstation, it's possible to run the necessary toolkits at the same time as a browser, Photoshop, email and the entire game itself. There's no page-swapping to disk, no slowdowns and few crashes as the memory allocations on a 64-bit platform are more than adequate to handle the workload.
More importantly, game testing is easier: testers can run multiple instances of a multiplayer match on the same PC. Mark Atkinson is the Director of Technology at Crytek, the company responsible for the amazing Crysis Warhead and Far Cry games. With a focus on the PC games market (console versions of its video game are ports from the PC), Crytek is one of the few development companies releasing 64-bit versions of their games.
The benefits are clear: the game can be loaded entirely into physical RAM without touching your hard disk for pageswaps, and textures are handled by the GPU. "A high-performance system is a balanced system," says Atkinson. "This means fast disk I/O, plenty of RAM and then multiple powerful cores to do the actual processing. Currently I'd say most heavyweight apps would benefit more from having 8-16GB of DDR3 RAM than from extra processing cores, as the reluctance to break away from 32-bit operating systems has meant that RAM has been stuck around 2-4GB for some considerable time now."
For the typical business user who runs Microsoft Word and Internet Explorer, the advantages of a 64-bit platform are not as clear. To them, the 64-bit platform might seem more like a marketing ploy to convince end-users to upgrade their CPU, get new software and buy Windows Vista in its 64-bit version. Yet every user stands to benefit from the merits of 64-bit computing as it becomes more widespread.
The 64-bit platform affords more advantages than just the ability to access more RAM. One of the most important software releases of the last few years is the Adobe Creative Suite CS4, which includes 64-bit applications such as Photoshop CS4 and Illustrator CS4.
For professional designers and photographers, who don't load multiple processes into memory, the main advantages are speed and agility. Whereas an engineer using Revit might load one building model with thousands of data points, a photographer might open several images, each consisting of thousands of pixels.
In testing, we opened hundreds of images in Photoshop CS4, and found that the program ran about 20 per cent faster for common tasks such as applying a blur effect to a nature shot. Filters such as Liquify completed in about 20 seconds on a home-built 64-bit PC running Windows Vista Ultimate 64-bit with 8GB of RAM and an Intel Q9650 processor. Compare that to the full minute that it took on a standard 32-bit laptop.
It was even possible to load several images at once and apply these filters at the same time. Doing this on the laptop would not have been possible because of the RAM constraint. For professional photographers, Photoshop CS4 improves their workflow.
One such company called Innovative Imagine Studio creates fine art reproductions of photographs using 64-bit workstations and Photoshop CS4. Files are usually about 320MB in RAW image format, and are typically more than 1GB in size by the time the studio works its magic and turns the photos into works of art, such as watercolours or giclée prints.
Ellie Kennard, a technician who works with Photoshop at the studio, says that each workstation is equipped with at least 8GB of RAM – and that she dedicates about 6GB to Photoshop CS4. The increase in performance that 64-bit gives is staggering. Photoshop takes almost four seconds to open a multi-layered 270MB file on a 32-bit computer running CS3, but just one second each on CS4.
Adobe doesn't talk specifically about speed gains in its products or new features directly tied to the 64-bit platform (other than to say that the CS4 products are 64-bit), but it's clear that the suite benefits from 64-bit development.
The improvements include a 64-bit memory address space (more RAM available), native 64-bit integers and pointers (which have a wider register size for programming complex apps), 16 general-purpose registers and 16 SSE (streaming SIMD extensions) registers, relative addressing (position independent code) and an NX bit (data execution protection for buffer overrun exploits, although this is also present on x86 systems with PAE extension).
64-bit vs multicore processors
64-bit vs multicore processors
Given the choice between 64-bit applications or a multicore architecture, most developers will now choose the 64-bit platform. One reason for this is that when developing 64-bit applications, coders can use double precision to verify the algorithms used in the software.
Software designed for the 64-bit platform also has a longer shelf life because more and more end-users will choose laptops and desktops with a 64-bit operating system in the next few years. This was not true just a few years ago, when the vast majority of applications and operating systems were running in 32-bit.
"Engineers are forever creating larger models," says Barbara Hutchings, who is one of the directors at simulation and design-analysis software company Ansys. "Larger models are driven by a need for higher fidelity, which translates into a bigger simulation model that requires more RAM. With 32-bit, there's a limit of two million cells, or depth of field. That was a good sized model about three or four years ago.
Today, it's not unusual for there to be 10 million, 200 million or a billion cells. We now access memory in a distributed fashion, using cluster computing with multiple processors, each of which has its own processes running. However, not every bit of the simulation task can be achieved with cluster distribution. Every time the procedure needs to sit at the single process, the 32-bit limit hurts. 64-bit improves that [situation] greatly."
"You can use 64-bit values in a 32-bit environment, but you take a huge performance hit because of the different sets of registers that are needed to run extended 64-bit data ranges," adds Mike Sanor, a technician at Micron.
"Some 64-bit operations are not even supported in a 32-bit operating system. For example, a 32-bit operating system can only use 32-bit adds, subtracts, multiplies and divides, so the compiler has to do that for you. You can reduce the amount of calculations the system has to do when you use a 64-bit system. Rather than processing the 64-bit registers sequentially in a 32-bit operating system, the 64-bit OS handles the registers in 64-bit 'chunks'."
The promise of 64-bit computing has certainly taken a long time to mature. The release of Adobe Creative Suite 4 is a major milestone, as it means that 64-bit apps have finally gone mainstream. The release of other 64-bit software, including Maya and Revit, adds to the momentum of the movement.
64-bit applications can access a larger memory envelope, use double precision for programming routines, allow engineers and photographers to apply many gigabytes of RAM to a single application process and let game developers run multiple toolkits on a single workstation. In the future, all drivers and software will be 64-bit. That future is almost here.
First published in PC Plus issue 279
You might also like Our guide to building your own online distro
Sign up for the free weekly TechRadar newsletter
Get tech news delivered straight to your inbox. Register for the free TechRadar newsletter and stay on top of the week's biggest stories and product releases. Sign up at http://www.techradar.com/register