Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
  Previous   Contents   Next 
   
 
Chapter 1

64-bit Computing

As applications continue to become more functional and more complex, and as data sets grow in size, the address space requirements of existing applications continue to grow. Today, certain classes of applications need to exceed the 4 gigabyte address space limitations of 32-bit systems. Examples include various database applications -- particularly those that perform data mining -- as well as Web caches and Web search engines, components of CAD/CAE simulation and modeling tools, and scientific computing. The desire to make these and other large applications run efficiently has been the primary impetus for the development of 64-bit computing.

Getting Past the 4 Gigabyte Barrier

The diagram in Figure 1-1 shows a typical performance versus problem size curve for an application running on a machine with a large amount of physical memory installed. For very small problem sizes, the entire program can fit in the data cache (D$) or the external cache (E$) -- but eventually, the data area of the program becomes large enough that the program fills the entire 4 gigabyte virtual address space available to a 32-bit application.

Figure 1-1 Typical Performance versus Problem Size Curve

Beyond the 32-bit virtual address limit, applications programmers can still handle large problem sizes -- usually by splitting the application data set between primary memory and secondary memory, for example, onto a disk. Unfortunately, transferring data to and from a disk drive takes a longer time, in orders of magnitude, than memory-to-memory transfers.

Today, many servers can handle more than 4 gigabytes of physical memory. High-end desktop machines are following the same trend, but no single 32-bit program can directly address more than 4 gigabytes at a time. However, a 64-bit application can use the 64-bit virtual address space capability to allow up to 18 exabytes (1 exabyte is approximately 1018 bytes) to be directly addressed; thus, larger problems can be handled directly in primary memory. If the application is multithreaded and scalable, then more processors can be added to the system to speed up the application even further. Such applications become limited only by the amount of physical memory in the machine.

It might seem obvious, but for a broad class of applications, the ability to handle larger problems directly in primary memory is the major performance benefit of 64-bit machines.

  • A greater proportion of a database can live in primary memory.

  • Larger CAD/CAE models and simulations can fit in primary memory.

  • Larger scientific computing problems can fit in primary memory.

  • Web caches can hold more in memory, reducing latency.

Beyond Large Address Spaces

Other compelling reasons why you might want to create 64-bit applications include:

  • You need to perform a lot of computation on 64-bit integer quantities using the wider data paths of a 64-bit processor to gain performance.

  • Several system interfaces have been enhanced, or limitations removed, because the underlying data types that underpin those interfaces have become larger.

  • You want to obtain the performance benefits of the 64-bit instruction set, such as improved calling conventions and full use of the register set.

 
 
 
  Previous   Contents   Next