Shared Storage Overview
The cluster provides several types of shared storage, each designed for a specific purpose. Understanding the differences between these storage tiers is crucial for managing your data effectively and ensuring the smooth operation of your research workflows.
Storage Tiers
There are three main storage tiers available to users on the cluster:
- Home Directories (
/home) - Project Directories (
/project) - Scratch Space (
/scratch)
Home Directories (/home)
Your home directory is your personal space on the cluster. It is located at /home/your_cnetid.
- Purpose: Intended for storing personal configuration files (e.g.,
.bashrc,.vimrc), small scripts, and source code. - Quotas: Home directories have a 50GB storage quota (inflexible). They are not designed for large datasets or computational output. See the Storage Allocation Policy for details.
- Backups: This storage is backed up regularly.
- Performance: Not optimized for high-performance I/O required by parallel jobs. You should not run jobs from your home directory.
Project Directories (/project)
Project directories are the primary location for shared research data.
- Purpose: Designed for storing datasets, software installations, and results that need to be shared among members of a research group. This is the main workspace for your research data.
- Quotas: Project spaces default to 500GB, with a maximum of 10TB without investment. Faculty may request up to 3 project directories. See the Storage Allocation Policy for complete details.
- Backups: This storage is also backed up regularly, ensuring your important research data is protected.
- Performance: Offers good performance for a wide range of computational tasks.
Scratch Space (/scratch)
The scratch filesystem is a large, high-performance storage space for temporary data.
- Purpose: Intended for temporary files generated during job execution (e.g., intermediate results, large temporary datasets). It provides the best I/O performance, making it ideal for data-intensive computations.
- Quotas: Each user starts with 50GB on
/net/scratchand 50GB on/net/scratch2. Additional scratch space can be requested for active computational work. See the Storage Allocation Policy for details. - Backups: Files on
/scratchare NOT backed up. You are responsible for moving any important data from/scratchto your/projectdirectory. - Purge Policy: To ensure space is available for active jobs, files on
/scratchare subject to a strict purge policy. Files that have not been accessed for 60 days will be automatically deleted.
Need per-node NVMe or SSD space? Request the
localGRES described in the Node-local Storage guide.
Summary of Storage Tiers
| Tier | Path | Purpose | Backups | Purge Policy |
|---|---|---|---|---|
| Home | /home/<cnetid> |
Personal files, configs, source code | Yes | No |
| Project | /project/<group> |
Shared research data, results | Yes | No |
| Scratch | /scratch/ |
Temporary files for active jobs | No | Yes (after 60 days of inactivity) |
Best Practices for Storage Usage
- Store Code in Home: Keep your source code, scripts, and configuration files in your
/homedirectory. - Keep Data in Project: Store your primary datasets, important results, and shared files in your
/projectdirectory. - Use Scratch for Jobs: When running jobs, write temporary and intermediate files to a directory you create within
/scratch. Copy your final, important results back to your/projectspace upon job completion. - Check Your Usage: Regularly monitor your disk space usage to avoid hitting your quotas. You can check your usage by following the instructions on the Checking Your Usage page.
- Clean Up Regularly: Be a good cluster citizen by regularly deleting files you no longer need, especially from the shared
/scratchspace.
By following these guidelines, you can make the most of the cluster’s storage resources and contribute to a stable and efficient computing environment for everyone.