# What is High Performance Computing? **High Performance Computing** is the practice of using multiple computers working together to solve complex problems. HPC can include various system configurations, from standard clusters of computers to custom built supercomputers. These systems are designed to perform tasks that would be too large, slow, or inefficient for a typical server or computer. HPC systems are essential tools in scientific research, engineering, data analysis, artificial intelligence, and more. ## Why HPC Matters **HPC systems** help solve some of the world's most important problems. By processing data in parallel across hundreds or thousands of nodes, HPC systems dramatically reduce the time it takes to run large-scale computations. They can be used to: - Simulate climate models to study global warming - Analyze genetic data for disease research - Model fluid dynamics in aircraft design - Train large machine learning models - Simulate nuclear fusion, particle collisions, or astrological events ## Key Characteristics of HPC Systems - **Parallel Computing:** HPC systems divide tasks across many processors that run at the same time, working together to complete jobs more quickly. - **Clusters:** HPC environments are made up of many connected computers, called *nodes*, that work together as a single system. - **Schedulers:** Instead of manually running programs, users submit jobs to a scheduler, like *SLURM*, which manages when and where the job runs. - **Shared Storage:** HPC clusters typically use high-speed, shared filesystems that allow users and nodes to access large datasets quickly. ## Who Uses HPC? HPC is widely used across many fields, including: - Scientific research - Academic and university labs - Aerospace and automotive industries - National laboratories and defense - Weather and climate modeling - Finance and market simulation - Data science and machine learning ## HPC from a System Administrator's Perspective System administators in HPC environments are responisble for maintaining the infrastructure that researchers and engineers rely on. This includes: - Managing compute nodes, login nodes, and storage systems - Supporting users and helping debug issues - Ensuring software and libraries are available and updated - Monitoring system health and usage - Enforcing security and data privacy policies - Writing scripts and using automation tools to manage configurations --- ## Resources - [High-performance Computing](https://en.wikipedia.org/wiki/High-performance_computing) - [What is High-Performance Computing?](https://www.ibm.com/think/topics/hpc) - [An Introduction to High-Performance Computing](https://www.youtube.com/watch?v=tGIobcyKViI)