SlideShare ist ein Scribd-Unternehmen logo
1 von 47
HIGH PERFORMANCE
COMPUTING
INFRASTRUCTURES
NGDT - II
CONTENTS
• Introduction to HPC
• Parallel Architectures
• Multi Cores
• Graphical Processing Units
• Clusters
• Grid Computing
• Cloud Computing
HIGH PERFORMANCE
COMPUTING-HPC• Ability to process data and perform complex calculations at high
speeds
• One of the best-known types of HPC solutions is the supercomputer
• Supercomputer contains thousands of compute nodes that work
together to complete one or more tasks
The IBM Blue Gene/P supercomputer
"Intrepid" at Argonne National Laboratory
runs 164,000 processor cores using
normal data center air conditioning,
grouped in 40 racks/cabinets connected
by a high-speed 3-D torus network
WHEN DO WE NEED HPC?
• Case1: Complete a time-consuming operation in less time
 I am an automotive engineer
 I need to design a new car that consumes less gasoline
 I’d rather have the design completed in 6 months than in 2 years
 I want to test my design using computer simulations rather than building very
expensive prototypes and crashing them
• Case 2: Complete an operation under a tight deadline
 I work for a weather prediction agency
 I am getting input from weather stations/sensors
 I’d like to predict tomorrow’s forecast today
• Case 3: Perform a high number of operations per seconds
 I am an engineer at Amazon.com
 My Web server gets 1,000 hits per seconds
 I’d like my web server and databases to handle 1,000 transactions per seconds so
that customers do not experience bad delays
WHAT DOES HPC INCLUDE?
• High-performance computing is fast computing
• Computations in parallel over lots of compute elements (CPU, GPU)
• Very fast network to connect between the compute elements
• Hardware
• Computer Architecture
• Vector Computers, Distributed Systems, Clusters
• Network Connections
• InfiniBand, Ethernet, Proprietary
• Software
• Programming models
• MPI (Message Passing Interface), SHMEM (Shared Memory), PGAS, etc.
• Applications
• Open source, commercial
HOW DOES HPC WORK?
• HPC solutions have three main components:
Compute
Network
Storage
• To build a high-performance computing architecture, compute servers
are networked together into a cluster
• Software programs and algorithms are run simultaneously on the
servers in the cluster
• Cluster is networked to the data storage to capture the output
• Together, these components operate seamlessly to complete a diverse
set of tasks
PARALLEL ARCHITECTURES
• Traditionally, software has been written for serial computation
• A problem is broken into a discrete series of instructions
• Instructions are executed sequentially one after another
• Executed on a single processor
• Only one instruction may execute at any moment in time
• Parallel computing is the simultaneous use of multiple compute
resources to solve a computational problem
• A problem is broken into discrete parts that can be solved concurrently
• Each part is further broken down to a series of instructions
• Instructions from each part execute simultaneously on different processors
• An overall control/coordination mechanism is employed
PARALLEL ARCHITECTURES
Serial Computing Parallel Computing
PARALLEL ARCHITECTURES
• Virtually all stand-alone computers today are parallel from a
hardware perspective:
Multiple functional units (L1 cache, L2 cache, branch, pre-fetch, decode, floating-
point, graphics processing (GPU), integer, etc.)
Multiple execution units/cores
Multiple hardware threads
• Networks connect multiple stand-alone computers (nodes) to make
larger parallel computer cluster
WHY USE PARALLEL
ARCHITECTURES?
• Save time and/or money
• Solve larger / more complex problems
• Provide concurrency
• Take advantage of non-local resources
• Make better use of underlying parallel hardware
TYPES OF PARALLELISM
• Data Parallelism
 Focuses on distributing the data across different parallel computing nodes
 Also called as loop-level parallelism
 Example: CPU A could add all elements from the top half of the matrices, while
CPU B could add all elements from the bottom half of the matrices
 Since the two processors work in parallel, the job of performing matrix addition
