Summary of Container Technologies and Computing Infrastructures
Container Technologies and Computing Infrastructures Guide
Introduction
High Performance Computing (HPC) refers to the use of powerful computational systems to solve large, complex, or computationally intensive problems that are infeasible on ordinary desktop computers. HPC systems range from specialized supercomputers to clusters of standard servers working in parallel. This material introduces key concepts, historical context, architectures, usage modes, and practical examples relevant for university students beginning work with HPC.
Definition: High Performance Computing (HPC) is the practice of using multiple processors, large memory, and fast interconnects to perform calculations at very high throughput, often measured in FLOPS (floating-point operations per second).
1. Historical context and national examples
- 1994: First academic supercomputer deployment at Masaryk University (SGI PowerChallenge XL with MIPS R10000 CPUs). This kicked off local HPC expertise and centers in the Czech Republic.
- Mid-to-late 1990s: Deployment of multiple HPC systems across major Czech universities and the MetaCentrum initiative (1996) to integrate distributed resources into a national grid infrastructure.
2. Key HPC architectures
Supercomputers
- Single, highly integrated systems designed for maximum aggregate performance.
- Typically measured in FLOPS rather than simple instruction rates.
- Pros: extremely high peak performance, optimized hardware and interconnects for specific workloads.
- Cons: high cost, specialized hardware, limited accessibility.
Computing clusters
- Collections of commodity servers (nodes) interconnected by high-speed networks (Infiniband, high-performance Ethernet).
- Scales horizontally by adding nodes.
- Pros: cost-effective, flexible, easier to expand and maintain.
- Cons: higher communication latency than tightly integrated supercomputers, more complex software coordination.
Definition: A cluster is a set of networked computers that cooperate to perform tasks as if they were a single system.
Table: Supercomputer vs Cluster
| Feature | Supercomputer | Computing Cluster |
|---|---|---|
| Hardware specialization | High | Standard commodity |
| Scalability | Limited vertical | Good horizontal |
| Interconnect | Extremely fast, low-latency | Fast, but higher latency |
| Cost per peak FLOPS | Very high | Lower |
| Typical use cases | Large tightly-coupled simulations | Parallel workloads, ensemble jobs |
3. Core components of an HPC environment (breakdown)
- Compute nodes
- CPU-based nodes, many-core nodes, and nodes with very large RAM capacities (e.g., single nodes with up to 10 TB RAM exist).
- GPU-accelerated nodes for workloads that benefit from parallel numeric kernels (e.g., deep learning, molecular dynamics).
- Interconnect
- Low-latency, high-bandwidth networks (Infiniband, specialized Ethernet) that enable efficient parallel communication.
- Storage
- Working (fast) storage for active datasets, and archival storage for long-term retention (tens to hundreds of PB in national infrastructures).
- Software stack
- Compilers, MPI libraries, math libraries, domain-specific applications and tools.
- Job management
- Batch schedulers handle queued workloads; interactive sessions and specialized environments provide direct access for development and visualization.
Definition: A batch scheduler is a system that queues, prioritizes, and dispatches computational jobs onto available resources, managing job start/end and resource allocation.
4. Modes of using HPC resources
- Batch jobs: submit job scripts describing resource needs and commands; execution is scheduled and run when resources are available.
Already have an account? Sign in
High Performance Computing Overview
Klíčové pojmy: HPC uses parallel compute nodes to achieve high FLOPS performance, Supercomputers are highly specialized; clusters use commodity hardware, Efficient parallelization is required to benefit from HPC resources, Batch schedulers manage queued jobs; interactive sessions are for development/debugging, High-speed interconnects (Infiniband etc.) are critical for tightly-coupled workloads, Large-memory nodes (e.g., up to $10\,\text{TB}$) support memory-bound applications, GPU-accelerated nodes are essential for many ML and simulation workloads, Use parallel I/O and avoid many small writes to improve storage performance, Profile and benchmark workloads before scaling to many nodes, National HPC infrastructures often provide free access for public research with publication acknowledgements