Week 5 - Processing Performance and MultiCore Computing
Week 5 - Processing Performance and MultiCore Computing
For this week’s material, you will be introduced to multiprocessing and multi-core computing.
A. Multiprocessors
o Introduction
o Multicore organization
o Hardware multithreading
o Cache coherence
o Message-passing multicomputer
MULTIPROCESSORS
INTRODUCTION
The limitations of the early computer processors, also known as 'uniprocessors' was that there was
only a single microprocessor dedicated for the execution of tasks. Due to program instructions that
can only be executed sequentially, one at a time. A multiprocessor machine solves the limitations of
machines with a single processors by the nature of parallelism. Multiprocessors can provide methods
of shared distribution of program execution tasks to smaller processors in order for the system to
achieve improved efficiency, speed and performance over single processor systems. A processor that
is designed in a manner that can efficiently carry out the execution of shared tasks is known to be
Parallel processing requires that the method that each of the individual processors uses to execute
each of the processors during their execute phase should have limited overhead (Abd-El-Barr & El-
Rewini, 2004). Although there are many advantages to in multicore systems, there are several soft-
ware and hardware performance issues that can occur as a result of parallelism.
The two main communication styles that can be used in multiprocessors are the Communication
Model (CM) and the Physical Connection (PC). The CM style consists of either multiprocessors
with a single address space or multiprocessors with multiple address spaces. The PC style consists
munication structure. The structure of these network styles each have their benefits and drawbacks
that can affect the performance and efficiency of multiprocessing. The diagrams on the next page
illustrates the organization and arrangement for single-bus systems, multi-bus systems, a multi-stage
(a) single-bus system, (b) multi-bus system, (c) multi-stage interconnection network, (d) crossbar system.
There are a variety of microprocessor computer architecture schemes that exist including Flynn's
(1966), Kuck (1978), Hwang and Briggs, Erlangen, Gilio (1983), Skillicorn (1988) and Bell (1992).
This section will focus on describing Flynn’s classification which is a scheme that subsequent
schemes were modelled after. In Flynn's classification scheme, a computer consists of instruction
streams that are the order of instructions being executed and data streams which is the amount of data
being shared between the memory unit and the processing unit. These instruction and data streams
HARDWARE MULTITHREADING
Multithreading is a method that a single core processor or a multicore processor system can use to
improve the efficiency of parallel computing. A standard process can consist of a single thread or
multiple threads, with a minimum of one thread that is used for execution purposes. In comparison to
the standard process, a thread shares the address space of its parent process and other processes that
have been created by it. These threads are small data structures that are able to run simultaneously to
execute a single or different process in parallel. The three types of hardware multithreading are coarse
SIMD schemes are particularly useful form of parallel processing for image processing, 3-dimen-
sional rendering and audio processing due to the layout and design of the processors matrix operations
that work with data-level parallelism (Bindal, 2019). In this scheme, a single instruction is executed
by multiple processors, resulting in the output of data. Each processer involved in this process has
local data memory but share a single source of instruction memory where instructions are fetched.
MIMD schemes are different from SIMD in that each processor has their individual instructions that
are used on their individual data. Each processor is designed to execute code that consists of multiple
processes and each process shares program and address space. This form of processing is uniquely
suitable at the hardware-level due to the ‘independence’ of code (a process) that can run without
reliance on other code (processes). In this case, the MIMD presents increased benefits for both ‘high
There is a single ‘centralized’ main memory that is shared by each central pro-
cessing unit
There is a distributed memory where each central processing unit has their own
memory
The diagram below illustrates the typical layout of a centralised shared memory architecture.
The diagram below illustrates the typical layout of a distributed shared memory architecture.
CACHE COHERENCE
Due to the inherent nature, design and organisation of a multiprocessor or multicore system, main-
taining a level of consistency of data stored in cache memory is a challenge. This unique challenge is
known as ‘cache coherency’ and can be due of the presence of inconsistencies in copies of objects
that the cache and the main memory possess, which may result in unpredictable read and write be-
haviour (Bindal, 2019). The following is diagram is an illustration of the cache coherence challenge
in a multiprocessor system in which one of the CPUs performs the wrong computation as a result of
Snooping: a single cache can monitor address lines in order to access their cached memory
locations
Snarfing: a ‘cache controller’ is used to ensure that the address and data are consistent in each
memory location
MESSAGE-PASSING MULTICOMPUTER
data exchange between each other. This technique differs from shared-memory in that local memory
is used in place of global memory for message communication between the microprocessors. This
communication method is commonly used in the network client-server model in which communica-
REFERENCES
Abd-El-Barr, M., & El-Rewini, H. (2005). Fundamentals of Computer Organization and Architecture
Bindal, A. (2019). Fundamentals of Computer Architecture and Design (2nd ed. 2019 ed.).
Springer.
Brookshear, J. G., & Brylow, D. (2015). Computer Science: An Overview (12th Edition). Pearson
Education.