would take one half the time of performing the same operation in serial using one
CPU alone
• Task Parallelism
 Focuses on distribution of tasks across different processors
 Also known as functional parallelism or control parallelism
 As a simple example, if we are running code on a 2-processor system (CPUs "a" &
"b") in a parallel environment and we wish to do tasks "A" and "B" , it is possible to
tell CPU "a" to do task "A" and CPU "b" to do task 'B" simultaneously, reducing the
runtime of the execution
PARALLEL ARCHITECTURES
• Flynn's taxonomy distinguishes multi-processor computer architectures
according to how they can be classified along the two independent
dimensions of Instruction Stream and Data Stream
• Flynn’s classical taxonomy of Parallel Architectures:
• SISD – Single Instruction stream Single Data stream
• SIMD – Single Instruction stream Multiple Data stream
• MISD – Multiple Instruction stream Single Data stream
• MIMD – Multiple Instruction stream Multiple Data stream
FLYNN’S CLASSICAL
TAXONOMYSISD SIMD MISD MIMD
• Serial
• Only one instruction and
data stream is acted on
during any one clock
cycle
• Examples: older
generation mainframes,
minicomputers,
workstations and single
processor/core PCs
• All processing units
execute the same
instruction at any given
clock cycle
• Each processing unit
operates on a different
data element
• Most modern computers,
particularly those with
GPUs employ SIMD
instructions and
execution units
• Different instructions
operated on a single data
element.
• Example: Multiple
cryptography algorithms
attempting to crack a
single coded message
• Can execute different
instructions on different
data elements.
• Examples: Most current
supercomputers,
networked parallel
computer clusters and
"grids", multi-processor
computers, multi-core
PCs
PARALLEL COMPUTER
MEMORY ARCHITECTURES:
SHARED MEMORY
ARCHITECTURE• All processors access all memory as a single global address space & data sharing is fast
• Multiple processors can operate independently but share the same memory resources
• Changes in a memory location effected by one processor are visible to all other processors
• Shared memory machines have been classified as UMA and NUMA, based upon memory
access times
Uniform Memory Access (UMA) Non-Uniform Memory Access (NUMA)
• Commonly represented today by Symmetric
Multiprocessor (SMP) machines
•Identical processors, equal access and access times
to memory
•Sometimes called CC-UMA - Cache Coherent UMA.
Cache coherent means if one processor updates a
location in shared memory, all the other processors
know about the update.
•Often made by physically linking two or more SMPs
•One SMP can directly access memory of another
SMP
•Not all processors have equal access time to all
memories
•Memory access across link is slower
•If cache coherency is maintained, then may also be
called
CC-NUMA - Cache Coherent NUMA
PARALLEL COMPUTER
MEMORY ARCHITECTURES:
DISTRIBUTED MEMORY
ARCHITECTURE• Each processor has its own memory
• Programmer is responsible for many details of communication between processors
• Each processor has its own local memory, it operates independently. Changes it
makes to its local memory have no effect on the memory of other processors. Hence,
the concept of cache coherency does not apply
• When a processor needs access to data in another processor, it is usually the task of
the programmer to explicitly define how and when data is communicate
• Synchronization between tasks is likewise the programmer's responsibility
MULTI CORES
• A multi-core processor is a single computing component with two or more
independent processing units called cores, which read and execute program
instructions
Multi-Core CPU Chip
Single Core CPU Chip
MULTI-CORES
• The cores fit on a single processor socket
• Also called CMP (Chip Multi-Processor)
• The cores run in parallel
• Interaction with OS:
• OS perceives each core as a separate processor
• OS scheduler maps threads/processes to different cores
• Most major OS support multi-core today
WHY MULTI-CORES?
• Difficult to make single-core clock frequencies even higher
• Deeply pipelined circuits:
• heat problems
• speed of light problems
• difficult design and verification
• large design teams necessary
• server farms need expensive air-conditioning
• Many new applications are multithreaded
• General trend in computer architecture (shift towards more parallelism)
MULTI-CORES
• Multi-core processors are MIMD
• Different cores execute different threads ( Multiple Instructions), operating on different parts
of memory ( Multiple Data)
• Multi-core is a shared memory multiprocessor
• All cores share the same memory
WHAT APPLICATIONS
BENEFIT FROM MULTI-CORE?
• Database servers
• Web servers (Web commerce)
• Compilers
• Multimedia applications
• Scientific applications, CAD/CAM
• Editing a photo while recording a TV show through a digital video recorder
• Downloading software while running an anti-virus program
• Anything that can be threaded today will map efficiently to multi-core
MULTI-CORES: CACHE
COHERENCE PROBLEM
• Cache coherence is the uniformity of shared resource data that ends up
stored in multiple local caches
• When clients in a system maintain caches of a common memory resource,
problems may arise with incoherent data, which is particularly the case with
CPUs in a multi-core architecture
• Coherence Mechanism:
• Snooping:
• Snooping based protocols tend to be faster, if enough bandwidth is available, since all transactions are a
request/response seen by all processors
• Snooping isn't scalable. Every request must be broadcast to all nodes in a system
• Directory based
• Tend to have longer latencies but use much less bandwidth since messages are point to point and not broadcast
• For this reason, many of the larger systems (>64 processors) use this type of cache coherence
MULTI-CORES: COHERENCE
PROTOCOLS
• Write-invalidate:
• When a write operation is observed to a location that a cache has a copy of, the cache
controller invalidates its own copy of the snooped memory location, which forces a read from
main memory of the new value on its next access
•Write-update:
• When a write operation is observed to a location that a cache has a copy of, the cache
controller updates its own copy of the snooped memory location with the new data
GRAPHICAL PROCESSING
UNITS- GPU
• Processor optimized for 2D/3D graphics, video, visual computing, and
display
• Highly parallel, highly multithreaded multiprocessor optimized for visual
computing
• Provide real-time visual interaction with computed objects via graphics
images, and video
• Serves as both a programmable graphics processor and a scalable parallel
computing platform
• Heterogeneous Systems: combine a GPU with a CPU
GPU EVOLUTION
• 1980’s – No GPU. PC used VGA controller
•1990’s – Add more function into VGA controller
•1997 – 3D acceleration functions:
 Hardware for triangle setup and rasterization
 Texture mapping
 Shading
