Group File Sharing

The purpose of a group is to share files with multiple users. Groups work well for researchers who share common datasets and/or development code. Groups also serve as a mechanism for faculty to easily access research data produced by student researchers, and retain it after students have graduated and left the university.

FSL Group Filesharing Overview:

  • Groups allow multiple users to view/edit/write files to a common directory
  • An individual user can own up to 4 groups.
  • The group owner controls which users have access to group files.
  • A user can be a member of up to 12 different groups.
  • Group directories have a default quota of 40GB and data IS BACKED UP.
  • The group compute directory uses the scratch disk, has a much larger quota, and is NOT BACKED UP.
  • Some coordination must occur between users to prevent data corruption.

Be aware that within a group folder, multiple users can access, read, and write to the same files simultaneously. If more than one process is writing to the same file at the same time, the file will become corrupted and unrecoverable except through a restore from backup, if the backup exists.

Group Directories

Suppose user freddie is a member of groups fslg_namd and fslg_qscat. These would be the associated directories:

User Home Directory: /fslhome/freddie
Group Directory: /fslgroup/fslg_namd
Group Directory: /fslgroup/fslg_qscat
Group Compute Directory: /scr/fslgroup/fslg_namd
Group Compute Directory: /scr/fslgroup/fslg_qscat

For convenience, links will be put in freddie's home directory for easy access to group directories:

Directory Containing Group Links: /fslhome/freddie/fsl_groups
Group Directory (link) /fslhome/freddie/fsl_groups/fslg_namd
Group Directory (link) /fslhome/freddie/fsl_groups/fslg_qscat
Group Compute Directory (link) /fslhome/freddie/fsl_groups/fslg_namd/compute
Group Compute Directory (link) /fslhome/freddie/fsl_groups/fslg_qscat/compute

Requesting Group Filespace

The prefix fslg_ will be added to all group names.

Create a group. Enter a name for the group and submit the form. Note that fslg_ is prepended to group names. Initial propagation of group folders and permissions across all FSL systems could take 15 minutes. You must log out of existing ssh sessions then log back in. Use the `groups` command after re-logging in to check if the group is ready to use. Repeat the process until it is available.

Managing Group Members

Once the group is created, click on File Sharing Groups in the left Navigation Column. You will see a list of all groups you are a member of. Click on the group to be modified. Follow the on screen directions to add or remove FSL users from your group.


Tips

  • To set the output of your jobs to be accessible by other users in your group, it is recommended that you add the following lines to your submission scripts: #SBATCH --gid=fslg_MYGROUP. See the Slurm Script Generator for examples of how to do this.
  • You can see your quota and consumption by running the fslquota command on any interactive node.

Caveats

Running your jobs under a different group can cause some interesting debugging problems. ptrace functionality may not work correctly:

$ gdb ./prog -p 1234
...
ptrace: Operation not permitted.

$ strace -p 1234
attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted

This is because ptrace expects the UID and primary GID to match that of the target process. To debug a job running as group fslg_MYGROUP, run newgrp fslg_MYGROUP. This will place you in a new shell with fslg_MYGROUP as your primary group (compare `id` output before and after). gdb and strace should then work with -p.