Skip to content

Storage spaces

Isambard-AI and Isambard 3

Overview

Storage is allocated to projects. When a project is created on the BriCS portal, it is granted a project-specific shared storage space on the shared filesystem under /projects/. Members of the project are also granted user storage space associated with their project-specific UNIX account under /home/<PROJECT>/ and /scratch/<PROJECT> (where <PROJECT> is a project-specific short name). The project-specific shared and user storage is on the shared Lustre filesystem, which is accessible from login and compute nodes.

Project storage expires at the project end date

The storage allocated to each project is accessible to members of the project for the duration of the project.

After a project's end date project members will no longer able to access or use any storage previously allocated to the project and any data remaining in the project storage area will be deleted. This applies to project-specific shared storage under /projects as well as user storage under /home/<PROJECT> and /scratch/<PROJECT>.

Project storage is working storage

Project storage on BriCS facilities is working storage. It is not backed up and is not intended for long term or archival storage of data.

Please ensure that important data is regularly backed up in another location during the project and that any data that should remain accessible to project members after the end of the project is copied off the system before the project end date.

Users are also granted access to fast local scratch storage on nodes under /local/user/. This is a temporary storage space intended for use in situations where the shared filesystem is unsuitable (such as building rootless containers) and is regularly wiped.

To facilitate sharing of data between users on different projects, each project is provided with an additional per-project "public shared" storage space on the Lustre filesystem at /projects/public/ (also linked from /projects/<PROJECT>/public). The permissions of per-project directories /projects/public/<PROJECT> are configured such that the directories are writeable only by members of <PROJECT>, but are readable by all users.

Key details

The following tables summarize the characteristics of each user-accessible storage space. In the table, <PROJECT> refers to the short name of your project and <USER> refers to the UNIX username associated with your account in the BriCS portal. Your project-specific username is <USER>.<PROJECT> (e.g. for UNIX user grace in project cobol, the project-specific username is grace.cobol). Additionally <UID> refers to the numeric user ID associated with your project-specific user account, <USER>.<PROJECT>.

Property Common Value
Use cases Storage of user-specific data for the duration of the project (e.g. configuration files, submission scripts, job output files)
Path /home/<PROJECT>/<USER>.<PROJECT>
Environment variables HOME
Filesystem type Shared parallel (Lustre)
Accessible to User <USER>.<PROJECT>
Expires End date of project
Property Isambard-AI Isambard 3
On compute node
On login node
Storage quota 50 TB soft / 55 TB hard 10 TB soft / 11 TB hard
File quota 100M soft / 105M hard 10M soft / 10.5M hard
Property Common Value
Use cases Storage of user-specific working data for the duration of the project (e.g. job checkpoint data, input/output data for intermediate processing steps, container images)
Path /scratch/<PROJECT>/<USER>.<PROJECT>
Environment variables SCRATCH, SCRATCHDIR
Filesystem type Shared parallel (Lustre)
On login node
On compute node
Accessible to User <USER>.<PROJECT>
Storage quota N/A (counts towards per-user quota)
File quota N/A (counts towards per-user quota)
Expires End date of project
Property Common Value
Use cases Storage of data to be shared with project members for the duration of the project (e.g. input datasets, shared Conda environments, shared container images)
Path /projects/<PROJECT>
Environment variables PROJECTDIR
Filesystem type Shared parallel (Lustre)
On login node
On compute node
Accessible to Members of group group.<PROJECT>
Storage quota N/A (counts towards per-user quota)
File quota N/A (counts towards per-user quota)
Expires End date of project
Property Common Value
Use cases Storage of data to be shared between members of different projects
Path /projects/public/<PROJECT>
Environment variables PROJECTDIR_PUBLIC
Filesystem type Shared parallel (Lustre)
On login node
On compute node
Accessible to Members of group group.<PROJECT> (read/write)
All users (read only)
Storage quota N/A (counts towards per-user quota)
File quota N/A (counts towards per-user quota)
Expires End date of project
Property Common Value
Use case Temporary storage of data for tasks not suited to shared parallel storage (e.g. large compilation tasks, rootless OCI container builds)
Path /local/user/<UID>
Environment variables LOCALDIR, TMPDIR
Filesystem type Node local storage
Accessible to User <USER>.<PROJECT>
Expires Login: End of current logged in session1
Compute: End of current job2
Property Isambard-AI Isambard 3
On login node (local solid state disk) (local solid state disk)
On compute node (tmpfs RAM disk local to compute node) (local solid state disk)
Storage quota Login: 512 GB hard
Compute: 48 GB hard
Login and compute: 512 GB hard
File quota Login: 25M hard
Compute: N/A
Login and compute: 25M hard

