BinAC2/Hardware and Architecture: Difference between revisions

From bwHPC Wiki
Jump to navigation Jump to search
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
== System Architecture ==
= Hardware and Architecture =


The bwForCluster BinAC 2 supports researchers from the broader fields of Bioinformatics, Astrophysics, and Geosciences.
The bwForCluster BinAC 2 supports researchers from the broader fields of Bioinformatics, Astrophysics, and Geosciences.


=== Operating System and Software ===
== Operating System and Software ==


* Operating System: ...
* Operating System: Rocky Linux 9.4
* Queuing System: [https://slurm.schedmd.com/documentation.html Slurm] (see [[BinAC2/Slurm]] for help)
* Queuing System: [https://slurm.schedmd.com/documentation.html Slurm] (see [[BinAC2/Slurm]] for help)
* (Scientific) Libraries and Software: [[Environment Modules]]
* (Scientific) Libraries and Software: [[Environment Modules]]


=== Compute Nodes ===
== Compute Nodes ==


BinAC 2 offers compute nodes, high-mem nodes, and two types of GPU nodes.
BinAC 2 offers compute nodes, high-mem nodes, and two types of GPU nodes.
* 148 compute nodes
* 180 compute nodes
* 14 SMP node
* 14 SMP node
* 32 GPU nodes (A30)
* 32 GPU nodes (A30)
* 8 GPU nodes (A100)
* 8 GPU nodes (A100)
* splus several special purpose nodes for login, interactive jobs, etc.
* plus several special purpose nodes for login, interactive jobs, etc.


Compute node specification:
Compute node specification:
Line 28: Line 28:
|-
|-
!scope="column"| Quantity
!scope="column"| Quantity
| 148
| 180
| 14
| 14
| 32
| 32
Line 76: Line 76:
|}
|}


= Network =
== Storage Architecture ==


