Introduction
Introduction
SYSTEM
Processors
Interconnection: The order is tbs The order is gbs
Main focus: main focus is on performance and Main focus is on performance
scientific computing of cost and scalability,
reliability and resource sharing
Types of Distributed Systems
The nodes in the distributed systems can be arranged in
the form of client/server systems or peer to peer systems
a. Client/Server Systems
In client server systems, the client requests a resource and
the server provides that resource. A server may serve
multiple clients at the same time while a client is in
contact with only one server. Both the client and server
usually communicate via a computer network and so they
are a part of distributed systems.
b. Peer to Peer Systems
The peer to peer systems contains
nodes that are equal participants in
data sharing. All the tasks are equally
divided between all the nodes. The
nodes interact with each other as
required as share resources. This is
done with the help of a network.
Characteristics of Distributed Systems
a. Resource Sharing
Computers in distributed systems shares resources
like hardware (disks and printers), software (files,
windows and data objects) and data
b. Heterogeneity
In distributed systems components can have variety and
differences in Networks, Computer hardware, Operating
systems, Programming languages and implementations by
different developers
c. Transparency
Communication is hidden from users.
d. Scalability
It will remain effective when there is a significant
increase in the number of users and the number of
resources
e. Concurrency
Concurrency is a property of a system representing
the fact that multiple activities are executed at the
same time
Parallel architectures
Parallel architectures are a sub-class of
distributed computing where the processes
are all working to solve the same problem
A parallel computer is a collection of
processing elements that cooperate to
solve large problems fast.
Parallel computer architecture adds a new
dimension in the development of computer
system by using more and more number of
processors. In principle, performance
achieved by utilizing large number of
processors is higher than the performance
of a single processor at a given point of
time.
Parallel Architectures Types
1.Multiprocessors and Multicomputers
• Multiprocessors
• Multicomputers
2. Shared-Memory Multicomputers
In this model, all the processors share the physical
memory uniformly. All the processors have equal access
time to all the memory words. Each processor may have a
private cache memory. Same rule is followed for
peripheral devices.
When all the processors have equal access to all the peripheral
devices, the system is called a symmetric multiprocessor. When
only one or a few processors can access the peripheral devices,
the system is called an asymmetric multiprocessor.
Non-uniform Memory Access (NUMA)
In NUMA multiprocessor model, the access time varies with the location of the
memory word. Here, the shared memory is physically distributed among all the
processors, called local memories. The collection of all local memories forms a
global address space which can be accessed by all the processors.
Cache Only Memory Architecture (COMA)
The COMA model is a special case of the NUMA model. Here,
all the distributed main memories are converted to cache
memories
Performance of parallel computers
Parallel computing is breaking up a
task into smaller pieces and executing
those pieces at the same time, each on
their own processor or computer. An
increase in speed is the
main performance characteristic.
Performance metrics for processors
Computer performance metrics (things
to measure) include availability, response time,
channel capacity, latency, completion time,
service time, bandwidth, throughput, relative
efficiency, scalability, performance per watt,
compression ratio, instruction path length and
speed up. CPU benchmarks are available.
How CPU is measured
The most common measure of CPU speed
is the clock speed, which is measured in
MHz or GHz. One GHz equals 1,000 MHz,
so a speed of 2.4 GHz could also be
expressed as 2,400 MHz. The higher the
clock speed, the more operations
the CPU can execute per second.
Parallel Computing Models
A parallel programming model is a set of
software technologies to express parallel
algorithms and match applications with the
underlying parallel systems. It encloses the
areas of applications, languages, compilers,
libraries, communication systems, and
parallel I/O
Types of Parallel Computing Models