Working in the RCE

This guide provides information about basic features and functions that might be useful when you begin working within the RCE. Ready to get started? Follow the menu items on the left to learn the RCE basics.

RCE Basics

Desktop

screen_shot_2013-11-01_at_11.45.13_am.pngWhen you open the RCE, the desktop is displayed in a window. The open area in the RCE window, the icons on it, the toolbar and toolbar icons, and the workspaces together comprise the RCE. The term desktop sometimes refers to the open space in the RCE window, but this guide refers to that area as the workspace.

Mouse

RCE documentation often assumes use of a thee-button mouse. The buttons sometimes are named left-mouse, middle-mouse, and right-mouse. If you use a two-button mouse, you can emulate middle-mouse by pressing left-mouse and right-mouse simultaneously. If you use a wheel mouse, the wheel functions as middle-mouse. Functions available for each mouse button are as follows:

  • Left-mouse - Select text, select items, drag items, activate items
  • Middle-mouse - Paste text, move items, move windows to the back
  • Right-mouse - Open a context menu for an item (if a menu applies)

Note: You can switch button assignments if you are left-handed. In the RCE, choose SystemsPreferencesMouseGeneral.

Workspaces

A workspace is a distinct and separate area in the RCE, which provides a convenient tool for organizing work in progress. You can open more than one application in the default workspace, or you can open applications in different workspaces and move from one workspace to the other. Click the gray tabs in the lower-right corner of the RCE to move among your workspaces. To move open applications between workspaces, drag the application's icon from one workspace tab to another.

Directories

- jsmith
|- bin (directory for user built packages)
|- cvswork (the CVS working directory)
|- Desktop
|- lib (directory for user built packages)
|- man (directory for user built packages)
|- printjobs (documents printed to a PDF file)
|- public_html (old web hosting folder; service is no longer available)
|- pylib (custom Python libraries)
|- shared_space (symbolic links to project and web spaces)

All home directories are kept on storage separate from the RCE and cluster, so that you can access files no matter which server you are logged in to.

  • Your home directory is located at ~/ or /nfs/home/J/jsmith
  • Project space is located at /nfs/projects{_ci3,_nobackup,_nobackup_ci3}/j/jsmith
  • Shortcuts to your project space are located at ~/shared_space/my_project_name/
  • Backups are located in every directory, and kept in hidden directories named .snapshot

Projects & Shared Space

Project space can be used privately, or shared with collaborators (hence the name, "shared space"). Because our researchers bring confidential data to the RCE, we keep all project space separate from your home directory. There are four types of project space:

  • Project space with long-term backups
  • Project space without long-term backups
  • Confidential project space with long-term backups
  • Confidential project space without long-term backups

When you apply for an RCE account, you are asked which category would best suit your needs. Therefore, you should know ahead of time if your data is rated as confidential information by your IRB.

HMDC offers two backup plans for your data. If you have large data sets, there is a nominal fee involved; please contact us for more information.

Project Backups

  • Monthly full backups and daily incremental backups to tape, available up to three (3) months. Recovery from tape backup can take anywhere from a few hours to over a day.
  • Multiple hourly snapshots, multiple daily snapshots, plus a single weekly snapshot. Recovery from snapshots take only a few minutes and is accessible directly to the researchers, look for a hidden .snapshot folder (note the dot).

No Project Backups

  • No tape backups.
  • Weekly snapshot. Data must reside on disk for at least one week, after which the researcher can recover data up to a week.

Locating Project Space

Home directories are always named with your username, and can be found at /nfs/home/J/jsmith/, or by using the tilde shortcut: ~/. Personal project space is also named after your username (jsmith in this example), but shared space can take any name. It will be located depending on the type of project space you requested:

  • Project space with backups: /nfs/projects/p/projectname
  • Project space without backups: /nfs/projects_nobackup/p/projectname
  • Confidential project space with backups: /nfs/projects_ci3/p/projectname
  • Confidential project space without backups: /nfs/projects_nobackup_ci3/p/projectname

(In this example, ci3 denotes level 3 confidential data. For more information on security ratings, see Harvards data classification table.)

To make accessing your project space easier, a shortcut (called a symbolic link, or symlink) is created in your home directory in ~/shared_space/. In this directory, you will find symlinks to all the projects of which you are a member. For example, as a researcher, I may store my raw data in ~/shared_space/ci3_politicalfunds/data/ and my output in ~/shared_space/ci3_politicalfunds/output/. I could then additionally access my output from /nfs/projects_ci3/p/ci3_politicalfunds/output/....

