• No results found

Chap- 1

N/A
N/A
Protected

Academic year: 2020

Share "Chap- 1"

Copied!
35
0
0

Loading.... (view fulltext now)

Full text

(1)

Parallel and

Distributed

Computing

Syllabus : Chapter 1

(2)
(3)
(4)
(5)
(6)
(7)

Design showing parallel

(8)

Serial Computing?

Traditionally, software has been written for

SERIAL COMPUTATION

:

To be run on a single computer having a single Central Processing Unit (CPU); A problem is broken into a discrete series of instructions.

Instructions are executed one after another.

(9)

Limitations of Serial Computing

Transmission speeds - the speed of a serial computer is directly dependent upon

how fast data can move through hardware. Absolute limits are the speed of light (30 cm/nanosecond) and the transmission limit of copper wire (9 cm/nanosecond). Increasing speeds necessitate increasing proximity of processing elements.

Limits to serial computing - both physical and practical reasons pose significant

constraints to simply building ever faster serial computers.

Limits to miniaturization - processor technology is allowing an increasing number

of transistors to be placed on a chip. However, even with molecular or atomic-level components, a limit will be reached on how small components can be.

Economic limitations - it is increasingly expensive to make a single processor

(10)

What is Parallel Computing? (2)

Parallel Computing is the simultaneous use of multiple compute resources to

solve a computational problem.

• To be run using multiple CPUs

• A problem is broken into discrete parts that can be solved concurrently

• Each part is further broken down to a series of instructions

(11)

Parallel Computing: Resources

The compute resources can include:

A single computer with multiple processors;

A single computer with (multiple) processor(s) and some specialized

computer resources (GPU, FPGA …)

An arbitrary number of computers connected by a network; A combination of both.

Applications : Aerospace & Defense , Automotive, Consumer Electronics, Data Centre (High bandwidth and low latency servers), High Performance Computing and Data Storage - Network Attached Storage (NAS), Storage Area Network

(12)

Parallel Computing: The

computational problem

The computational problem usually demonstrates characteristics such

as the ability to be:

Broken apart into discrete pieces of work that can be solved simultaneously; Execute multiple program instructions at any moment in time;

Solved in less time with multiple compute resources than with a single

(13)

Why Parallel Computing? (1)

The primary reasons for using parallel computing:

Save time - wall clock time Solve larger problems

Provide concurrency (do multiple things at the same time)

Other reasons might include:

Taking advantage of non-local resources - using available compute resources on a

wide area network, or even the Internet when local compute resources are scarce.

Cost savings - using multiple "cheap" computing resources instead of paying for

time on a supercomputer.

(14)

Parallel and Distributed systems

Parallel Computer :

A collection of processing elements that communicate and cooperate

to solve large problems fast.

Distributed System :

A collection of independent computers that appear to its users as a

single coherent(Comprehensive) system.

(15)
(16)

Parallel computing issues

Data sharing

– single versus multiple address space.

Process coordination

– synchronization using locks, messages, and

other means.

Distributed versus centralized memory.

Connectivity

– single shared bus versus network with many different

topologies.

(17)

Challenges/Issues in Parallel

Computing

• Design of Parallel computers

• Design of efficient Parallel algorithms

• Parallel Programming models

• Parallel Computer language

• Methods for evaluating Parallel algorithms

• Parallel Programming tools

(18)

Parallel Computing :

Applications

• Life Sciences

• Aerospace

• Geographic Information Systems

• Mechanical Design & Analysis (CAD/CAM)

• Weather Forecasting

• Seismic Data Processing

• Remote Sensing, Image Processing & Geomatics

• Computational Fluid Dynamics

• Astrophysical Calculations

• Electronic Governance

• Medical Imaging

• Internet Applications

• Web Servers

(19)

Distributed systems issues

Transparency

Access (data representation), location, migration, relocation, replication,

concurrency, failure, persistence

Scalability

Size, geographically

Reliability/fault tolerance

Computation time=idle time + communication time

idle time - waiting for data from other processor

Communication time- time the processor take to send and receive messages.

Load Balancing

(20)

Distributed systems issues

