Difference between revisions of "HPC-Dictionary"

From HPC Wiki
Jump to navigation Jump to search
Line 33: Line 33:
 
== Central Processing Unit (CPU) ==
 
== Central Processing Unit (CPU) ==
  
TODO
+
The word "CPU" is widely used in the field of HPC though not precisely defined. It is mostly used to describe the concrete hardware architecture of a node, but should generally avoided due to possible misunderstandings.
 +
 
 +
== Core ==
 +
 
 +
A core has one or more hardware threads and is respnsible for executing instructions.
  
 
== Socket ==
 
== Socket ==
  
A socket consists of one or more cores sharing the same memory.
+
A socket is the physical package in which multiple cores are enclosed sharing the same memory.
  
 
== Cluster ==
 
== Cluster ==
  
 
A cluster referes to a collection of multiple nodes, which are connected via a network offering high bandwidth with low lateny communication. Accessing a cluster is possible by connecting to its specific login nodes.
 
A cluster referes to a collection of multiple nodes, which are connected via a network offering high bandwidth with low lateny communication. Accessing a cluster is possible by connecting to its specific login nodes.
 +
 +
== Cache ==
 +
 +
A cache is a relatively small amount of fast memory (compared to RAM), on the CPU chip. A modern CPU has three cache levels: L1 and L2 are specific to each core, while L3 (or Last Level Cache (LLC)) is shared amoung all cores of a CPU.
  
 
== Random Access Memory (RAM) ==
 
== Random Access Memory (RAM) ==
  
TODO
+
The RAM is used as working memory for the cores. This is volatile memory meaning, that after a process ends the data in the RAM is no longer available. The RAM is shared between all sockets on a node, though it is physically seperated for each socket.
  
 
== Scalability ==
 
== Scalability ==
  
TODO
+
Scalability represents a property of software, that describes how good an application can use an increased number of hardware resources. Good scalability would mean a decrease in runtime when more and more cores are used to solve the problem. Typically applications reach an upper bound regarding a number of cores "beyond they stop scaling".

Revision as of 14:37, 17 April 2018

Unix

TODO

Unix File System

TODO

Environment Variables

TODO

Node

A node is an individual computer consisting of one or more sockets.

Backend Node

Backend nodes are reserved for executing memory demanding and long running applications. They are the most powerful, but also most power consuming part of a cluster as they make up around 98% of it. Since these nodes are not directly accessable by the user, a scheduler manages their access. In order to run on these nodes, a batch job needs to be submitted to the batch system via a scheduler specific command.

Copy Node

Copy nodes are reserved for transfering data to or from a cluster. They usually offer a better connection than other nodes and minimize the disturbance of other users on the system. Depending on the facility, software installed on these nodes may differ from other ones due to their restricted use case, though not every facility chooses to install a designated copy node at all. As an alternative login node may be used to move data between systems.

Frontend Node

Synonym for login node.

Login Node

Login nodes are reserved for connecting to the cluster of a facility. Most of the time they can also be used for testing and performing interactive tasks (e.g. the analysis of previously collected application profiles). These test runs should generally not exceed execution times of just a few minutes and may only be used to verify that your software is running correctly on the system and its environment before submitting batch jobs to the batch system.

Central Processing Unit (CPU)

The word "CPU" is widely used in the field of HPC though not precisely defined. It is mostly used to describe the concrete hardware architecture of a node, but should generally avoided due to possible misunderstandings.

Core

A core has one or more hardware threads and is respnsible for executing instructions.

Socket

A socket is the physical package in which multiple cores are enclosed sharing the same memory.

Cluster

A cluster referes to a collection of multiple nodes, which are connected via a network offering high bandwidth with low lateny communication. Accessing a cluster is possible by connecting to its specific login nodes.

Cache

A cache is a relatively small amount of fast memory (compared to RAM), on the CPU chip. A modern CPU has three cache levels: L1 and L2 are specific to each core, while L3 (or Last Level Cache (LLC)) is shared amoung all cores of a CPU.

Random Access Memory (RAM)

The RAM is used as working memory for the cores. This is volatile memory meaning, that after a process ends the data in the RAM is no longer available. The RAM is shared between all sockets on a node, though it is physically seperated for each socket.

Scalability

Scalability represents a property of software, that describes how good an application can use an increased number of hardware resources. Good scalability would mean a decrease in runtime when more and more cores are used to solve the problem. Typically applications reach an upper bound regarding a number of cores "beyond they stop scaling".