Scaling your applications to 64-bit computing

The key to deploying today's 64-bit CPUs is knowing where to use them

At Microsoft’s annual Windows Hardware Engineering Conference (WinHEC) in April 2005, Bill Gates predicted that 64-bit hardware, operating systems, and software would “transform the way we work and play.” Systems using 64-bit processors would be mainstream by the end of 2006, he said, and 64-bit computing at the server level would happen more quickly than any other platform changeover in the past.

Certainly, the building blocks for enterprise 64-bit computing on volume processors are falling into place. Today, enterprises have a wide choice of reasonably priced server and desktop hardware based on AMD64 and Intel EM64T architectures.

By adding 64-bit extensions to the existing IA-32 (x86) instruction set, these systems run most legacy 32-bit operating systems and software with few or no hiccups.

In fact, both AMD and Intel have been upgrading their x86 processor lines so quickly that it’s becoming difficult to find any new server or workstation hardware that isn’t 64-bit enabled. Undoubtedly, desktops are poised to follow suit.

As of May 2005, users now have a choice between 64-bit versions of Linux, Windows XP Professional, and Windows 2003 Server. The final building block, and the one that takes the longest, is software.

“One thing we’ve learned,” says Nick Carr, marketing manager at Linux vendor Red Hat, “is that ISVs don’t like to support any more OSes than they absolutely have to.”

Linux users have a pretty good supply of 64-bit database and other enterprise applications (see table “Vendors Ramp Up for 64-Bits,”), since the 64-bit kernel has been around since AMD’s Opteron launch in April 2003. Windows x64 applications have begun trickling in, with the notable addition of Microsoft SQL Server 2005 in early November.

So, is it time to make the switch to 64-bit hardware and software? Will you really see great leaps in application performance and stability? Which applications should you focus on first? And what are the issues that are likely to come up in the process? The answer is actually a mixed bag.

50FE64bit_ch1.gif
Click for larger view.

Thanks for the memory

Memory addressing is one of the primary benefits of 64-bit computing. The maximum memory today’s 32-bit processors, operating systems, and applications can address directly is 4GB. Intel’s 32-bit Xeon provides a work-around called Paging Address Extensions, which ups the limit to 8GB, but it’s a clumsy work-around at best.

With 64-bit EM64T and Opteron chips, the amount of memory that operating systems and software can address directly rises to 128GB for desktops and 1TB for servers. The theoretical memory-addressing limitations of 64-bit processing are actually on the order of 18 exabytes; the limit for Intel’s 64-bit Itanium chip, for example, is 1,024TB. For most of today’s mainstream desktop and server applications, however, that much memory will probably not make much of a difference.

“In most enterprise environments, file serving, Web serving, and traditional infrastructure applications will have no reason to move to 64-bit for a long time,”  says Jay Bretzmann, director of IBM’s xSeries high-performance division. If you’re running applications and workloads that need and can benefit directly from such massive amounts of memory, however, you’ll see a definite benefit in performance and scalability.

What applications are those? The obvious ones frequently cited are large database implementations, which can gain significant performance and scalability advantages by dumping their huge data sets directly into memory. Memory can be accessed 10,000 times faster than disk drives, so the more data that can be stored in memory, the better the query response, particularly for query-intensive decision-support systems. In particular, queries that require large data sorts will benefit if the sorting is done in memory.

A 2004 study commissioned by Dell compared OLTP (online transaction processing) performance of 32-bit and 64-bit Oracle 9i Database Release 2 on a Dell PowerEdge 2850 server running Red Hat Enterprise Linux AS 3. It found that “OLTP performance on the 64-bit configuration was observed to scale 25 percent to 50 percent better for a database cache size of 9GB in both medium and heavy workloads, compared to the 32-bit configuration.”

Scalability in number of simultaneous users is another memory benefit that is particularly important for large Web and e-commerce sites. For example, testing done by Performance Tuning (with sponsorship by Dell and Microsoft) on a quad-processor Dell PowerEdge 6850 found a limit of 1,300 simultaneous connections on Windows 2003 Server x64 running 64-bit Oracle 10g, versus anywhere from 101 to 1,000 for a 32-bit Windows/Oracle configuration, depending on the server’s extended memory configuration.

These scalability benefits were not lost on MySpace, a fast-growing music and social networking Web site running 15 billion transactions a day. “With 1,000 Web servers connecting to our database servers, we were eating up memory so fast that SQL Server was ejecting things from the procedure cache in order to handle all those connections,” says MySpace CTO Aber Whitcomb.

After migrating its connection-intensive databases to 64-bit SQL Server 2005 running on Windows 2003 Server x64, MySpace saw “a huge gain in stability,” says Aber, adding that “we’re benefiting from the space and power savings we’ve been able to realize through hardware consolidation.” MySpace also discovered another use for all that memory addressing capability: its middle-tier caching servers. “We’re now using 16GB RAM on each cache server” to rocket up its caching performance, Aber says.

