CH20 COA11e
CH20 COA11e
CH20 COA11e
Chapter 20
Parallel Processing
• Flexibility
– Generally easy to expand the system by attaching more
processors to the bus
• Reliability
– The bus is essentially a passive medium and the failure of
any attached device should not cause failure of the whole
system
Software Solutions
• Attempt to avoid the need for additional hardware circuitry
and logic by relying on the compiler and operating system to
deal with the problem
• Attractive because the overhead of detecting potential
problems is transferred from run time to compile time, and
the design complexity is transferred from hardware to
software
– However, compile-time software approaches generally must
make conservative decisions, leading to inefficient cache
utilization
Hardware-Based Solutions
• Generally referred to as cache coherence protocols
• Because the problem is only dealt with when it actually arises there is
more effective use of caches, leading to improved performance over a
software approach
M E S I
Modified Exclusive Shared Invalid
Thread: Process:
• Dispatchable unit of work within a process • An instance of program running on
• Includes processor context (which includes computer
the program counter and stack pointer) and • Two key characteristics:
data area for stack • Resource ownership
• Executes sequentially and is interruptible so
• Scheduling/execution
that the processor can turn to another thread
Process switch
• Operation that switches the processor from one
process to another by saving all the process
control data, registers, and other information
for the first and replacing them with the
process information for the second
• Defined as:
– A group of interconnected whole computers working together as a unified computing
resource that can create the illusion of being one machine
– (The term whole computer means a system that can run on its own, apart from the
cluster)
• Benefits:
– Absolute scalability
– Incremental scalability
– High availability
– Superior price/performance
Copyright © 2022 Pearson Education, Ltd. All Rights Reserved
Figure 20.11
Cluster Configurations
Active Secondary: The secondary server is Reduced cost because Increased complexity.
also used for processing secondary servers can
tasks. be used for processing.
Separate Servers Separate servers have High availability. High network and server
their own disks. Data overhead due to copying
is continuously copied operations.
from primary to secondary
server.
Servers Connected to Servers are cabled to Reduced network and Usually requires disk
Disks the same disks, but each server overhead due to mirroring or RAID
server owns its disks. If elimination of copying technology to
one server fails, its disks operations. compensate
are taken over by the for risk of disk failure.
other server.
Servers Share Disks Multiple servers simul- Low network and server Requires lock manager
taneously share access overhead. Reduced risk software. Usually used
to disks. of downtime caused by with disk mirroring or
disk failure. RAID technology.
Chapter 20 • Processing
• Multithreading and chip
• Multiple processor organizations
multiprocessors
– Types of parallel processor systems
– – Implicit and explicit multithreading
Parallel organizations
– Approaches to explicit
• Symmetric multiprocessors multithreading
– Organization
– Multiprocessor operating system design • Clusters
considerations – Cluster configurations