•2000 – A single chip graphics processor ( beginning of GPU term)
•2005 – Massively parallel programmable processors
•2007 – CUDA (Compute Unified Device Architecture)
• 2010 – AMD’s Radeon cards, GeForce 10 series
WHY GPU?
• To provide a separate dedicated graphics resources including a graphics
processor and memory.
• To relieve some of the burden of the main system resources, namely the
Central Processing Unit, Main Memory, and the System Bus, which would
otherwise get saturated with graphical operations and I/O requests
GPU VS CPU
• A GPU is tailored for highly parallel operation while a CPU executes
programs serially.
• For this reason, GPUs have many parallel execution units , while CPUs
have few execution units .
• GPUs have significantly faster and more advanced memory interfaces as
they need to shift around a lot more data than CPUs.
• GPUs have much deeper pipelines (several thousand stages vs 10-20 for
CPUs).
COMPONENTS OF GPU
• Graphics Processor
• Graphics co-processor
• Graphics accelerator
• Frame buffer
• Memory
• Graphics BIOS
• Digital-to-Analog Converter (DAC)
• Display Connector
• Computer (Bus) Connector
CLUSTERS
• A computer cluster is a group of loosely or tightly coupled computers that
work together closely so that in many respects it can be viewed as though it
were a single computer.
• Connected through fast LAN.
• Deployed to improve speed & reliability over that provided by a single
computer, while typically being much more cost effective than single
computer in terms of speed or reliability.
• Middleware is required to manage them
CLUSTERS
• In cluster computing each node within a cluster is an independent system,
with its own operating system, private memory, and, in some cases, its own
file system
• Processors on one node cannot directly access the memory on the other
nodes, programs or software run on clusters usually employ a procedure
called "message passing" to get data and execution code from one node to
another
NEED OF CLUSTERS
• More computing power
• Better reliability by orchestrating a number of low cost commercial off-the-
shelf computers has given rise to a variety of architectures and
configurations
• Improve performance and availability over that of a single computer
• More cost-effective than single computers of comparable speed or
availability
• E.g. Big Data
TYPES OF CLUSTERS
High Availability Clusters Load Balancing Clusters Compute Clusters
• Provide uninterrupted availability
of data or services (typically web
services) to the end-user community
• In case of node failure, service can
be restored without affecting the
availability of the services provided
by the cluster. There will be a
performance drop due to the
missing node
• Implementations: Data mining
,simulations, mission-critical
applications or databases, mail, file
and print, web, or application
servers
• E.g. Oracle Clusterware
• Distributes incoming requests for
resources or content among multiple
nodes running the same programs or
having the same content
• Every node in the cluster is able to
handle requests for the same content
or application.
• Typically, seen in a web-hosting
environment
• E.g. nginx as HTTP load balancer
• Used for computation-intensive
purposes, rather than handling IO-
oriented operations such as web
service or databases.
• Compute clusters vary in the level of
coupling
• Jobs with frequent
communications among nodes
may require dedicated network,
dense location & likely
homogenous nodes
• Jobs with infrequent
communication between nodes
may relax some of these
requirements
• E.g. Rocks package on Linux
BEOWULF CLUSTERS
• Uses parallel processing across multiple computers to create cheap and
powerful supercomputers.
• A cluster has two types of computers:
• Master or service node or front node : Used to interact with users and manage the cluster.
• Nodes : A group of computers (computing nodes) E.g. keyboard, mouse, floppy, video etc.
• E.g. OSCAR on Linux
• When a large problem or set of data is given to a Beowulf cluster, the
master computer first runs a program that breaks the problem into small
discrete pieces; it then sends a piece to each node to compute. As nodes
finish their tasks, the master computer continually sends more pieces to
them until the entire problem has been computed
CLUSTERS-TECHNOLOGIES
TO IMPLEMENT
• Parallel Virtual Machine (PVM)
• Must be directly installed on every cluster node & provides a set of software libraries that
paint the node as a “parallel virtual machine”
• Provides a run-time environment for :
• Message-passing
• Task & Resource management
• Fault notification
• Message Passing Interface (MPI)
• Drew on various features available in commercial systems of the time. The MPI
specifications then gave rise to specific implementations
• Implementations typically use TCP/IP & socket connections
• Widely available communications model that enables parallel programs to be written in
languages such as: C, Fortran, Python, etc
CLUSTER BENEFITS
• Availability
• Performance
• Low Cost
• Elasticity
• Run Jobs Anytime Anywhere
GRID COMPUTING
• Grid computing combines computers from multiple administrative domains
to reach a common goal
• What distinguishes grid computing from Cluster systems such as
cluster computing is that grids tend to be more loosely coupled,
heterogeneous, and geographically dispersed
• Special kind of distributed computing in which different computers within the
same network share one or more resources
TYPES OF GRID COMPUTING
– DATA GRIDS
• Allows you to distribute your data across the grid
• Main goal of Data Grid is to provide as much data as possible from
memory on every grid node and to ensure data coherency
• Characteristics:
a. Data Replication- all data is fully replicated to all nodes in the grid
b. Data Invalidation- Whenever data changes on one of the nodes, then the same data on
all other nodes is purged
c. Distributed Transactions- Transactions are required to ensure Data Coherency
d. Data Backups- Useful for fail-over. Some Data Grid products provide ability to assign
backup nodes for the data
e. Data Affinity/Partitioning- Allows to split/partition whole data set into multiple subsets
and assign every subset to a grid node
TYPES OF GRID COMPUTING
– COMPUTE GRIDS
• Allows to take a computation, optionally split it into multiple parts, and
execute them on different grid nodes in parallel leads to faster rate of
execution. E.g. MapReduce
• Helps to improve overall scalability and fault-tolerance by offloading your
computations onto most available nodes
• Characteristics:
a. Automatic Deployment
b. Topology Resolution - allows to provision nodes based on any node characteristic or user-specific configuration
c. Collision Resolution - Jobs are executed in parallel but synchronization is maintained
d. Load Balancing – proper balancing of your system load within grid
e. Checkpoints - Long running jobs should be able to periodically store their intermediate state
f. Grid Events - a querying mechanism for all grid events is essential
g. Node Metrics - a good compute grid solution should be able to provide dynamic grid metrics for all grid nodes
GRID COMPUTING
• Advantages:
 Can solve larger, more complex problems in a shorter time
 Easier to collaborate with other organizations
 Make better use of existing hardware
