Working on Free Tier

Transferring Files


You must use SCP (secure copy protocol) to transfer data and other program files between your local machine and Free Tier. Unix/Linux and Cygwin users can use the scp command, Windows users can use WinSCP, and Mac users can use Fugu. For large file transfers we recommend the use of Globus, documented below.


Please use the transfer interface habaxfer.rcs.columbia.edu when transferring files. The transfer nodes have faster network connections and using them will reduce the load on the submit nodes where your login sessions are.


For example, this is how you would transfer "MyDataFile" to the cluster using scp from the command line.


$ scp MyDataFile <UNI>@habaxfer.rcs.columbia.edu:<DESTINATION_PATH>

Please keep in mind that if MyDataFile already exists in the destination directory, it will be overwritten. If you specify no path after the colon, the file will be copied to your home directory.


Globus Connect


Globus is a utility (technically, SaaS, or Software as a Service) which among others allows file transfer between personal computers and HPC clusters. It is particularly useful for the fast and reliable transfer of very large files, as well as a large number of small files.


In order to avail yourself of Globus, you must first create an account (including your user name and password) by going to https://www.globus.org/signup. Globus moves data between "endpoints", now called "Collections". The endpoints for the resources you'll be using for transferring data need to be added to your account. After logging into the globus.org website, click on "File Manager" and type "Columbia Dixon" into the "Collections" field. You should then see a "Columbia Dixon" endpoint which should be selected.

If you're copying to your own machine, you will need to create your own endpoint on the machine from which or to which you will be transferring data to and from Free Tier. In order to do this, you'll need to download and run 'Globus Connect Personal' as described in:


https://www.globus.org/globus-connect-personal


Choose between Mac, Linux, or Windows, and follow the instructions for the download.


Once you run the downloaded software, you will be able to, via the online interface, enter the two endpoints of your transfer, specify the paths of the files/directories on the source and destination systems, and launch the transfer. Once it starts, it will take place in the background and you do not need to supervise it or even be logged in. However, please keep in mind that your access to Free Tier needs to be authenticated (with your regular UNI password), and then possibly re-authenticated at times.


Globus is a fairly sophisticated system that allows you also to work via Command Line Interface and programming API, and has other useful features. For details, please visit the globusonline.org site.


You can also create public or private Globus file shares to share files or code with colleagues and researchers as illustrated by Globus.

/wiki/spaces/rcs/pages/62139059


See the /wiki/spaces/rcs/pages/62139059 page.


Managing Jobs


To view all jobs on the system, use the squeue command.


$ squeue


To view information about a particular job, use scontrol.


$ scontrol show job [job ID]


To cancel a job, use scancel.


$ scancel [job ID]


To view fair share information, use sshare.


$ sshare


Free Tier commands (and their correspondence to Yeti commands)


Slurm commands differ substantially both in syntax and underlying approach from those of Torque/Moab used on Yeti. Here's a very partial list of useful Slurm commands with their roughly corresponding Yeti equivalents (in comments, along with a brief description)


sbatch       # qsub  (submit a job)


sinfo       # qstat -q  (list of partitions/queues on the cluster)


scontrol show job <jobID>      # checkjob <jobID> (see status of running job)


sacct -j <jobID>      # tracejob [-n<days>] <jobID> (see status of completed job)


scontrol show node <nodeName>      # checknode <nodeName> (information about a node)


sshare      # mdiag -f (information fair share)


Each command on both systems is naturally replete with flags and optional arguments which customize its functionality. For reference on Slurm. please refer to:


Slurm reference


Using Groups for Collaborative Research


Researchers will often wish to share access to a set of directories and files with a group of users. One mechanism that can be used to accomplish this is Unix groups. Free Tier users can create and modify groups without assistance from HPC support by using the group command on Cunix.


To use the group command log in to cunix.columbia.edu. The group command is not available on Free Tier itself.


To view group members and owners:


$ group -i <GROUP_NAME>


To add a user ("member") to a group:


$ group -m <GROUP_NAME> <UNI>


To remove a user from a group:


$ group -M <GROUP_NAME> <UNI>


Note that existing user sessions will not be affected by changes in group membership. If a user is added or removed from a group they will have to log out and log back in to Free Tier. Note also that in some cases group changes can take up to an hour to propagate to Free Tier.


There are many ways to view your group membership. One way is to use the groups command.


$ groups
user habaapam apam


Once a group has been created and users have been added, group members can use the chgrp and chmod commands to set group ownership and permissions on files and directories to values appropriate for sharing. For more information see the manual pages for the two commands.


$ man chgrp
$ man chmod