11.3 Symmetric Multiprocessing Systems
One of the limiting factors for a uniprocessor system is the ultimate
speed of its processorall applications have to share this one
resource. Symmetric
Multiprocessing (SMP) systems were invented in an effort to overcome
this limitation by adding CPUs to the memory bus, as shown in Figure 11-2.
Figure 11-2. Typical Symmetric Multiprocessing (SMP) system

Each CPU has its own memory cache. Data resident in the cache of one
CPU is sometimes needed for processing by a second CPU. Because of
this potential sharing of data, the CPUs for such machines must be
able to "snoop" the memory bus to
determine where copies of data reside and whether the data is being
updated. This snooping is managed transparently by the operating
system that controls the SMP system, so either Oracle Standard
Edition or Enterprise Edition can be used on these platforms.SMP platforms have been available since the 1980s as midrange
platforms, primarily as
Unix-based
machines. Today, there is a category of entry-level servers featuring
Intel-based CPUs, although Itanium based systems now offer CPU
performance challenging other 64-bit CPUs. The most popular operating
systems in this category are Windows and Linux.SMP servers that can scale to larger sizes from HP, IBM, and Sun
feature variations on this basic design. For example, SMP systems
might include Reduced Instruction Set Chips (RISC) for CPUs or larger
Itanium configurations, a larger L2 cache, faster memory bus and/or
multiple higher speed I/O channels. Each enhancement is intended to
remove potential bottlenecks that can limit performance. Unix is the
most common operating system used in Oracle implementations on
high-end SMP servers.The number of CPUs on SMP was historically limited by scalability of
the system (memory) bus. As more CPUs were added to the bus, the bus
itself could be saturated with traffic between CPUs attached to the
bus.Systems featuring 64-bit CPUs can handle
large amounts of data more efficiently than previous 32-bit CPUs;
they support as many as over 70 CPUs on a single system with hundreds
of gigabytes of memory.Of course, the database must have parallelization features to take
full advantage of the SMP architecture. Oracle operations such as
query execution and other DML activity and data loading can run as
parallel processes within the Oracle server, allowing Oracle to take
advantage of the benefits of multiprocessor systems. Oracle, like all
software systems, benefits from parallel operations, as shown by
"Amdahl's
Law":Total execution time = (parallel part / number of processors) + serial part
Amdahl's Law, formulated by mainframe pioneer
Gene Amdahl in
1967 to describe performance in mixed parallel and serial workloads,
clearly shows that moving an operation from the serial portion of
execution to a parallel portion provides the performance increases
expected with the use of multiple processors. In the same way, the
more serial operations that make up an application, the longer the
execution time will be because the sum of the execution time of all
serial operations can offset any performance gains realized from the
use of multiple processors. In other words, you cannot speed up a
serial operation or a sequence of serial operations by adding more
processors.Each subsequent release of Oracle has added more parallelized
features to speed up the execution of queries as well as the tuning
and maintenance of the database. For a list of Oracle operations that
can be parallelized, see Section 6.3.3 in Chapter 6.Oracle's parallel operations take advantage of
available CPU resources. If you're working with a
system on which the CPU resources are already being completely
consumed, this parallelism will not help improve performance; in
fact, it could even hurt performance by adding the increased demands
for CPU power required to manage the parallel processes. However,
with the shared multi-threaded servers and Oracle Net concentrators
(discussed in Chapter 2) parallelization may make more sense, because
there will be more CPU power available per Oracle connection.
• Table of Contents• Index• Reviews• Reader Reviews• Errata• AcademicOracle Essentials: Oracle Database 10g, 3rd EditionBy
Publisher: O''ReillyPub Date: February 2004ISBN: 0-596-00585-7Pages: 368
This new edition distills a vast amount of knowledge into an
easy-to-read volume covering the full range of Oracle''s
features and technologies. The book includes an overview of
Oracle 10g, along with recent releases 9i and 8i.
Oracle Essentials 3rd Edition: Oracle Database
10g provides everything you''ll need to install
and run the Oracle databases. If you''re new to Oracle or
upgrading to Oracle 10g, you''ll find this comprehensive
guide essential.