• Disadvantages:
 Grid software and standards are still evolving
 Learning curve to get started
 Non-interactive job submission
CLOUD COMPUTING
• Computing paradigm shift where computing is moved away from personal
computers or an individual application server to a “cloud” of computers.
• Abstraction: Users of the cloud only need to be concerned with the
computing service being asked for, as the underlying details of how it is
achieved are hidden.
• Virtualization: Cloud Computing virtualizes system by pooling and sharing
resources
NIST DEFINITION OF CLOUD
COMPUTING
• Cloud computing is a model for enabling ubiquitous, convenient, on‐demand
network access to a shared pool of configurable computing resources (e.g.,
networks, servers, storage, applications, and services) that can be rapidly
provisioned and released with minimal management effort or service
provider interaction
CHARACTERISTICS OF
CLOUD COMPUTING
1. On‐demand self‐service
2. Broad network access
3. Resource pooling
4. Rapid elasticity
5. Measured service
CLOUD COMPONENTS
• Clients
• Data Center (Collection of Servers where the application to which you
subscribe is housed)
• Internet
CLOUD COMPUTING-
BENEFITS
• Lower Costs
• Lower computer costs
• Reduced Software Costs
• By using the Cloud infrastructure on “pay as used and on demand”, all of us can save in capital and operational
investment!
• Ease of utilization
• Quality of Service
• Reliability
• Outsourced IT management
• Simplified maintenance and upgrade
• Low Barrier to Entry
• Unlimited storage capacity
• Universal document access
• Latest version availability
CLOUD COMPUTING -
LIMITATIONS
• Requires a constant Internet connection
• Does not work well with low‐speed connections
• Larger organizations can have applications more customizable
• Security and Privacy issues
• Cloud Service provider may go down
• Latency concerns
RESOURCES
1. https://www.hpcadvisorycouncil.com/pdf/Intro_to_HPC.pdf
2. https://computing.llnl.gov/tutorials/parallel_comp/#Whatis
3. https://www.cs.cmu.edu/~fp/courses/15213-s06/lectures/27-multicore.pdf
4. https://en.wikipedia.org/wiki/Cache_coherence
https://www.youtube.com/watch?v=A_i5kOlj_UU
https://www.youtube.com/watch?v=bkLVuNfiCVs

Weitere ähnliche Inhalte

Was ist angesagt?

High Performance Computing
High Performance ComputingHigh Performance Computing
High Performance ComputingDivyen Patel
 
Lecture 1 introduction to parallel and distributed computing
Lecture 1   introduction to parallel and distributed computingLecture 1   introduction to parallel and distributed computing
Lecture 1 introduction to parallel and distributed computingVajira Thambawita
 
Introduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed ComputingIntroduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed ComputingSayed Chhattan Shah
 
Cluster Computing Seminar.
Cluster Computing Seminar.Cluster Computing Seminar.
Cluster Computing Seminar.Balvant Biradar
 
VTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computingVTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computingSachin Gowda
 
Implementation levels of virtualization
Implementation levels of virtualizationImplementation levels of virtualization
Implementation levels of virtualizationGokulnath S
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to VirtualizationRahul Hada
 
Parallel computing
Parallel computingParallel computing
Parallel computingVinay Gupta
 
Introduction to Parallel Computing
Introduction to Parallel ComputingIntroduction to Parallel Computing
Introduction to Parallel ComputingRoshan Karunarathna
 
High Performance Computing: an Introduction for the Society of Actuaries
High Performance Computing: an Introduction for the Society of ActuariesHigh Performance Computing: an Introduction for the Society of Actuaries
High Performance Computing: an Introduction for the Society of ActuariesAdam DeConinck
 
High Performance Computing Presentation
High Performance Computing PresentationHigh Performance Computing Presentation
High Performance Computing Presentationomar altayyan
 
Graphics processing unit ppt
Graphics processing unit pptGraphics processing unit ppt
Graphics processing unit pptSandeep Singh
 
Introduction to Parallel Computing
Introduction to Parallel ComputingIntroduction to Parallel Computing
Introduction to Parallel ComputingAkhila Prabhakaran
 

Was ist angesagt? (20)

cluster computing
cluster computingcluster computing
cluster computing
 
HPC in the Cloud
HPC in the CloudHPC in the Cloud
HPC in the Cloud
 
Virtualization in cloud computing
Virtualization in cloud computingVirtualization in cloud computing
Virtualization in cloud computing
 
High Performance Computing
High Performance ComputingHigh Performance Computing
High Performance Computing
 
Cluster and Grid Computing
Cluster and Grid ComputingCluster and Grid Computing
Cluster and Grid Computing
 
Lecture 1 introduction to parallel and distributed computing
Lecture 1   introduction to parallel and distributed computingLecture 1   introduction to parallel and distributed computing
Lecture 1 introduction to parallel and distributed computing
 
Introduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed ComputingIntroduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed Computing
 
Cluster Computing Seminar.
Cluster Computing Seminar.Cluster Computing Seminar.
Cluster Computing Seminar.
 
VTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computingVTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computing
 
