Symmetric Multi-Processing
(SMP)
Symmetric Multi-Processing
(SMP) is the primary parallel architecture employed in servers. An SMP
architecture is a tightly coupled multiprocessor system, where processors share
a single copy of the operating system (OS) and resources that often include a
common bus, memory and an I/O system.
Think of this as a typical
single server, multi-core with locally attached storage, running the Microsoft
Windows OS.
Massively Parallel
Processing (MPP)
Massively Parallel Processing (MPP) is the coordinated processing of a
single task by multiple processers, each working on a different part of the
task. With each processor using its own operating system (OS) and memory. MPP
processors communicate between each other using some form of messaging
interface via an “interconnect”. The setup for MPP is more complicated than SMP
and one approach to simplify this while providing equal amounts of resources
between processors is the “Shared-Nothing” architecture. This approach is the
one Parallel Data Warehouse is based upon.
The term shared nothing
architecture was coined by Michael Stonebraker (1986) to describe a
multiprocessor database management system in which neither memory nor disk
storage is shared among the processors.
For a database which follows
the shared-nothing architecture, each processor has its own set of disks. Data
is “horizontally partitioned” across nodes, such that each node has a subset of
the rows from each table in the database. Each node is then responsible for processing
only the rows on its own disks. Such architectures are especially well suited
to data warehouse workloads, where large fact tables can be distributed across
the nodes.
In addition, every node
maintains its own lock table and buffer pool, eliminating the need for
complicated locking and software or hardware consistency mechanisms. Because
shared nothing does not typically have a severe bus or resource contention it
can be made to scale to hundreds or even thousands of machines.
No comments:
Post a Comment