You are welcome to create your own symlinks! In this example, I want a shortcut to my project space on the desktop, for easier access in my NX session. From a terminal, I would execute this command: ln -s ~/Desktop/politicalfunds /nfs/projects_ci3/p/ci3_politicalfunds (please take note there is no trailing slash).

NOTICE: Do not use your home directory to store IRB-rated confidential (i.e. level 3) data, as home directories do not have the same security applied as project spaces. You should also avoid saving large files to your home directory as there is a 2GB quota (and exceeding that quota will prevent new NX sessions) however all project directories have individual quotas.

Project Space Collaboration

Making files group writeable in your project space

If you create files in a project space, the default is to create files that your whole project group can read, but only you can modify. We run an automatic nightly process to ensure that whatever permissions you have on files in your project space, they are also granted to your project group. Any project files you can modify will become group-modifiable, and any project files you can execute will become group-executable.

In order to grant group writeable permissions immediately (to other members of your shared_space project), please do the following:

  1. Open a terminal window from ApplicationsAccessoriesTerminal
  2. Determine which project directory you wish to modify: ls ~/shared_space/
  3. Run the script: fixGroupPerm.sh
  4. You will be prompted for the project directory name. This is a directory located under ~/shared_space/, which you obtained in step 2.

Running this script will grant writeable permissions to all files under this location. Please give this script only one argument (i.e. one project space at a time).

You will need to run this command after each time you create files in your shared project space in order to grant your collaborators the same level of access you have. If you are running a script to create the files (e.g. R code, or a Stata .do file), it may be simplest to add a call to the fixGroupPerms.sh script at the end of your code.

Configure your default file sharing preferences

If most or all of your work in the RCE is done in collaborative project spaces, you may want to change the default file creation mode (i.e. the file access permissions) for your RCE account so that all files you create can be modified by members of the group which owns them. If you decide to pursue this option, two important caveats apply:

  1. This change only affects the default access mode assigned to newly-created files. The application creating the file can override the default to set a more restrictive access mode on the files.
  2. The access mode on the files/directories you create apply to whichever group owns the file/directory, which may or may not be your collaborative group.

Other notes regarding file permissions:

  • You can run the command ls -l on a file to view its ownership. Group ownership will be displayed in the fourth column.
  • If you are creating files under ~/shared_space, then they should automatically be created with ownership by your collaborative group.
  • If you create files in your home directory, however, they will be owned by the "users" group and the access permissions (e.g. allow read/write/access by the group) will apply to all RCE users.
  • Restricting access to your home directory itself can help limit the impact of such an exposure.

If you understand and accept these caveats, you can proceed to change your default file creation mode for your RCE account by doing the following:

  1. Navigate to ApplicationsRCE UtilitiesFile Sharing Config Helper
  2. Choose the option for 002.
  3. This can also be run from a terminal window with the command fileSharing.
  4. Terminate your current RCE session and start a new RCE session.

Working With Your Jobs

Overview

When you run an RCE Powered Application, you must request a certain amount of processors and memory. If the amount you requested is available, a job is created on the cluster. It is not tied to your desktop session; if you terminate your session, or your NoMachine desktop becomes unusable, your job is it retrievable. Below are some tips on managing your RCE jobs.

Checking Resources

Submitting Interactive Jobs

RCE cluster interactive jobs are persistent and come without lease periods, so you never have to request job extensions. However, after a three day idle period in which there has been no activity, your job becomes preempt-able, and may be terminated to make sure resources are fairly shared. See our documentation for more information.

You will receive email notices if your job becomes idle; an example is below:

Dear <username>,

Your RCE powered job xstata-mp 14.0 has been idle for 2 days. If your job
remains idle for three or more days, your job will become preemptible.

Under conditions of RCE cluster saturation, RCE powered jobs, idle for
three or more days, can be pre-empted in order to satisfy resource
requirements of newly submitted RCE powered jobs. If your RCE powered
job is pre-empted, you will lose all currently unsaved work within that
job. If you don't plan on actively utilizing xstata-mp 14.0 within the next
day, please make sure to save your work or terminate your job if you've
successfully accomplished your tasks. Otherwise, using xstata-mp within the
next 24 hours will stave off pre-emptability for another two days.

Monitoring Your Job

  • From a desktop NX session: Applications > RCE Utilities > SSH to RCE job server
  • From a terminal: condor_ssh_to_job_util

Finding and Retrieving Your Job

  • From a desktop NX session: Applications > RCE Utilities > Attach all jobs
  • From a terminal: condor_q username