User quotas for shared filesystem apply across the whole shared filesystem

The storage and file quotas for each project-specific user account <USER>.<PROJECT> apply across the entire shared filesystem, i.e. storage and files in any path on the shared filesystem count against this quota.

Finding your numeric user ID (UID)

To find the numeric user ID of the logged in account, inspect the UID environment variable,

echo $UID

or use the id command

id -ur

Checking usage and quotas

The storage and file number quota on the shared parallel filesystem for each project-specific user account <USER>.<PROJECT> applies across all storage spaces on the shared filesystem, including /home/<PROJECT>/<USER>.<PROJECT>, /scratch/<PROJECT>/<USER>.<PROJECT>, /projects/<PROJECT>, and /projects/public/<PROJECT>.

Check current per-user usage and limits on the shared parallel filesystem (Lustre) using the lfs quota command.

e.g. on Isambard-AI

lfs quota -h -u $USER /lus/lfs1aip1

$ lfs quota -h -u $USER /lus/lfs1aip1 
Disk quotas for usr username.project (uid 1483800121):
     Filesystem    used   quota   limit   grace   files   quota   limit   grace
  /lus/lfs1aip1  1.047M     50T     55T       -      14  104857600 110100480       -
uid 1483800121 is using default block quota setting
uid 1483800121 is using default file quota setting

e.g. on Isambard 3

lfs quota -h -u $USER /lfs1i3

$ lfs quota -h -u $USER /lfs1i3 
Disk quotas for usr username.project (uid 1483800121):
     Filesystem    used   quota   limit   grace   files   quota   limit   grace
  /lus/lfs1i3    1.047M     10T     11T       -      14  10485760 11010048       -
uid 1483800121 is using default block quota setting
uid 1483800121 is using default file quota setting

There is no separate quota for project user scratch storage. Data stored by a user in /scratch/<PROJECT>/<USER>.<PROJECT> counts against the project user storage quota of that user.

There is no separate quota for project shared storage. Data stored in /projects/<PROJECT> by a member of the project counts against the project user storage quota of that project member.

There is no separate quota for project public shared storage. Data stored in /projects/public/<PROJECT> by a member of the project counts against the project user storage quota of that project member.

Isambard-AI only on login nodes.

Isambard 3 on all login and compute nodes.

Check the current per-user usage and limits for node-local scratch storage using the quota command:

quota -s -f /local

e.g.

$ quota -s -f /local
Disk quotas for user username.project (uid 1483800121): 
     Filesystem   space   quota   limit   grace   files   quota   limit   grace
 /dev/nvme0n1p1      4K    512G    512G               1  25000k  25000k

  1. Data in the login node local scratch space /local/user/<UID> will automatically be deleted after a short time period. Persistence after the end of a logged in session may occur, but should not be relied upon. 

  2. On Isambard-AI - the compute node local scratch space /local/user/<UID> is linked to /run/user/<UID>. This persists only for the lifetime of a running job. On job start a tmpfs filesystem is created in this location. At the end of the job the mounted tmpfs filesystem is destroyed. On Isambard 3 /local/user/<UID> is mounted to local storage and is cleaned at the end of the job.