Implementation levels of virtualization
Implementation levels of virtualizationImplementation levels of virtualization
Implementation levels of virtualization
 
Edge Computing
Edge ComputingEdge Computing
Edge Computing
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to Virtualization
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Introduction to Parallel Computing
Introduction to Parallel ComputingIntroduction to Parallel Computing
Introduction to Parallel Computing
 
High Performance Computing: an Introduction for the Society of Actuaries
High Performance Computing: an Introduction for the Society of ActuariesHigh Performance Computing: an Introduction for the Society of Actuaries
High Performance Computing: an Introduction for the Society of Actuaries
 
High Performance Computing Presentation
High Performance Computing PresentationHigh Performance Computing Presentation
High Performance Computing Presentation
 
Cluster computing
Cluster computingCluster computing
Cluster computing
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Graphics processing unit ppt
Graphics processing unit pptGraphics processing unit ppt
Graphics processing unit ppt
 
Introduction to Parallel Computing
Introduction to Parallel ComputingIntroduction to Parallel Computing
Introduction to Parallel Computing
 

Ähnlich wie High performance computing

Ähnlich wie High performance computing (20)

Overview of HPC.pptx
Overview of HPC.pptxOverview of HPC.pptx
Overview of HPC.pptx
 
CSA unit5.pptx
CSA unit5.pptxCSA unit5.pptx
CSA unit5.pptx
 
Parallel & Distributed processing
Parallel & Distributed processingParallel & Distributed processing
Parallel & Distributed processing
 
CA UNIT IV.pptx
CA UNIT IV.pptxCA UNIT IV.pptx
CA UNIT IV.pptx
 
Thread
ThreadThread
Thread
 
unit 4.pptx
unit 4.pptxunit 4.pptx
unit 4.pptx
 
unit 4.pptx
unit 4.pptxunit 4.pptx
unit 4.pptx
 
Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)
 
Week # 1.pdf
Week # 1.pdfWeek # 1.pdf
Week # 1.pdf
 
Multiprocessor.pptx
 Multiprocessor.pptx Multiprocessor.pptx
Multiprocessor.pptx
 
parallel processing
parallel processingparallel processing
parallel processing
 
network ram parallel computing
network ram parallel computingnetwork ram parallel computing
network ram parallel computing
 
Parallel architecture-programming
Parallel architecture-programmingParallel architecture-programming
Parallel architecture-programming
 
Hpc 1
Hpc 1Hpc 1
Hpc 1
 
Parallel architecture &programming
Parallel architecture &programmingParallel architecture &programming
Parallel architecture &programming
 
Aca module 1
Aca module 1Aca module 1
Aca module 1
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processing
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
 

Mehr von punjab engineering college, chandigarh (12)

Microgrippers
MicrogrippersMicrogrippers
Microgrippers
 
Grid computing
Grid computingGrid computing
Grid computing
 
Wireless personal area networks(PAN)
Wireless personal area networks(PAN)Wireless personal area networks(PAN)
Wireless personal area networks(PAN)
 
1g to 5g technologies
1g to 5g technologies1g to 5g technologies
1g to 5g technologies
 
Wireless lan
Wireless lanWireless lan
Wireless lan
 
satellite communication and deep space networks
satellite communication and deep space networkssatellite communication and deep space networks
satellite communication and deep space networks
 
Industry 4.0
Industry 4.0 Industry 4.0
Industry 4.0
 
Fracture mechanics
Fracture mechanicsFracture mechanics
Fracture mechanics
 
Carbon fiber and its features
Carbon fiber and its featuresCarbon fiber and its features
Carbon fiber and its features
 
Gear definitions and formulas
Gear definitions and formulasGear definitions and formulas
Gear definitions and formulas
 
Authors
AuthorsAuthors
Authors
 
gkn driveline report
gkn driveline reportgkn driveline report
gkn driveline report
 

Kürzlich hochgeladen

Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationMarko4394
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 

Kürzlich hochgeladen (20)

Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentation
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 

