0% found this document useful (0 votes)
40 views31 pages

Unit 1

Uploaded by

rubasudhap
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views31 pages

Unit 1

Uploaded by

rubasudhap
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 31

HIGH PERFORMANCE

COMPUTING
CS4104 HIGH PERFORMANCE COMPUTING L T P C 3 0 0 3
UNIT I HIGH PERFORMANCE COMPUTING ARCHITECTURE 9
• Introduction - Key properties-Flynn’s Taxonomy– SIMD and MIMD systems – Vector and
Pipelining- Multiprocessors– Shared Memory Multiprocessors-Massively Parallel processors-
Commodity. Clusters-Performance issues– Heterogeneous Computer Structures

UNIT II PARALLEL ALGORITHMS AND CHALLENGES 9
• Fork-join – Divide and Conquer - Halo Exchange – Cannon’s Algorithm-Performance –
Scalability – Synchronization and data sharing – Data races – deadlocks and live locks–
communication between threads (condition variables, signals, message queues and pipes).

UNIT III SHARED MEMORY PROGRAMMING WITH Open MP 9
• OpenMP Execution Model – Memory Model – Open MP Directives – Work-sharing
Constructs- Library functions – Handling Data and Functional Parallelism – Handling Loops
– Performance Considerations.

UNIT IV DISTRIBUTED MEMORY PROGRAMMING WITH MPI 9
• MPI program execution – MPI constructs – libraries – MPI send and receive – Point-to-point
and Collective communication – MPI derived data types– Performance evaluation
UNIT V PARALLEL PROGRAM DEVELOPMENT 9
Case studies – n-Body solvers – Tree Search – OpenMP and MPI implementations and
Comparison
INTRODUCTION
• High Performance Computing (HPC) is a rapidly
evolving field, essential for solving complex scientific
problems and driving technological advancements. It
involves using specialized hardware and software to
achieve massive computational power.
• HPC leverages parallel processing, employing
multiple processors working together to solve
complex problems. These systems deliver significant
computational power, enabling researchers to tackle
complex simulations and data-intensive tasks.
Key Properties
Speed
• HPC systems can perform calculations millions of times faster than
traditional computers, enabling researchers to run simulations and analyze
data in a fraction of the time.
Scale
• HPC systems can handle massive amounts of data, allowing researchers to
analyze large datasets and conduct complex simulations that would be
impossible on a traditional computer.
Complexity
HPC systems can solve complex problems that are impossible to solve with
traditional computers. This allows researchers to gain a deeper
understanding of the world around
INTRODUCTION
What is HPC Architecture?
• High-performance computing (HPC) is a
method of processing large amounts of data
and performing complex calculations at high
speeds.
• In HPC architecture, multiple computer
servers are networked together to form a
cluster that has more outstanding
performance than a single computer.
Core Components of HPC
Architecture
• In an HPC architecture, a group of computers (nodes)
collaborates on shared tasks. Each node in this
structure accepts and processes tasks and
computations independently. The nodes coordinate
and synchronize execution tasks, ultimately
producing a combined result.
• The compute, storage, and network components are
the basis of an HPC architecture. The following
sections elaborate on each component.
ARCHITECTURE OF HPC SYSTEM
• Nodes - The building blocks of HPC systems, nodes are individual
computers or servers, each with its own processors, memory, and storage.
• Processors -HPC systems typically use multi-core processors, which
contain multiple processing units or cores on a single chip. These
processors can be from different vendors, such as Intel, AMD, or ARM, and
may include specialized accelerators like GPUs or FPGAs for specific tasks.
• Memory - HPC systems often require large amounts of memory to store
and process data efficiently. This can include RAM for fast access to data
and large storage systems for longer-term data storage.
• Interconnects - To enable communication and data transfer between
nodes, HPC systems use high-speed interconnects like InfiniBand or
Ethernet.
• Software - HPC systems utilize specialized software, such as parallel
programming models (e.g., MPI, OpenMP), libraries, and tools to manage,
schedule, and monitor the execution of tasks on the system.
Applications of HPC
• Scientific Discovery:HPC is used to simulate
complex physical phenomena, such as the
behavior of molecules, weather patterns, and
the evolution of stars.
• Medical Research:HPC is used to analyze large
datasets of medical images, identify patterns
in patient data, and develop new treatments
for diseases.
• Financial Modeling: HPC is used to model
financial markets, analyze investment
strategies, and manage risk, enabling financial
institutions to make informed decisions.
• Engineering Design: HPC helps engineers
design and test new products and systems,
from cars to airplanes to bridges, allowing
them to optimize performance and reduce
costs.
Flynn's Taxonomy

• Flynn's taxonomy is a classification system for


computer architectures based on the number
of instructions and data streams processed
simultaneously. This system helps us
understand how different types of computers
operate and how they are suitable for
specific tasks.
TYPES
• Single Instruction, Single Data (SISD)
SISD architectures are the most basic type,
where a single processor executes one
instruction at a time on a single data stream.
They are commonly found in traditional
desktop computers, laptops, and mobile
devices.
Introduction to Vector and Pipelining in HPC

• This presentation explores the fundamental


concepts of vector processing and pipelining
in high-performance computing (HPC). We will
delve into their principles, benefits, and
challenges, examining how they contribute to
enhanced computational efficiency and speed.
Multiprocessors
• High-performance computing (HPC) relies on
multiprocessors to achieve significant
processing power. This presentation will
explore the fundamental concepts and
architectures behind multiprocessors in HPC.
THANK YOU

You might also like