NERSC logo National Energy Research Scientific Computing Center
  A DOE Office of Science User Facility
  at Lawrence Berkeley National Laboratory

Franklin User Environment

Operating System

Franklin's service nodes (login, network, I/O, and system nodes) run a full-featured standard SuSE Linux.

Franklin's compute nodes run a light weight Linux-based OS, Compute Node Linux (CNL), which is optimized for application performance. CNL interacts with with an application process in a limited way, including managing virtual memory addressing, providing memory protection and performing basic scheduling. CNL reduces system overhead, ensures reproducible run-times for MPP jobs, and high performance, low latency MPI and SHMEM communications, which are critical for the system to scale to thousands of processors.

User Environment

Third-party and public domain software installed and managed by NERSC's User Services Group (USG) is accessible through the module system. Most third-party software is not in the default command search path; the corresponding module must be loaded to use the software.

Shell Initialization Files

Environment initialization files ("dot-files") in home directories have been configured for maximum flexibility and ease of maintenance, both for the user and for NERSC staff. A long listing of a newly-created home directory (for user aaa) should look similar to this:

% ls -al
total 156
drwx------  4 aaa  aaa  4096 Feb  2 13:39 .
drwxr-xr-x  3 bin  bin  4096 Feb  2 13:39 ..
lrwxrwxrwx  1 aaa  aaa    38 Feb  2 13:39 .bash_profile -> /usr/common/usg/etc/skel/.bash_profile
-rw-------  1 aaa  aaa   157 Feb  2 13:39 .bash_profile.ext
lrwxrwxrwx  1 aaa  aaa    32 Feb  2 13:39 .bashrc -> /usr/common/usg/etc/skel/.bashrc
-rw-------  1 aaa  aaa   141 Feb  2 13:39 .bashrc.ext
lrwxrwxrwx  1 aaa  aaa    31 Feb  2 13:39 .cshrc -> /usr/common/usg/etc/skel/.cshrc
-rw-------  1 aaa  aaa   160 Feb  2 13:39 .cshrc.ext
lrwxrwxrwx  1 aaa  aaa    31 Feb  2 13:39 .kshrc -> /usr/common/usg/etc/skel/.kshrc
-rw-------  1 aaa  aaa   138 Feb  2 13:39 .kshrc.ext
lrwxrwxrwx  1 aaa  aaa    31 Feb  2 13:39 .login -> /usr/common/usg/etc/skel/.login
-rw-------  1 aaa  aaa   159 Feb  2 13:39 .login.ext
lrwxrwxrwx  1 aaa  aaa    33 Feb  2 13:39 .profile -> /usr/common/usg/etc/skel/.profile
-rw-------  1 aaa  aaa   144 Feb  2 13:39 .profile.ext
lrwxrwxrwx  1 aaa  aaa    32 Feb  2 13:39 .tcshrc -> /usr/common/usg/etc/skel/.tcshrc
-rw-------  1 aaa  aaa   162 Feb  2 13:39 .tcshrc.ext

The files .bash_profile, .bashrc, .cshrc, .kshenv, .login, .profile, and .tcshrc are links to read-only files, and should not be deleted. All individual customizations (aliases, environment variables, etc.) should be made in the files named .bashrc.ext, .cshrc.ext, .kshenv.ext, .login.ext, .profile.ext, and .tcshrc.ext. These .ext files are sourced by the corresponding dot-files.

If these links and .ext files are missing, please run the fixdots, as shown below, to re-create them; then log out and log in again. All current dot files will be saved in a directory named $HOME/KeepDots.$Current_Time.

% /usr/common/usg/bin/fixdots

After running the fixdots tool, modify the appropriate .ext files to customize the login shell, using the settings saved in the KeepDots directory.

Shells

The default login shell for all new accounts on Franklin is C-shell (csh). Other available login shells are bash, csh, ksh, and sh. Users may not change their login shell directly on Franklin; NIM is used to accomplish this function. See Change Default Login Shell.

Default Programming Environment

Upon login, the example list of the default modules being loaded are:
(Note: Please do not unload these modules unless being swapped to suitable equivalents!)

% module list 
Currently Loaded Modulefiles:
  1) modules/3.1.6.5                     11) xt-boot/2.1.50HDB_PS13A
  2) moab/5.2.5                          12) xt-lustre-ss/2.1.50HDB_PS13A_1.6.5
  3) torque/2.4.1b1-snap.200905131530    13) Base-opts/2.1.50HDB_PS13A
  4) xt-asyncpe/3.3                      14) pgi/9.0.4
  5) xtpe-barcelona                      15) xt-libsci/10.4.0
  6) xtpe-target-cnl                     16) xt-mpt/3.5.0
  7) MySQL/5.0.45                        17) xt-pe/2.1.50HDB_PS13A
  8) xt-service/2.1.50HDB_PS13A          18) PrgEnv-pgi/2.1.50HDB_PS13A
  9) xt-libc/2.1.50HDB_PS13A             19) null
 10) xt-os/2.1.50HDB_PS13A               

The default programming environment is PGI (via module PrgEnv-pgi). The default PGI compiler version (in this example, pgi/7.0.7) is also loaded.

Other loaded modules include Torque/Moab for batch system management (via modules torque and moab), Message Passing Tool Kit (via module xt-mpt) for MPI, Shmem, and OpenMP libraries, Cray LibSci math and scientific libraries (via module libsci), CNL glibc functions (via module xt-libc), and Lustre support (via module xt-lustre-ss).

There are a few options for the command "module avail":

  • module avail or module avail -A lists all available modules.
  • module avail -U lists all user modules.
  • module avail -L lists all library modules.
  • module avail -T lists all tool modules.
  • module avail -P lists all programming environment modules.
  • module avail -X lists all target modules.

Process Limits

The following process limits are enforced on the Franklin login nodes:

   cputime	60 min
   datasize	soft limit 1 GB, hard limit 2 GB
   stacksize	soft limit 128 MB, hard limit 256 MB
   memoryuse	soft limit 1 GB, hard limit 2 GB
   vmemoryuse	soft limit 2 GB, hard limit 2 GB
   maxproc      soft limit 150, hard limit 200


LBNL Home
Page last modified: Fri, 18 Dec 2009 21:51:27 GMT
Page URL: http://www.nersc.gov/nusers/systems/franklin/env.php
Web contact: webmaster@nersc.gov
Computing questions: consult@nersc.gov

Privacy and Security Notice
DOE Office of Science