Minimizing communication

Reduce no. of messages passed.

(21)

Scientific & Engineering Applications :

Computational Chemistry, Molecular Modelling , Molecular Dynamics, Bio-Molecular Structure Modelling

Structural Mechanics

Business/Industry Applications

Data Warehousing for Financial Sectors Advanced graphics and virtual reality

Networked video and multi-media technologies Collaborative work environnements

(22)

Applications trends

Need of numerical and non-numerical algorithms:

Numerical Algorithms • Dense Matrix Algorithms

• Solving linear system of equations • Solving Sparse system of equations • Fast Fourier Transformations

Non-Numerical Algorithms • Graph Algorithms

• Sorting algorithms

(23)

Applications – Commercial

computing

Commercial Computing

The database is much too large to fit into the computer’s memory

Opportunities for fairly high degrees of parallelism exist at several

stages of the operation of a data base management system.

Millions of databases have been used in business management,

government administration, Scientific and Engineering data

management, and many other applications.

This explosive growth in data and databases has generated an urgent

(24)

Applications – Commercial

computing

Sources of Parallelism in Query Processing

Parallelism within Transactions (on line transaction processing)

Parallelism within a single complex transactions.

Transactions of a commercial database require processing large

complex queries

Parallelizing Relational Databases Operations

(25)

Applications – Commercial

computing

Parallelism in Data Mining Algorithms

Process of automatically finding pattern and relations in large

databases

Data sets involved are large and rapidly growing larger

Complexity of algorithms for clustering of large data set

Algorithms are based on decision trees. Parallelism is

(26)

Requirements for Commercial

Applications

Requirements for applications

Exploring useful information from such data will efficient parallel

algorithms.

Running on high performance computing systems with powerful

parallel I/O capabilities is very much essential

Development parallel algorithms for clustering and classification for

(27)
(28)

Types of Parallelism

Data parallelism is a form of parallelization across multiple processors in parallel computing environments.

It focuses on distributing the data across

different nodes, which operate on the data in

parallel.

It can be applied on regular data structures

like arrays and matrices by working on each element in parallel.

•   Example: convert all characters in an array to upper-case

• –  Can divide parts of the data between different tasks and perform the tasks in parallel

(29)
(30)
(31)

Task parallelism

(also known as

function

parallelism

and

control

parallelism

) is a form of

parallelization of computer code

across multiple processors in

parallel

computing environments.

Task

parallelism

focuses

on

distributing

tasks

—concurrently

performed by processes or threads—

across different processors.

Example : Several functions on the

same data: average, minimum,

binary or, geometric mean

(32)

Hybrid data/task parallelism

(33)
(34)

Parallelism and Concurrency

Concurrency means that two or more calculations happen within the same

time frame, and there is usually some sort of dependency between them.

Parallelism means that two or more calculations happen simultaneously.

concurrency describes a problem (two things need to happen together),

while parallelism describes a solution (two processor cores are used to

execute two things simultaneously).

(35)

References

Related documents

Asset Base & Investment Activity Installed Capacity (MW) EBITDA MW EBITDA MW Spain Portugal France Belgium Poland Romania Italy Europe United States Canada Mexico North

We present an optimal case to balance the energy con- sumption of the critical nodes in a 2-D grid topology with a base station in a corner.. Due to the nodes range, the over-

The representations learned by the multitask LSTM outperformed the task-specific LSTM for mortality, decompensation, and length of stay in the relevant metrics, but performed worse

Bildquelle: www.spectronet.de > Nachrichten > OMRON Xpectia Pressekonferenz Günzburg > 081001_04_hotzel_ruhlamat.pps.. 5.6 Example for SaaS Applications in ruhlamat

Throughout this thesis, research has focused on modelling mixed and hydrodynamic lubrication, in the field of tribology, and the application of the mixed lubrication model

— In the TLBP-B/P, the stations are composed of parallel spindle units only. In the case of TLBP-B/M, the stations are composed of several sequential stages and each stage

Access World News (AWN) lists nearly 230 transcript sources, though its source list includes only the name of the broadcasting station rather than the individual program titles