MULTIPROCESSOR
SYSTEMS
LEVEL 2, SOFTWARE ENGINEERING STUDENT
CONTENTS
01 MULTIPROCESSOR SYSTEM
02 MULTICOMPUTER SYSTEMS
03 VIRTUALIZATION
04 DISTRIBUTED SYSTEMS
05 PARALLEL COMPUTING
06 MULTITHREADING
07 SOME DIFFERENCES
08 DEADLOCK
MULTIPROCESSOR SYSTEM
A multiprocessor is a computer system with two or more central
processing units (CPUs), with each one sharing the common main
memory as well as the peripherals.
In multiprocessing, all CPUs may have equal functions or some
may be reserved for specific functions.
ARCHITECTURE OF MULTIPROCESSOR
EXAMPLES OF MULTIPROCESSORS
Dual Processor Motherboard 4 CPU Motherboard
MULTICOMPUTER SYSTEMS
A multicomputer system is a computer system with multiple
processors that are connected together to solve a problem. Each
processor has its own memory and it is accessible by that particular
processor and those processors can communicate with each other via
an interconnection network.
It is a cluster of computers that operate as a singular computer
IT can be used for distributed computing
ARCHITECTURE OF MULTICOMPUTER
VIRTUALIZATION
• Virtualization is the creation of a virtual rather than actual version of
something, such as an operating system , a server, a storage device
or network resources.
• In computing, virtualization means to create a virtual version of a
device or resource, such as a server, storage device, network or even
an operating system where the framework divides the resource into
one or more execution environments
TYPES OF VIRTUALIZATION
• OS Virtualization(Virtual Machines): Involves putting a second
instance or multiple instances of an operating system
• Application-Server Virtualization:It spreads applications across
servers, and servers across applications(load balancing)
• Application Virtualization:It mkes applications operate on computers
as if they reside naturally on the hard drive, but instead are running
on a server
TYPES OF VIRTUALIZATION
• Administrative Virtualization:It means segmented admin roles through group and
user policies.
• Network Virtualization: Involves virtually managing IPs, and is accomplished
through tools like routing tables, NICs, switches, and VLAN tags.
• Hardware Virtualization:It involves partioning,mainly hard drives.
• Storage Virtualization:It is an array of servers that are managed by a virtual
storage system.
DISTRIBUTED SYSTEMS
• A distributed system is any network structure that consists of
autonomous computers that are connected using a distribution
middleware.
• Computers in this system need; first, it a local memory, and
secondly, it has to connect to the network.
• Examples include; client/server and peer-to-peer systems
ARCHITECTURE OF DISTRIBUTED SYSTEMS
PARALLEL COMPUTING
• Parallel computing also known as parallel processing is a type of
computing architecture in which several processors execute or
process an application or computation simultaneously
MULTITHREADING
• Multithreading is a type of execution model that allows multiple
threads to exist within the context of a process such that they
execute independently but share their process resources.
• A thread maintains a list of information relevant to its execution
including the priority schedule, exception handlers, a set of CPU
registers, and stack state in the address space of its hosting process.
MULTIPROCESSOR VS MULTICOMPUTER
MULTIPROCESSOR SYSTEM MULTICOMPUTING SYSTEM
Has two or more CPUs that allow simultaneous A set of processors connected by the
processing of programs communication network that works jointly to
solve a computation problem
Easier to process Less easy to program
More difficult and costly to build Easier and effective to build
Supports parallel computing Supports distributed computng
VIRTUALIZATION VS CLOUD COMPUTING
VIRTUALIZATION
CLOUD COMPUTING
A methodology of delivering services over the A technique of creating virtual version of a
internet computer hardware platform,storage device ora
network resource
Cloud configuration is template based Virtualization configuration is image based
Helps to provide resources to a group of users for Helps to deliver packaged resources to a set of
various task users for a particular task
PARALLEL COMPUTING VS DISTRIBUTED
SYSTEMS
PARALLEL COMPUTING DTRIBUTED SYSTEMS
Occurs in a simple computer Involves multiple computer
Computer can have shared or distributed memory Each computer has its own memory
Processors communicate with each other uing a Computers communicate wit each other via the
bus bus
Increase the performance of the system Perform computation tasks efficiently
DEFINITION OF DEADLOCK
• Ths is a situation where a set of processes are blocked because
each process is holding a resource and waiting for another
resource acquired by some other process
Assigned to Resource 1 Waiting for
Process 1
Process 2
Waiting for
Assigned to
Resource 2
CONDITIONS FOR DEADLOCK
• Mutual exclusion : One or more resource are non-shareable
• Hold and wait : A process is holding at least one resource and waiting
forresources
• No preemption : A resource cannot be taken from a process unless the
process releases the resource
• Circular wait: A set of processes are waiting for each other in circular
form
DETECTION OF DEADLOCK
• Resource allocation graph. If this graph contains a cycle, then
there is deadlock . Else, there is none.
P2
R1
P1 P3
R2
P4
DEADLOCK HANDLING
• Deadlock prevention or avoidance
• Deadlock detection and recovery
• Ignore the problem all together
THANK YOU