Alpine Introduction and Orientation
What kind of things you could use Alpine for?
Ways to use the system
OnDemand: What you can do in the interface
SSH:
- ssh Net_Id@colostate.edu@login.rc.colorado.edu
- Using SSH is a terminal/cmd-based interface where all the operations can be performed as same as Ondemand.
- Like creating a conda environment.
- Installing required software.
- Submitting jobs using slurm.
- Managing filesystems.
Directories:
Alpine users have 3 main directories: Home, Projects, and Scratch
Home
Projects
Scratch
(/home/csu_NetID@colostate.edu)
(/projects/csu_NetID@colostate.edu)
(/scratch/alpine/csu_NetID@colostate.edu)
Storage Capacity: 2 GB
Storage Capacity: 250 GB
Storage Capacity: 10 TB
Backup: Locally in .snapshot/
ls -l $HOME/.snapshot
Backup: Locally in .snapshot/
ls -lA .snapshot
Purge: Automatic, 90 days after creation
No Backup available
Backup Intervals:Every 2 hours
Daily
Weekly
Backup Intervals:Every 2 hours
Daily
Weekly
N/A
Disaster Recovery: Backed up to a second site nightly
Disaster Recovery: Backed up to a second site nightly
Not suitable for computing jobs
Not suitable for computing jobs
Use for compute job I/O
Home directory:
The home directory (/home/csu_NetID@colostate.edu) has 2 GB of storage that is backed up locally into a hidden directory (.snapshot/) at 2-hour, daily, and weekly intervals and to a second site for disaster recovery nightly. Because the home directory is not on high-performance storage, it should not be written to by compute jobs.
Project directory:
The projects directory (/projects/csu_NetID@colostate.edu) is intended to store software builds and smaller datasets and to share data and software with other users. It has 250 GB of storage that is backed up locally into a hidden directory (.snapshot/) at 6 hours, daily, and weekly intervals and to a second site for disaster recovery nightly. Like the home directory, because projects are not on high-performance storage, it should not be written to by compute jobs.
Alpine scratch directory:
The Alpine scratch directory (/scratch/alpine/csu_NetID@colostate.edu) is intended for input and output for compute jobs running on Alpine and uses GPFS (General Parallel File System) for fast parallel I/O. Each user is limited to 10 TB of scratch storage and a total of 20 million files and directories. If you need a larger allocation, email rc-help@colostate.edu. Files in the scratch directory are automatically purged 90 days after their creation, are NOT backed up, and may be purged at any time. Transfer your data to the project's directory or to permanent data storage soon after your job is completed.
For more in-depth information, and a table of backup frequencies for each directory, see the CU Boulder RC User Guide topic on Filesystems.
Getting software going:
Software:
Pre-installed software
Alpine uses a module system to publish software. See the Lmod documentation to learn how to see which modules are installed and how to load them.
Installing custom software
Users should install custom software in the project directory. Users may also take advantage of the module system to publish local module files to configure a running environment for the software. Such a module could be adopted as a centrally supported module if it has wide community use.
Most custom software should be installed using one of the Alpine compile nodes. These nodes are identical to the general Alpine compute nodes, which is ideal for compiling software to run on the system. Once you are connected to the login node via ssh, you can connect to a compile node by running the following:
Software Compilation
For information on how to compile your software on Alpine, please see the CU Boulder RC Alpine User Guide.
Modules Demo
- Request a CPU node for compile:
-
To see what modules/software are available to load:
- To load your chosen module into the environment:
- module load <package> # example: "module load python"
- You can specify a version of the module
- module load <package>/<version> # example: "module load python/3.5.1"
Modules:
Alpine uses a module system that allows the installation of multiple versions of common software packages that users can switch between. To use the software, the module must be loaded first. Loading a module will alter aspects of your environment, such as the $PATH variable. Finally, you must be on an Alpine compile node to load modules.
After logging in on Alpine, type:
acompile
to move to a compile node.
Alpine uses the Lmod environment module system to simplify shell configuration and software application management. See the CU Boulder RC Alpine User guide for more information about the module system, including commands for module loading and exploration.