Unit - 4 Computing Technologies: To - Bca 4 Sem BY-Vijayalaxmi Chiniwar
Unit - 4 Computing Technologies: To - Bca 4 Sem BY-Vijayalaxmi Chiniwar
Unit - 4 Computing Technologies: To - Bca 4 Sem BY-Vijayalaxmi Chiniwar
Computing Technologies
To - BCA 4th Sem
BY- Vijayalaxmi Chiniwar
Introduction to Parallelism
Types of Parallelism
Hardware parallelism
Software parallelism
Types of Parallelism
Parallelism in Hardware (Uniprocessor)
* Bit-Level Parallelism - BLP
1▪ Parallelism in a Uni-processor
– Pipelining
– Superscalar, VLIW etc.
2▪ SIMD instructions, Vector processors, GPUs
3▪ Multiprocessor (MIMD)
– Symmetric shared-memory multiprocessors
– Distributed-memory multiprocessors
– Chip-multiprocessors a.k.a. Multi-cores
4▪ Multicomputer a.k.a. clusters
▪ Parallelism in Software
1▪ Instruction level parallelism -ILP
2▪ Task-level parallelism /thread level parallelism - TLP
3▪ Data parallelism - DLP
4▪ Transaction level parallelism
Parallel Computing
• Parallel computing is a type of computation in
which many calculations or the execution of
processes are carried out simultaneously.
• Different forms of Parallel computing are –
BLP, ILP, TLP, DLP, Transaction-LP .
• Thread level parallelism is also known as –
Task level parallelism, Function level parallelism,
control level parallelism.
Parallel computing Vs Concurrent
computing
• At any given point of time – if there is more
than one through-put is known as Parallel
computing.
• At any given point of time – if there is one
through-put but control switch over more any
one task giving a feel of multitasking- is known
as Concurrent computing.
Continue
• Parallel computing – here a computational task is
typically broken down into several, often many,
very similar subtasks that can be processed
independently and whose results are combined
afterwards, upon completion.
• Concurrent computing - here the various
processes often do not address related tasks;
when they do, as is typical in distributed
computing, the separate tasks may have a varied
nature and often require some inter-process
communication during execution.
Example
• Bit-level parallelism – is example for true
parallelism without concurrency.
• For concurrency - Multitasking by timesharing
on single core CPU.
Bit- level parallelism
• Bit-level parallelism is a form of parallel
computing based on increasing processor
word size.
• Multitasking –
a) More than one task/program/job/process can reside into the
same CPU at one point of time. This ability of the OS is called
multitasking.
b) Tasks sharing a common resource (like 1 CPU).
c) That is use of just a single processor but switch in time slices
between tasks (i.e. a time-sharing system).
Q?
Deliberately left blank
Multithreading and its types
• In computer architecture, multithreading is
the ability of a central processing unit (CPU) or
a single core in a multi-core processor to
execute multiple threads concurrently ,
appropriately supported by the operating
system.
• Inter-leaved or temporal and Simultaneous
Multithreading are two forms of
Multithreading.
Continue…
• The ability to execute maximum number of
concurrent threads in any given pipeline
stage in a given cycle – we have types.
1) In temporal multithreading, instructions
from only one thread can be execute in any
given pipeline stage at a time.
2) In simultaneous multithreading, instructions
from more than one thread can be executed
in any given pipeline stage at a time.
SMT [Pure Hardware Technology]
• Also known as Super-threading , Hyper-
threading.
• Simultaneous multithreading (SMT) is a
technique for improving the overall efficiency
of superscalar CPUs with hardware
multithreading.
• In multi-core computer’s the ability to execute
more than one thread in each core – is known
as SMT or Hyper-threading.
Single-threaded process VS
Multithreaded Process
Non Hyper-threading
Hyper-Threading
Multithreaded Categories Overview
Simultaneous
Superscalar Fine-Grained Coarse-Grained Multiprocessing Multithreading
Time (processor cycle)