High performance computing

  • 2. CONTENTS • Introduction to HPC • Parallel Architectures • Multi Cores • Graphical Processing Units • Clusters • Grid Computing • Cloud Computing
  • 3. HIGH PERFORMANCE COMPUTING-HPC• Ability to process data and perform complex calculations at high speeds • One of the best-known types of HPC solutions is the supercomputer • Supercomputer contains thousands of compute nodes that work together to complete one or more tasks The IBM Blue Gene/P supercomputer "Intrepid" at Argonne National Laboratory runs 164,000 processor cores using normal data center air conditioning, grouped in 40 racks/cabinets connected by a high-speed 3-D torus network
  • 4. WHEN DO WE NEED HPC? • Case1: Complete a time-consuming operation in less time  I am an automotive engineer  I need to design a new car that consumes less gasoline  I’d rather have the design completed in 6 months than in 2 years  I want to test my design using computer simulations rather than building very expensive prototypes and crashing them • Case 2: Complete an operation under a tight deadline  I work for a weather prediction agency  I am getting input from weather stations/sensors  I’d like to predict tomorrow’s forecast today • Case 3: Perform a high number of operations per seconds  I am an engineer at Amazon.com  My Web server gets 1,000 hits per seconds  I’d like my web server and databases to handle 1,000 transactions per seconds so that customers do not experience bad delays
  • 5. WHAT DOES HPC INCLUDE? • High-performance computing is fast computing • Computations in parallel over lots of compute elements (CPU, GPU) • Very fast network to connect between the compute elements • Hardware • Computer Architecture • Vector Computers, Distributed Systems, Clusters • Network Connections • InfiniBand, Ethernet, Proprietary • Software • Programming models • MPI (Message Passing Interface), SHMEM (Shared Memory), PGAS, etc. • Applications • Open source, commercial
  • 6. HOW DOES HPC WORK? • HPC solutions have three main components: Compute Network Storage • To build a high-performance computing architecture, compute servers are networked together into a cluster • Software programs and algorithms are run simultaneously on the servers in the cluster • Cluster is networked to the data storage to capture the output • Together, these components operate seamlessly to complete a diverse set of tasks
  • 7. PARALLEL ARCHITECTURES • Traditionally, software has been written for serial computation • A problem is broken into a discrete series of instructions • Instructions are executed sequentially one after another • Executed on a single processor • Only one instruction may execute at any moment in time • Parallel computing is the simultaneous use of multiple compute resources to solve a computational problem • A problem is broken into discrete parts that can be solved concurrently • Each part is further broken down to a series of instructions • Instructions from each part execute simultaneously on different processors • An overall control/coordination mechanism is employed
  • 9. PARALLEL ARCHITECTURES • Virtually all stand-alone computers today are parallel from a hardware perspective: Multiple functional units (L1 cache, L2 cache, branch, pre-fetch, decode, floating- point, graphics processing (GPU), integer, etc.) Multiple execution units/cores Multiple hardware threads • Networks connect multiple stand-alone computers (nodes) to make larger parallel computer cluster
  • 10. WHY USE PARALLEL ARCHITECTURES? • Save time and/or money • Solve larger / more complex problems • Provide concurrency • Take advantage of non-local resources • Make better use of underlying parallel hardware
  • 11. TYPES OF PARALLELISM • Data Parallelism  Focuses on distributing the data across different parallel computing nodes  Also called as loop-level parallelism  Example: CPU A could add all elements from the top half of the matrices, while CPU B could add all elements from the bottom half of the matrices  Since the two processors work in parallel, the job of performing matrix addition would take one half the time of performing the same operation in serial using one CPU alone • Task Parallelism  Focuses on distribution of tasks across different processors  Also known as functional parallelism or control parallelism  As a simple example, if we are running code on a 2-processor system (CPUs "a" & "b") in a parallel environment and we wish to do tasks "A" and "B" , it is possible to tell CPU "a" to do task "A" and CPU "b" to do task 'B" simultaneously, reducing the runtime of the execution
  • 12. PARALLEL ARCHITECTURES • Flynn's taxonomy distinguishes multi-processor computer architectures according to how they can be classified along the two independent dimensions of Instruction Stream and Data Stream • Flynn’s classical taxonomy of Parallel Architectures: • SISD – Single Instruction stream Single Data stream • SIMD – Single Instruction stream Multiple Data stream • MISD – Multiple Instruction stream Single Data stream • MIMD – Multiple Instruction stream Multiple Data stream
  • 13. FLYNN’S CLASSICAL TAXONOMYSISD SIMD MISD MIMD • Serial • Only one instruction and data stream is acted on during any one clock cycle • Examples: older generation mainframes, minicomputers, workstations and single processor/core PCs • All processing units execute the same instruction at any given clock cycle • Each processing unit operates on a different data element • Most modern computers, particularly those with GPUs employ SIMD instructions and execution units • Different instructions operated on a single data element. • Example: Multiple cryptography algorithms attempting to crack a single coded message • Can execute different instructions on different data elements. • Examples: Most current supercomputers, networked parallel computer clusters and "grids", multi-processor computers, multi-core PCs
  • 14. PARALLEL COMPUTER MEMORY ARCHITECTURES: SHARED MEMORY ARCHITECTURE• All processors access all memory as a single global address space & data sharing is fast • Multiple processors can operate independently but share the same memory resources • Changes in a memory location effected by one processor are visible to all other processors • Shared memory machines have been classified as UMA and NUMA, based upon memory access times Uniform Memory Access (UMA) Non-Uniform Memory Access (NUMA) • Commonly represented today by Symmetric Multiprocessor (SMP) machines •Identical processors, equal access and access times to memory •Sometimes called CC-UMA - Cache Coherent UMA. Cache coherent means if one processor updates a location in shared memory, all the other processors know about the update. •Often made by physically linking two or more SMPs •One SMP can directly access memory of another SMP •Not all processors have equal access time to all memories •Memory access across link is slower •If cache coherency is maintained, then may also be called CC-NUMA - Cache Coherent NUMA
  • 15. PARALLEL COMPUTER MEMORY ARCHITECTURES: DISTRIBUTED MEMORY ARCHITECTURE• Each processor has its own memory • Programmer is responsible for many details of communication between processors • Each processor has its own local memory, it operates independently. Changes it makes to its local memory have no effect on the memory of other processors. Hence, the concept of cache coherency does not apply • When a processor needs access to data in another processor, it is usually the task of the programmer to explicitly define how and when data is communicate • Synchronization between tasks is likewise the programmer's responsibility
  • 16. MULTI CORES • A multi-core processor is a single computing component with two or more independent processing units called cores, which read and execute program instructions Multi-Core CPU Chip Single Core CPU Chip
  • 17. MULTI-CORES • The cores fit on a single processor socket • Also called CMP (Chip Multi-Processor) • The cores run in parallel • Interaction with OS: • OS perceives each core as a separate processor • OS scheduler maps threads/processes to different cores • Most major OS support multi-core today
  • 18. WHY MULTI-CORES? • Difficult to make single-core clock frequencies even higher • Deeply pipelined circuits: • heat problems • speed of light problems • difficult design and verification • large design teams necessary • server farms need expensive air-conditioning • Many new applications are multithreaded • General trend in computer architecture (shift towards more parallelism)
  • 19. MULTI-CORES • Multi-core processors are MIMD • Different cores execute different threads ( Multiple Instructions), operating on different parts of memory ( Multiple Data) • Multi-core is a shared memory multiprocessor • All cores share the same memory
  • 20. WHAT APPLICATIONS BENEFIT FROM MULTI-CORE? • Database servers • Web servers (Web commerce) • Compilers • Multimedia applications • Scientific applications, CAD/CAM • Editing a photo while recording a TV show through a digital video recorder • Downloading software while running an anti-virus program • Anything that can be threaded today will map efficiently to multi-core
  • 21. MULTI-CORES: CACHE COHERENCE PROBLEM • Cache coherence is the uniformity of shared resource data that ends up stored in multiple local caches • When clients in a system maintain caches of a common memory resource, problems may arise with incoherent data, which is particularly the case with CPUs in a multi-core architecture • Coherence Mechanism: • Snooping: • Snooping based protocols tend to be faster, if enough bandwidth is available, since all transactions are a request/response seen by all processors • Snooping isn't scalable. Every request must be broadcast to all nodes in a system • Directory based • Tend to have longer latencies but use much less bandwidth since messages are point to point and not broadcast • For this reason, many of the larger systems (>64 processors) use this type of cache coherence
  • 22. MULTI-CORES: COHERENCE PROTOCOLS • Write-invalidate: • When a write operation is observed to a location that a cache has a copy of, the cache controller invalidates its own copy of the snooped memory location, which forces a read from main memory of the new value on its next access •Write-update: • When a write operation is observed to a location that a cache has a copy of, the cache controller updates its own copy of the snooped memory location with the new data
  • 23. GRAPHICAL PROCESSING UNITS- GPU • Processor optimized for 2D/3D graphics, video, visual computing, and display • Highly parallel, highly multithreaded multiprocessor optimized for visual computing • Provide real-time visual interaction with computed objects via graphics images, and video • Serves as both a programmable graphics processor and a scalable parallel computing platform • Heterogeneous Systems: combine a GPU with a CPU
  • 24. GPU EVOLUTION • 1980’s – No GPU. PC used VGA controller •1990’s – Add more function into VGA controller •1997 – 3D acceleration functions:  Hardware for triangle setup and rasterization  Texture mapping  Shading •2000 – A single chip graphics processor ( beginning of GPU term) •2005 – Massively parallel programmable processors •2007 – CUDA (Compute Unified Device Architecture) • 2010 – AMD’s Radeon cards, GeForce 10 series
  • 25. WHY GPU? • To provide a separate dedicated graphics resources including a graphics processor and memory. • To relieve some of the burden of the main system resources, namely the Central Processing Unit, Main Memory, and the System Bus, which would otherwise get saturated with graphical operations and I/O requests
  • 26. GPU VS CPU • A GPU is tailored for highly parallel operation while a CPU executes programs serially. • For this reason, GPUs have many parallel execution units , while CPUs have few execution units . • GPUs have significantly faster and more advanced memory interfaces as they need to shift around a lot more data than CPUs. • GPUs have much deeper pipelines (several thousand stages vs 10-20 for CPUs).
  • 27. COMPONENTS OF GPU • Graphics Processor • Graphics co-processor • Graphics accelerator • Frame buffer • Memory • Graphics BIOS • Digital-to-Analog Converter (DAC) • Display Connector • Computer (Bus) Connector
  • 28. CLUSTERS • A computer cluster is a group of loosely or tightly coupled computers that work together closely so that in many respects it can be viewed as though it were a single computer. • Connected through fast LAN. • Deployed to improve speed & reliability over that provided by a single computer, while typically being much more cost effective than single computer in terms of speed or reliability. • Middleware is required to manage them
  • 29. CLUSTERS • In cluster computing each node within a cluster is an independent system, with its own operating system, private memory, and, in some cases, its own file system • Processors on one node cannot directly access the memory on the other nodes, programs or software run on clusters usually employ a procedure called "message passing" to get data and execution code from one node to another
  • 30. NEED OF CLUSTERS • More computing power • Better reliability by orchestrating a number of low cost commercial off-the- shelf computers has given rise to a variety of architectures and configurations • Improve performance and availability over that of a single computer • More cost-effective than single computers of comparable speed or availability • E.g. Big Data
  • 31. TYPES OF CLUSTERS High Availability Clusters Load Balancing Clusters Compute Clusters • Provide uninterrupted availability of data or services (typically web services) to the end-user community • In case of node failure, service can be restored without affecting the availability of the services provided by the cluster. There will be a performance drop due to the missing node • Implementations: Data mining ,simulations, mission-critical applications or databases, mail, file and print, web, or application servers • E.g. Oracle Clusterware • Distributes incoming requests for resources or content among multiple nodes running the same programs or having the same content • Every node in the cluster is able to handle requests for the same content or application. • Typically, seen in a web-hosting environment • E.g. nginx as HTTP load balancer • Used for computation-intensive purposes, rather than handling IO- oriented operations such as web service or databases. • Compute clusters vary in the level of coupling • Jobs with frequent communications among nodes may require dedicated network, dense location & likely homogenous nodes • Jobs with infrequent communication between nodes may relax some of these requirements • E.g. Rocks package on Linux
  • 32. BEOWULF CLUSTERS • Uses parallel processing across multiple computers to create cheap and powerful supercomputers. • A cluster has two types of computers: • Master or service node or front node : Used to interact with users and manage the cluster. • Nodes : A group of computers (computing nodes) E.g. keyboard, mouse, floppy, video etc. • E.g. OSCAR on Linux • When a large problem or set of data is given to a Beowulf cluster, the master computer first runs a program that breaks the problem into small discrete pieces; it then sends a piece to each node to compute. As nodes finish their tasks, the master computer continually sends more pieces to them until the entire problem has been computed
  • 33. CLUSTERS-TECHNOLOGIES TO IMPLEMENT • Parallel Virtual Machine (PVM) • Must be directly installed on every cluster node & provides a set of software libraries that paint the node as a “parallel virtual machine” • Provides a run-time environment for : • Message-passing • Task & Resource management • Fault notification • Message Passing Interface (MPI) • Drew on various features available in commercial systems of the time. The MPI specifications then gave rise to specific implementations • Implementations typically use TCP/IP & socket connections • Widely available communications model that enables parallel programs to be written in languages such as: C, Fortran, Python, etc
  • 34. CLUSTER BENEFITS • Availability • Performance • Low Cost • Elasticity • Run Jobs Anytime Anywhere
  • 35. GRID COMPUTING • Grid computing combines computers from multiple administrative domains to reach a common goal • What distinguishes grid computing from Cluster systems such as cluster computing is that grids tend to be more loosely coupled, heterogeneous, and geographically dispersed • Special kind of distributed computing in which different computers within the same network share one or more resources
  • 36.
  • 37. TYPES OF GRID COMPUTING – DATA GRIDS • Allows you to distribute your data across the grid • Main goal of Data Grid is to provide as much data as possible from memory on every grid node and to ensure data coherency • Characteristics: a. Data Replication- all data is fully replicated to all nodes in the grid b. Data Invalidation- Whenever data changes on one of the nodes, then the same data on all other nodes is purged c. Distributed Transactions- Transactions are required to ensure Data Coherency d. Data Backups- Useful for fail-over. Some Data Grid products provide ability to assign backup nodes for the data e. Data Affinity/Partitioning- Allows to split/partition whole data set into multiple subsets and assign every subset to a grid node
  • 38. TYPES OF GRID COMPUTING – COMPUTE GRIDS • Allows to take a computation, optionally split it into multiple parts, and execute them on different grid nodes in parallel leads to faster rate of execution. E.g. MapReduce • Helps to improve overall scalability and fault-tolerance by offloading your computations onto most available nodes • Characteristics: a. Automatic Deployment b. Topology Resolution - allows to provision nodes based on any node characteristic or user-specific configuration c. Collision Resolution - Jobs are executed in parallel but synchronization is maintained d. Load Balancing – proper balancing of your system load within grid e. Checkpoints - Long running jobs should be able to periodically store their intermediate state f. Grid Events - a querying mechanism for all grid events is essential g. Node Metrics - a good compute grid solution should be able to provide dynamic grid metrics for all grid nodes
  • 39. GRID COMPUTING • Advantages:  Can solve larger, more complex problems in a shorter time  Easier to collaborate with other organizations  Make better use of existing hardware • Disadvantages:  Grid software and standards are still evolving  Learning curve to get started  Non-interactive job submission
  • 40. CLOUD COMPUTING • Computing paradigm shift where computing is moved away from personal computers or an individual application server to a “cloud” of computers. • Abstraction: Users of the cloud only need to be concerned with the computing service being asked for, as the underlying details of how it is achieved are hidden. • Virtualization: Cloud Computing virtualizes system by pooling and sharing resources
  • 41. NIST DEFINITION OF CLOUD COMPUTING • Cloud computing is a model for enabling ubiquitous, convenient, on‐demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction
  • 42. CHARACTERISTICS OF CLOUD COMPUTING 1. On‐demand self‐service 2. Broad network access 3. Resource pooling 4. Rapid elasticity 5. Measured service
  • 43. CLOUD COMPONENTS • Clients • Data Center (Collection of Servers where the application to which you subscribe is housed) • Internet
  • 44. CLOUD COMPUTING- BENEFITS • Lower Costs • Lower computer costs • Reduced Software Costs • By using the Cloud infrastructure on “pay as used and on demand”, all of us can save in capital and operational investment! • Ease of utilization • Quality of Service • Reliability • Outsourced IT management • Simplified maintenance and upgrade • Low Barrier to Entry • Unlimited storage capacity • Universal document access • Latest version availability
  • 45. CLOUD COMPUTING - LIMITATIONS • Requires a constant Internet connection • Does not work well with low‐speed connections • Larger organizations can have applications more customizable • Security and Privacy issues • Cloud Service provider may go down • Latency concerns
  • 46. RESOURCES 1. https://www.hpcadvisorycouncil.com/pdf/Intro_to_HPC.pdf 2. https://computing.llnl.gov/tutorials/parallel_comp/#Whatis 3. https://www.cs.cmu.edu/~fp/courses/15213-s06/lectures/27-multicore.pdf 4. https://en.wikipedia.org/wiki/Cache_coherence