The compute nodes and the parallel file system are connected via 100GbE ethernet</br>
The bwForCluster [https://www.binac.uni-tuebingen.de BinAC] consists of two separate storage systems, one for the user's home directory <tt>$HOME</tt> and one serving as a work space. The home directory is limited in space and parallel access but offers snapshots of your files and Backup. The work space is a parallel file system which offers fast and parallel file access and a bigger capacity than the home directory. This storage is based on [https://www.beegfs.com/ BeeGFS] and can be accessed parallel from many nodes. Additionally, each compute node provides high-speed temporary storage (SSD) on the node-local solid state disk via the <tt>$TMPDIR</tt> environment variable.
In contrast to BinAC 1 not all compute nodes are connected via Infiniband, but there are 80 standard compute nodes connected via HDR Infiniband (100 GbE). In order to get your jobs onto the Infiniband nodes, submit your job with <code>--constraint=ib</code>.

= Storage =

The bwForCluster BinAC 2 consists of two separate storage systems, one for the user's home directory $HOME and one serving as a project/work space.
The home directory is limited in space and parallel access but offers snapshots of your files and backup.

The project/work is a parallel file system (PFS) which offers fast and parallel file access and a bigger capacity than the home directory. It is mounted at <code>/pfs/10</code> on the login and compute nodes. This storage is based on Lustre and can be accessed parallel from many nodes. The PFS contains the project and the work directory. Each compute project has its own directory at <code>/pfs/10/project</code> that is accessible for all members of the compute project.
Each user can create workspaces under <code>/pfs/10/work</code> using the workspace tools. These directories are only accessible for the user who created the workspace.

Additionally, each compute node provides high-speed temporary storage (SSD) on the node-local solid state disk via the $TMPDIR environment variable.


{| class="wikitable"
{| class="wikitable"
Line 84: Line 95:
! style="width:10%"|
! style="width:10%"|
! style="width:10%"| <tt>$HOME</tt>
! style="width:10%"| <tt>$HOME</tt>
! style="width:10%"| Work Space
! style="width:10%"| project
! style="width:10%"| work
! style="width:10%"| <tt>$TMPDIR</tt>
! style="width:10%"| <tt>$TMPDIR</tt>
|-
|-
!scope="column" | Visibility
!scope="column" | Visibility
| global
| global
| global
| global
| global
| node local
| node local
|-
|-
!scope="column" | Lifetime
!scope="column" | Lifetime
| permanent
| permanent
| permanent
| work space lifetime (max. 30 days, max. 3 extensions)
| work space lifetime (max. 30 days, max. 5 extensions)
| batch job walltime
| batch job walltime
|-
|-
!scope="column" | Capacity
!scope="column" | Capacity
| unkn.
| -
| 482 TB
| 8.1 PB
| 1000 TB
| 211 GB per node
| 512 GB per node; 1920 GB on high-mem nodes
|-
!scope="column" | Speed
| ...
| ...
| ...
| ...
|-
|-
!scope="column" | [https://en.wikipedia.org/wiki/Disk_quota#Quotas Quotas]
!scope="column" | [https://en.wikipedia.org/wiki/Disk_quota#Quotas Quotas]
| 40 GB per user
| 40 GB per user
| not yet, maybe in the future
| none
| none
| none
| none
Line 109: Line 131:
!scope="column" | Backup
!scope="column" | Backup
| yes
| yes
| no
| no
| no
| no
| no
Line 118: Line 141:
batch job walltime : files are removed at end of the batch job
batch job walltime : files are removed at end of the batch job


=== Home ===


Home directories are meant for permanent file storage of files that are keep being used like source codes, configuration files, executable programs etc.; the content of home directories will be backed up on a regular basis.
=== $HOME ===
Because the backup space is limited we enforce a quota of 40GB on the home directories.

'''NOTE:'''
Compute jobs on nodes must not write temporary data to $HOME.
Instead they should use the local $TMPDIR directory for I/O-heavy use cases
and work spaces for less I/O intense multinode-jobs.


Home directories are meant for permanent file storage of files that are keep being used like source codes, configuration files, executable programs etc.; the content of home directories will be backed up on a regular basis.
<!--
<!--
Current disk usage on home directory and quota status can be checked with the '''diskusage''' command:
Current disk usage on home directory and quota status can be checked with the '''diskusage''' command:

$ diskusage
$ diskusage
Line 130: Line 158:
------------------------------------------------------------------------
------------------------------------------------------------------------
<username> 4.38 100.00 4.38
<username> 4.38 100.00 4.38

-->
-->
=== Project ===


Each compute project has its own project directory at <code>/pfs/10/project</code>.


<pre>
NOTE:
$ ls -lh /pfs/10/project/
Compute jobs on nodes must not write temporary data to $HOME.
drwxrwx---. 2 root bw16f003 33K Dec 12 16:46 bw16f003
Instead they should use the local $TMPDIR directory for I/O-heavy use cases
[...]
and work spaces for less I/O intense multinode-jobs.
</pre>


As you can see the directory is owned by a group representing your compute project (here bw16f003) and the directory is accessible by all group members. It is upon your group to decide how to use the space inside this directory: shared data folders, personal directories for each project member, software containers, etc.


The data is stored on HDDs. The primary focus of <code>/pfs/10/project</code> is pure capacity, not speed.
<!--
'''Quota is full - what to do'''


=== Work ===
In case of 100% usage of the quota user can get some problems with disk writing operations (e.g. error messages during the file copy/edit/save operations). To avoid it - please remove some data that you don't need from the $HOME directory or move it to some temporary place.


The data at <code>/pfs/10/work</code> is stored on SSDs. The primary focus is speed, not capacity.
As temporary place for the data user can use:
In contrast to BinAC 1 we will enforce work space lifetime, as the capacity is limited.
We ask you to only store data you actively use for computations on <code>/pfs/10/work</code>.
Please move data to <code>/pfs/10/project</code> when you don't need it on the fast storage any more.


Each user can create workspaces at <code>/pfs/10/work</code> through the workspace tools
* '''Workspace''' - space on the BeeGFS file system, lifetime up to 90 days (see below)
To create a work space you'll need to supply a name for your work space area and a lifetime in days.

For more information read the corresponding help, e.g: <code>ws_allocate -h.</code>
* '''Scratch on login nodes''' - special directory on every login node (login01..login03):
** Access via variable $TMPDIR (e.g. "cd $TMPDIR")
** Lifetime of data - minimum 7 days (based on the last access time)
** Data is private for every user
** Each login node has own scratch directory (data is NOT shared)
** There is NO backup of the data

To get optimal and comfortable work with the $HOME directory is important to keep the data in order (remove unnecessary and temporary data, archive big files, save large files only on the workspace).
-->


=== Work Space ===

Work spaces can be generated through the <tt>workspace</tt> tools. This will generate a directory on the parallel storage.

To create a work space you'll need to supply a name for your work space area and a lifetime in days.
For more information read the corresponding help, e.g: <tt>ws_allocate -h</tt>.

Examples:
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 173: Line 188:
!style="width:70%" | Action
!style="width:70%" | Action
|-
|-
|<tt>ws_allocate mywork 30</tt>
|<code>ws_allocate mywork 30</code>
|Allocate a work space named "mywork" for 30 days.
|Allocate a work space named "mywork" for 30 days.
|-
|-
|<tt>ws_allocate myotherwork</tt>
|<code>ws_allocate myotherwork</code>
|Allocate a work space named "myotherwork" with maximum lifetime.
|Allocate a work space named "myotherwork" with maximum lifetime.
|-
|-
|<tt>ws_list -a</tt>
|<code>ws_list -a</code>
|List all your work spaces.
|List all your work spaces.
|-
|-
|<tt>ws_find mywork</tt>
|<code>ws_find mywork</code>
|Get absolute path of work space "mywork".
|Get absolute path of work space "mywork".
|-
|-
|<tt>ws_extend mywork 30</tt>
|<code>ws_extend mywork 30</code>
|Extend life me of work space mywork by 30 days from now. (Not needed, workspaces on BinAC are not limited).
|Extend life me of work space mywork by 30 days from now.
|-
|-
|<tt>ws_release mywork</tt>
|<code>ws_release mywork</code>
|Manually erase your work space "mywork". Please remove directory content first.
|Manually erase your work space "mywork". Please remove directory content first.
|-
|-
|}
|}


=== Local Disk Space ===
=== Scratch ===

All compute nodes are equipped with a local SSD with 200 GB capacity for job execution. During computation the environment variable <tt>$TMPDIR</tt> points to this local disk space. The data will become unavailable as soon as the job has finished.


Please use the fast local scratch space for storing temporary data during your jobs.
=== SDS@hd ===


For each job a scratch directory will be created on the compute nodes. It is available via the environment variable <code>$TMPDIR</code>, which points to <code>/scratch/<jobID></code>.
SDS@hd is mounted only on login03 at <tt>/sds_hd</tt>.
To access your Speichervorhaben, please see the [[SDS@hd/Access/NFS#access_your_data|SDS@hd documentation]].
If you can't see your Speichervorhaben, you can [[BinAC/Support|open a ticket]].

Latest revision as of 17:54, 13 December 2024

Hardware and Architecture

The bwForCluster BinAC 2 supports researchers from the broader fields of Bioinformatics, Astrophysics, and Geosciences.

Operating System and Software

Compute Nodes

BinAC 2 offers compute nodes, high-mem nodes, and two types of GPU nodes.

  • 180 compute nodes
  • 14 SMP node
  • 32 GPU nodes (A30)
  • 8 GPU nodes (A100)
  • plus several special purpose nodes for login, interactive jobs, etc.

Compute node specification:

Standard High-Mem GPU (A30) GPU (A100)
Quantity 180 14 32 8
Processors 2 x AMD EPYC Milan 7543 2 x AMD EPYC Milan 7443 2 x AMD EPYC Milan 7543 2 x AMD EPYC Milan 7543
Processor Frequency (GHz) 2.80 2.85 2.80 2.80
Number of Cores 64 48 64 64
Working Memory (GB) 512 2048 512 512
Local Disk (GB) 512 (SSD) 1920 (SSD) 512 (SSD) 512 (SSD)
Interconnect HDR IB (80 nodes) / 100GbE HDR HDR HDR
Coprocessors - - 2 x NVIDIA A30 (24 GB ECC HBM2, NVLink 4 x NVIDIA A100 (80 GB ECC HBM2e)

Network

The compute nodes and the parallel file system are connected via 100GbE ethernet
In contrast to BinAC 1 not all compute nodes are connected via Infiniband, but there are 80 standard compute nodes connected via HDR Infiniband (100 GbE). In order to get your jobs onto the Infiniband nodes, submit your job with --constraint=ib.

Storage

The bwForCluster BinAC 2 consists of two separate storage systems, one for the user's home directory $HOME and one serving as a project/work space. The home directory is limited in space and parallel access but offers snapshots of your files and backup.

The project/work is a parallel file system (PFS) which offers fast and parallel file access and a bigger capacity than the home directory. It is mounted at /pfs/10 on the login and compute nodes. This storage is based on Lustre and can be accessed parallel from many nodes. The PFS contains the project and the work directory. Each compute project has its own directory at /pfs/10/project that is accessible for all members of the compute project. Each user can create workspaces under /pfs/10/work using the workspace tools. These directories are only accessible for the user who created the workspace.

Additionally, each compute node provides high-speed temporary storage (SSD) on the node-local solid state disk via the $TMPDIR environment variable.

$HOME project work $TMPDIR
Visibility global global global node local
Lifetime permanent permanent work space lifetime (max. 30 days, max. 5 extensions) batch job walltime
Capacity - 8.1 PB 1000 TB 512 GB per node; 1920 GB on high-mem nodes
Speed ... ... ... ...
Quotas 40 GB per user not yet, maybe in the future none none
Backup yes no no no
 global             : all nodes access the same file system
 local              : each node has its own file system
 permanent          : files are stored permanently
 batch job walltime : files are removed at end of the batch job

Home

Home directories are meant for permanent file storage of files that are keep being used like source codes, configuration files, executable programs etc.; the content of home directories will be backed up on a regular basis. Because the backup space is limited we enforce a quota of 40GB on the home directories.

NOTE: Compute jobs on nodes must not write temporary data to $HOME. Instead they should use the local $TMPDIR directory for I/O-heavy use cases and work spaces for less I/O intense multinode-jobs.

Project

Each compute project has its own project directory at /pfs/10/project.

$ ls -lh /pfs/10/project/
drwxrwx---. 2 root bw16f003 33K Dec 12 16:46 bw16f003
[...]

As you can see the directory is owned by a group representing your compute project (here bw16f003) and the directory is accessible by all group members. It is upon your group to decide how to use the space inside this directory: shared data folders, personal directories for each project member, software containers, etc.

The data is stored on HDDs. The primary focus of /pfs/10/project is pure capacity, not speed.

Work

The data at /pfs/10/work is stored on SSDs. The primary focus is speed, not capacity. In contrast to BinAC 1 we will enforce work space lifetime, as the capacity is limited. We ask you to only store data you actively use for computations on /pfs/10/work. Please move data to /pfs/10/project when you don't need it on the fast storage any more.

Each user can create workspaces at /pfs/10/work through the workspace tools To create a work space you'll need to supply a name for your work space area and a lifetime in days. For more information read the corresponding help, e.g: ws_allocate -h.

Command Action
ws_allocate mywork 30 Allocate a work space named "mywork" for 30 days.
ws_allocate myotherwork Allocate a work space named "myotherwork" with maximum lifetime.
ws_list -a List all your work spaces.
ws_find mywork Get absolute path of work space "mywork".
ws_extend mywork 30 Extend life me of work space mywork by 30 days from now.
ws_release mywork Manually erase your work space "mywork". Please remove directory content first.

Scratch

Please use the fast local scratch space for storing temporary data during your jobs.

For each job a scratch directory will be created on the compute nodes. It is available via the environment variable $TMPDIR, which points to /scratch/<jobID>.