This section gives you information about PDC’s storage solutions. Working with PDC can involve transferring data back and forth between your local machine and PDC resources, or between different systems at PDC.
PDC offers two storage systems AFS and CFS (Lustre), and an efficient usage of PDC requires knowing when to use what. However, Dardel mainly uses Lustre and has limited access to AFS (presently only from the login node to make it easier to transfer data from AFS to Dardel).
If you have SNIC Swestore allocation, please check File transfer section on how to transfer files to/from Swestore.
Where to store my data¶
As the speed of CPU computations keep increasing, the relatively slow rate of input/output (I/O) or data accessing operations can create bottlenecks and cause programs to slow down significantly. Therefore it is very important to pay attention to how your programs are doing I/O and accessing data as that can have a huge impact on the run time of your jobs. Here, you will find a quick guide to storing data, ideal if you have just started to use PDC resources.
What are AFS and Lustre?
The Andrew File System (AFS) is a distributed file system which uses a set of trusted servers to present a homogeneous, location-transparent file name space to all the client workstations. The Lustre system is a parallel file system optimized for handling data from many clients at the same time.
Why is there more than one file system?
The AFS and Lustre file systems offer different and often complementary functionality. AFS allows a huge number of computers all over the world to share files between each other. Users can define custom groups and control access-rights effortlessly, suitable for project groups. But, AFS has a small storage volume and slow access speed, making it unsuitable for directly access with computational processes. On the contrary, Lustre is accessible only to PDC systems, but provides large storage and, is highly optimized for fast access with computational processes.
Where do I find it?
Before running your processes
- All files for Beskow computations must go on Lustre
- Big data files for Tegner computations should be put on Lustre
- Small data files for Tegner computations can be put on AFS but should be put on lustre
Things to remember when using all types of files
- Minimize I/O operations: larger input/output (I/O) operations are more efficient than small ones – if possible aggregate reads/writes into larger blocks.
- Avoid creating too many files – post-processing a large number of files can be very hard on the file system.
- Avoid creating directories with very large numbers of files – instead create directory hierarchies, which also improves interactiveness.
Things to remember when using Lustre
Avoid all unnecessary metadata operations – once a file is opened, do as much as possible before closing it again. Do not check the existence of files or
stat()files too often.
Open files as read-only if possible – read-only files require less locking and therefore put less load on the file system.
lswith flags like
--coloras this requires
stat()every file to determine its type, which puts an unnecessary load on the file system. Use such flags only when the extra information is really needed and do not have them as default.
¶ File system AFS Lustre Suggested usage
- small files that needs backup
- unsuited for files accessed by computation
- large files
- program code
- files accessed for computation
Storage size default 5GB in home directory on Beskow and Tegner total 5 PB shared with all user on Beskow and Tegner. On Dardel 12 PB shared. File access speed Slow Fast File access
- own implementation of Access Control List
- user can define own group
- access permissions per directory (not file)
- supports standard POSIX ACLs
Secure access uses Kerberos for authentication … Backup files in home directory are backed up files are not backed up. On Dardel home directories are backed up Contents
- user home directory
- project volumes (backup optional)
- installation/configuration of PDC environment
- source code packages
- scratch, suitable for temporary storage
- nobackup area, suitable for analysis results
- Own developed program code
After running your processes
- After performing computations at PDC, please move important data files to your own departmental storage system or to a national storage system provided by SNIC (Swestore). Remember, space on Lustre is currently limited, and NOT backed up. However, home directories on Dardel (residing in Lustre) are backed up.
- Smaller data files can be moved to AFS on Beskow and Tegner
SNIC environmental variables¶
To simplify for the user how to find different folders, SNIC has provided a number of specific variables which indicate in which folders data should be stored. On Beskow and Dardel the module snic_env is loaded by default but in order to access these variables on Tegner, a module must be loaded
module add snic-env
Table of the environmental variables
|Name||Function||Value on Beskow and Tegner||Location on Dardel|
|SNIC_BACKUP||Where important data are backed up.||Your AFS home directory||Your klemming home directory|
|SNIC_NOBACKUP||Not backed up folder for large data||/cfs/klemming/nobackup||/cfs/klemming/projects or /cfs/klemming/nobackup|
|SNIC_RESOURCE||Name of the cluster you are logged into||Beskow or Tegner||Dardel|
|SNIC_SITE||Name of the site||PDC||PDC|
|SNIC_TMP||Scratch folder for storing temporary data||/cfs/klemming/scratch||/cfs/klemming/projects or /cfs/klemming/projects|
Swestore is a large scale storage system for live research data provided by SNIC. It requires a separate allocation to use. Part of the Swestore system is hosted at PDC.
We recommend the following methods for transferring files to and from PDC:
scp/rsync: With Secure Copy (SCP) and rsync you can copy files between your local machine and PDC systems. They use SSH for data transfer, and thus the same authentication as for logging in.
AFS client: With an AFS client on your local machine transferring files between PDC and your local computer is as easy as drag-and-drop, or, using a cp command.
Swestore (dCache): If you have SNIC Swestore (dCache) allocation, please see here how you can transfer files to/from it.
KTH OneDrive (rclone): Use to transfer data between PDC and KTH OneDrive cloud storage.
Nodes for file operations¶
At PDC we have a number of transfer nodes setup. These nodes are dedicated for large file transfers but also for extensive file operations involving large amount of data or many files. It is important that you use these nodes for extensive file operations as not to overload the login node.
Dedicated transfer nodes for large file transfers will be set up on Dardel. In the meanwhile, please use the dardel.pdc.kth.se login node for the file transfers.
|dardel.pdc.kth.se||Login node (Dardel)||Submitting jobs and small file transfers|
|dardel.pdc.kth.se||Login node (Dardel)||Large transfers and operations on the file system|
|beskow.pdc.kth.se||Login node||Submitting jobs and small file transfers|
|tegner.pdc.kth.se||Login node||Submitting jobs and small file transfers|
|t04n27.pdc.kth.se||Transfer node (Beskow/Tegner)||Large transfers and operations on the file system|
|t04n28.pdc.kth.se||Transfer node (Beskow/Tegner)||Large transfers and operations on the file system|