|
|
|
Memory
Servers tend to have large
The maximum amount of memory a process on a
server can address is limited by the processor's word size. Server
processors have either 32-bit or 64-bit words. Registers on
processors are the size of a word and are used to hold memory
addresses. The maximum amount of memory that can be addressed by a
processor is a function of the word
On 64-bit processors, the 4GB limit goes away,
but most 64-bit
Some 32-bit processors (for example, Pentium) implement additional address bits for accessing physical addresses greater than 32 bits, but these are accessible only via virtual addressing by use of additional bits in page table entries. x86-based processors currently support up to 64GB of physical memory through this mechanism, but the virtual addressability is still restricted to 4GB.
64-bit processors are appropriate for workloads
that have processes that need to address large quantities of data.
Large databases, for example, benefit from the additional memory
addressability provided by 64-bit processors. 32-bit processors, on
the other hand, are better for workloads that do not have large
addressability requirements, because code compiled for 32-bit
processors is more compact (because addresses used in the code are
half the size of 64-bit addresses). The more compact code
Processor speeds and memory speeds continue to
increase. However, memory speed technology usually lags processor
technology. Therefore, most server systems implement smaller
high-speed memory subsystems called
caches
. Cache memory subsystems are
implemented between the processors and memory subsystems to help
bridge the gap between faster processor speeds and the slower
memory access times. The advantage of implementing caches is that
they can substantially improve system performance by exploiting a
property called
locality of
reference.
Most programs, at some point, continuously
execute the same subset of instructions for extended periods of
time. If the subset of instructions and the associated data can fit
in the cache memory, expensive memory
Most processors today implement multiple levels
of caches. In addition, some servers can also implement multiple
cache hierarchies. The processor caches are typically much smaller
and faster than caches implemented in the platform. Caches range in
size from a few kilobytes to a few megabytes for on-chip caches and
up to several megabytes for system caches. Caches are broken into
same-
As much as memory is important to keeping things running smoothly, I/O capacity is also important. Along with memory, this is a component that keeps the processors effective. |
|
|
|