Professional Documents
Culture Documents
Cluster
Cluster
Software
Ashish Ranjan
07-12-2023
Application Areas
How to Run Applications Faster ?
• There are 3 ways to improve performance:
• Work Harder
• Work Smarter
• Get Help
• Computer Analogy
• Using faster hardware
• Optimized algorithms and techniques used to solve computational
tasks
• Multiple computers to solve a particular task
Latest Processor
Characterizing parallel computing systems
• Clustering
• How the system is connected
• Namespace
• How far things are visible across the nodes
• Parallelism
• Reflects the forms of action concurrency that the hardware
architecture can exploit and support
• Latency and locality management
• Defines the mechanisms and methods incorporated to tolerate latency
effects. Caches, pipelining, prefetching, multi-threading , and message-driven
computing mechanisms are among the possible mechanisms that avoid or
hide access latencies
Scalable (Parallel) Computer Architectures
• Massively Parallel Processors (MPP)
• Symmetric Multiprocessors (SMP)
• Cache-Coherent Non-Uniform Memory Access (CC-
NUMA)
• Clusters
• Distributed Systems – Grids/P2P
Scalable Parallel Computer Architectures
• MPP
• A large parallel processing system with a shared-nothing
architecture
• Consist of several hundred nodes with a high-speed
interconnection network/switch
• Each node consists of a main memory & one or more
processors
• Runs a separate copy of the OS
• SMP
• 2-64 processors
• Shared-everything architecture
• All processors share all the global resources available
• Single copy of the OS runs on these systems
Scalable Parallel Computer Architectures
• CC-NUMA
• a scalable multiprocessor system having a cache-coherent
nonuniform memory access architecture
• every processor has a global view of all of the memory
• Clusters
• a collection of workstations / PCs that are interconnected by a high-
speed network
• work as an integrated collection of resources
• have a single system image spanning all its nodes
• Distributed systems
• considered conventional networks of independent computers
• have multiple system images as each node runs its own OS
• the individual machines could be combinations of MPPs, SMPs,
clusters, & individual computers
Rise and Fall of Computer Architectures
• Vector Computers (VC) - proprietary system:
• provided the breakthrough needed for the emergence of
computational science, buy they were only a partial answer.
• Massively Parallel Processors (MPP) -proprietary systems:
• high cost and a low performance/price ratio.
• Symmetric Multiprocessors (SMP):
• suffers from scalability
• Distributed Systems:
• difficult to use and hard to extract parallel performance.
• Clusters - gaining popularity:
• High Performance Computing - Commodity Supercomputing
• High Availability Computing - Mission Critical Applications
Sourcebook of Parallel Computing (Dongarra
et al.):
We note that the term cluster can be applied both broadly (any system
built with a significant number of commodity components) or narrowly
(only commodity components and open-source software). In fact,
there is no precise definition of a cluster. Some of the issues that are
used to argue that a system is a massively parallel processor (MPP)
instead of a cluster include proprietary interconnects (...), particularly
ones designed for a specific parallel computer, and special software
that treats the entire system as a single machine, particularly for the
system administrators. Clusters may be built from personal computers
or workstations (either single processors or symmetric multiprocessors
(SMPs)) and may run either open-source or proprietary operating
systems.
Top500 Computers Architecture
Server OEM Share
Computer Food Chain: Causing the
demise of specialized systems
PDA
Clusters
Parallel Applications
Parallel Applications
Parallel Applications
Sequential Applications
Sequential Applications
Sequential Applications Parallel Programming Environment
Cluster Middleware
(Single System Image and Availability Infrastructure)
UP
Common Cluster Modes
• High Performance (dedicated).
• High Throughput (idle cycle harvesting).
• High Availability (fail-over).
Interconnect
•Multiple High-Performance
Computers
• PCs
• Workstations
• SMPs (CLUMPS)
• Distributed HPC Systems leading to Grid
Computing
System CPUs
• Processors
• x86-class Processors
• Intel Xeon SPR
• AMD
• ARM
• Accerators
• Nvidia H100
• AMD MI300
• HABANA GAUDI
• Intel PVC
System Disk
• Disk and I/O
• Overall improvement in disk access time has
been less than 10% per year
• Amdahl’s law
• Speed-up obtained from faster processors is
limited by the slowest system component
• Parallel I/O
• Carry out I/O operations in parallel, supported by
parallel file system based on hardware or software
RAID
Commodity Components for Clusters (II):
Operating Systems
• Operating Systems
• 2 fundamental services for users
• make the computer hardware easier to use
• create a virtual machine that differs markedly from the real machine
• share hardware resources among users
• Processor - multitasking
• The new concept in OS services
• support multiple threads of control in a process itself
• parallelism within a process
• multithreading
• POSIX thread interface is a standard programming environment
• Trend
• Modularity – MS Windows, IBM OS/2
• Microkernel – provides only essential OS services
• high level abstraction of OS portability
Prominent Components of Cluster Computers
•State of the art Operating Systems
• Linux (MOSIX, Beowulf, and many more)
• Windows HPC (HPC2N – Umea University)
• SUN Solaris (Berkeley NOW, C-DAC PARAM)
• IBM AIX (IBM SP2)
• HP UX (Illinois - PANDA)
• Mach (Microkernel based OS) (CMU)
• Cluster Operating Systems (Solaris MC, SCO
Unixware, MOSIX (academic project)
• OS gluing layers (Berkeley Glunix)
Operating Systems used in Top500
Powerful computers
AIX
Prominent Components of Cluster Computers (III)
• High Performance Networks/Switches
• RDAM enabled Ethernet,
• InfiniBand
Interconnect Share
Prominent Components of Cluster Computers (IV)
• Cluster Middleware
• Single System Image (SSI)
• System Availability (SA) Infrastructure
• Hardware
• DEC Memory Channel, DSM (Alewife, DASH), SMP Techniques
• Operating System Kernel/Gluing Layers
• Solaris MC, Unixware, GLUnix, MOSIX
• Applications and Subsystems
• Applications (system management and electronic forms)
• Runtime systems (software DSM, PFS etc.)
• Resource management and scheduling (RMS) software
• Oracle Grid Engine, Platform LSF (Load Sharing Facility), PBS (Portable Batch
Scheduler), Microsoft Cluster Compute Server (CCS)
Advanced Network Services/
Communication SW
• Communication infrastructure support protocol for
• Bulk-data transport
• Streaming data
• Group communications
• Communication service provides cluster with important QoS parameters
• Latency
• Bandwidth
• Reliability
• Fault-tolerance
• Network services are designed as a hierarchical stack of protocols with
relatively low-level communication API, providing means to implement
wide range of communication methodologies
• RPC
• DSM
• Stream-based and message passing interface (e.g., MPI, PVM)
Prominent Components of
Cluster Computers (VI)
• Parallel Programming Environments and Tools
• Threads (PCs, SMPs, NOW..)
• POSIX Threads
• Java Threads
• MPI (Message Passing Interface)
• Linux, Windows, on many Supercomputers
• Parametric Programming
• Software DSMs (Shmem)
• Compilers
• C/C++/Java
• Parallel programming with C++ (MIT Press book)
• RAD (rapid application development) tools
• GUI based tools for PP modeling
• Debuggers
• Performance Analysis Tools
• Visualization Tools
Prominent Components of
Cluster Computers (VII)
•Applications
• Sequential
• Parallel / Distributed (Cluster-aware app.)
• Grand Challenging applications
• Weather Forecasting
• Quantum Chemistry
• Molecular Biology Modeling
• Engineering Analysis (CAD/CAM)
• ……………….
https://hpsfoundation.github.io/