All the major database vendors have either released or plan to release 64-bit versions for both Linux and Windows x64, including CA, IBM, MySQL, and Oracle. Microsoft has released a 64-bit version of SQL Server 2005 for Windows only.

More benefit than meets the eye

Other, similar applications can also benefit. “We see strong benefits for business intelligence, supply chain management, and ERP applications,” says Lorie Wigle, Intel’s marketing director for server software and technology. Data warehousing is another category that is frequently cited.

Does that mean we’ll see a mass migration to 64-bit databases? “As usual, most enterprise customers will probably take a very cautious approach,” says Al Gillen, research director for system software at IDC. “Most won’t rush in unless they absolutely have to for performance and scalability reasons, especially if it’s a deep software stack on top of the operating system. They’ll be too concerned about software incompatibilities.” Gillen adds that many will wait for Longhorn to make the 64-bit transition and kill two birds with one stone.

But Insight64 analyst Nathan Brookwood disagrees. “There’s always that initial reluctance, but the payoff is humongous, especially if you look at Oracle and IBM pricing schemes,” he says. “If you can run the same workload on a dozen 64-bit processors that takes 50 or 100 processors on a 32-bit machine, you’ll be highly motivated."

Another category that can benefit significantly from all that memory is thin client computing using solutions such as Citrix Presentation Server or Microsoft Terminal Services, which require a certain allocation of memory per user. “You can get 170 percent more Terminal Services users on a single server with Windows 2003 Server x64 than you can with 32-bit Windows,” says Bob Kelly, general manager of infrastructure server marketing at Microsoft. Citrix similarly estimates the benefit as anywhere from 65 to 300 percent more users as 32-bit versions of Presentation Server.

Microsoft and AMD point to another database-centric category: messaging. "Many organizations don’t like to run lots of Exchange users on a single server, but if you do, a 64-bit platform makes a lot of sense,” says Margaret Lewis, AMD’s commercial marketing strategist.

Microsoft’s Kelly agrees. “There’s a real benefit [to 64-bit computing] in Exchange in terms of being able to consolidate servers and mailboxes. It’s also easier to give end-users much larger mailboxes,” he says.

In fact, Microsoft is forcing the issue. Its upcoming Exchange Server 12 will be available only in a 64-bit version, as will Windows Compute Cluster 2003.

The other principal benefit to the new generation of 64-bit processors is that they add eight additional general-purpose registers to the x86 design, for a total of 16. All of the general-purpose registers have also been upgraded from a width of 32 bits to 64 bits. In addition, there are also eight new 128-bit registers, called XMM registers.

Again, for applications and tasks that are not register-intensive, this is not particularly relevant. What is? “Anything graphic intensive, such as modeling applications for financial markets and the aeronautics industry,” says Red Hat’s Carr. Add technical applications, including high-performance design, 3-D animation, mechanical CAD/CAE, 3-D rendering, and high-end digital video editing to the list. Many of these applications also use large data sets and would benefit significantly from the extra memory addressing.

Digital media management company Agnostic Media has increased media transcoding performance 40 percent following a move to 64-bit Opteron systems. They’ve also seen a 200 percent performance increase for database transactions after moving from Microsoft SQL Server 2000 to SQL Server 2005, according to CEO Jason Turner.

Similarly, MESoft, another media technology company that offers software and services for the feature film and television broadcast industries, found it was able to encode, encrypt, and compress high definition media almost in real time on the 64-bit Opteron platform. “Previously, it took six hours to compress one hour of video,” says CEO Mark Kapczynski.

Porting challenges remain

As with any platform migration, moving operating systems and applications to 64-bit processors causes organizations to bump up against unforeseen issues. For example, the Performance Tuning/Dell testing previously cited actually found decreased query performance with a 64-bit configuration, which it eventually traced to a flawed Fibre Channel driver. Driver issues will probably be less severe in server environments than with the plethora of different desktop configurations in many enterprises, however, and 64-bit versions of Windows ship with a hefty supply of drivers. Still, migrating to the new platform will not necessarily be as easy as simply ripping and replacing CPUs.

“Thirty-two-bit applications that violate the user kernel space will have trouble running on 64-bit platforms,” says AMD’s Lewis. "AutoCAD has lots of plug-ins that want to address the same memory as the application. If AutoCAD goes 64-bit, all those plug-ins will have to be upgraded as well to function properly.”

“The challenge for writing 64-bit code is to make sure it’s actually taking advantage of all the 64-bit performance benefits,” says MESoft’s Kapczynski. “You need hard-core programmers that really understand memory management, and you have to keep iterating and testing. It took us three times longer than we expected, but that is the nature of development on a new platform.”

The users we talked to, however, had relatively few problems with their migrations. "We had some issues with Fibre Channel drivers and with full-text indexing of SQL Server, but they were quickly resolved,” says MySpace’s Whitcomb. “Installing 64-bit Windows and SQL Server took about a day.”

Agnostic’s Turner agrees. "We had some minor driver incompatibilities, but in my experience, the platform is mature and ready for prime time.”

Copyright © 2005 IDG Communications, Inc.

How to choose a low-code development platform