Has 64-bit computing finally come of age?

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.

Tangible benefits

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).