Linux Services

Thayer School offers several different options for using Linux. The Linux Computer Lab in Cummings 218 provides full graphical clients, and several compute servers provide ssh and sftp access for long-term computations, remote access, and file transfer.

User Name and Password

All Linux systems use ThayerFS, so you should authenticate with your NetID password. Be sure to use all lower-case characters for your NetID on linux systems - they will not recognize it otherwise. See NetID Username and Managing Passwords for details about these credentials.

Linux Computer Lab

The Linux Computer Lab is located in Cummings 218 with eight graphical clients. These workstations are for interactive sessions only - after 30 minutes of idle time, other users will have the option of logging off your idle session. If you are running long-term computations or simulations, please use one of our compute servers listed below.

Linux Compute Servers

If you use these servers, please make sure you read and understand Thayer Compute Server Etiquette

Thayer School also operates and maintains several high-end compute servers. These servers are available to all Thayer users, and are a much better choice for intensive computation as they have faster processors and more memory than Computer Lab systems. You can access the servers via an ssh session, using the same authentication as other Thayer systems.

Names of these servers are:

  • babylon1
  • babylon2
  • babylon3
  • babylon4
  • babylon5
  • babylon6
  • babylon7
  • babylon8

In addition, the server zog can be used for debugging, sftp, or other general use. It has much slower processors and less memory that the other servers. For high-cpu and/or high-memory use, please use one of the babylon servers.

From outside of Thayer, including the rest of the Dartmouth campus or VPN, you will need to use the "fully-qualified" name to reach these servers. The fully-qualified name is the server name with ".thayer.dartmouth.edu" appended to it. For example, the fully-qualified name for zog is zog.thayer.dartmouth.edu

Connecting

The simplest way to connect to our Compute Servers is to use ssh. For more information about how to use and/or install ssh, see this page: Secure Shell and Secure FTP

If you need to use graphical applications, and your system has an X Server ( X11 for Windows and Mac), you can add the -X option to ssh to display the graphics on your machine. For example:

ssh -X d12345q@babylon1.thayer.dartmouth.edu

If you are using PuTTY, you need to make sure your X Server is running and then enable it in your PuTTY connection configuration by checking the "Enable X11 Forwarding" checkbox under Connection->SSH->X11.

Another method that can be used to run a full graphical desktop remotely is X2Go. This allows you to disconnect from and reconnect to open sessions, and can be much faster that X11 forwarding, especially over slower connections. For more information about downloading and setting up X2Go, see this page: X2Go

Cluster Usage Checking

To determine the usage of our linux compute clusters, we have developed two tools. This information is useful in determining on which compute server you may wish to run your job(s).

  • Command-line tool

    From any ThayerFS linux client, you can use the following command:

    tfsusage compute
    	

    This will print a table showing current utilization of the compute cluster.

ThayerFS

All Linux Computer Lab clients and compute servers communicate with ThayerFS using kerberized NFS4. Once you log in, you are in your home directory, which is located at the following path:

/thayerfs/home/d12345q

The other ThayerFS shares are all located under /thayerfs:

/thayerfs/common /thayerfs/courses /thayerfs/research

Linux Basics

If you are new to Linux and would like a basic introduction the the filesystem and commands, please see our Linux Basics page.

Software

All Linux Computer Lab clients and compute servers run Ubuntu Linux version 14.04 (trusty).

A full complement of standard linux utilities, libraries and compilers are installed on all computers. In addition, there are several Engineering applications available in /thayerfs/apps. These are available via the "Thayer" menu or at the command line. Here is a current list of these applications:

  • ANSYS Workbench/Fluent 17.1
  • Cadence
  • COMSOL 4.4
  • Eclipse 4.6.3 (Neon.3)
  • IDL 8.5
  • Maple 2016.2
  • Mathematica 11.0.1
  • Matlab / Simulink R2016b
  • ParaView 5.3.0
  • SageMath 7.6.0
  • Synopsys Sentaurus PCM Studio F-2011.06
  • Synopsys Sentaurus Workbench E-2010.12-SP1
  • Synopsys TCAD G-2012.06
  • Tecplot 360 2012 R1
  • TotalView 2016.06.21
  • Oregano 0.70 (spice GUI)
  • VisIt 2.12.1
  • Xilinx Vivado 2016.2

LaTeX

The Thayer School linux clients have several tools available to create and compile LaTeX documents. For more information, please see our LaTeX page.

Compilers

Open Source Compilers

Currently, our linux systems have the following open-source compilers installed:

  • gcc 4.8.2 (/usr/bin/gcc) - C compiler
  • g++ 4.8.2 (/usr/bin/g++) - C++ compiler
  • gfortran 4.8.2 (/usr/bin/gfortran) - Fortran 90/95 and Fortran 2003 compiler

Another Fortran 95/2003 compiler is G95, available at: http://www.g95.org/. This is not currently installed on our systems, but can be downloaded and used from within any directory to which you have access.

Intel Compilers

We also have two floating licenses for both the Intel C++ and Intel Fortran compilers. The compilers, as well as the debuggers and IPP and MKL libraries are located in /thayerfs/apps/intel.

The easiest way to use these compilers is to use our script to set up your environment variables and path. You can either type at a shell prompt, or add to your .bashrc file, the following line:

source /thayerfs/apps/other/intelvars.sh

Current versions of the compilers and libraries are:

  • C++ Compiler - 11.0.081
  • Fortran Compiler - 11.0.081
  • Intel Debugger - 11.0.081
  • IPP Library - 6.0.2.076
  • MKL Library - 10.1.1.019

AMD Core Math Library (ACML)

The AMD Core Math Library (ACML) is installed on thayerfs, located at /thayerfs/apps/acml. These libraries provide highly-optimized LAPACK, BLAS, and FFT functions for use in Fortran programs. More information and specifics about ACML can be found at AMD's web site: http://developer.amd.com/tools-and-sdks/cpu-development/amd-core-math-library-acml/

MPI (Message Passing Interface)

We have installed OpenMPI ( http://www.open-mpi.org/) on our linux systems for use with MPI software. MPI allows many processes spread across multiple CPUs and multiple systems to pass messages and data between them to work on parallel computations. For more information about our MPI implementation, please see our Linux MPI page.

Java

All of our systems have OpenJDK installed, which is an open-source version of Java and should be compatible with most Java applications. If you need the official Oracle Java, we have installed it in /thayerfs/apps/jdk. To use this java version as the default, you need to source the following file:

$ source oracle_java_vars.sh

This will set the JAVA_HOME variable and add the Oracle Java binary directory to your path. This command can also be added to your .bashrc file if you would like this change to be made every time you log in.

Currently, the default Java JDK is version 8. If you need version 7, this is installed in /thayerfs/apps/jdk7. To use this as your default, source a different file:

$ source oracle_java7_vars.sh

Customization

Due to limitations with our current authentication infrastructure, all users default to the bash shell. If you would like default startup scripts for this shell, you can copy them into your home directory with the following command:

d12345q@zog:~$ copy_skel

This will copy the following files into your home directory:

.bash_logout .bashrc .profile

If you would prefer a different shell - csh, tcsh or ksh - you should add a line to the end of your .bashrc file to execute this shell. For example, if you prefer tcsh, add the following as the last line in your .profile file:

/usr/bin/tcsh

Kerberos Tickets

All Linux computers use kerberized NFS4 to communicate with ThayerFS, which requires the use of Kerberos 5 for authentication and authorization. When you log into one of the Linux clients or compute servers, you will get a kerberos ticket which expires in ten hours. By default, however, a program is run at each login that will automatically renew this ticket up to a maximum of seven days. At the end of the seven days, your session will not end, but you will no longer have access to ThayerFS in that session. You can check the current status of your Kerberos tickets with the 'klist' command:

$ klist 
Ticket cache: FILE:/tmp/krb5cc_12345_ZEqsjY 
Default principal: d12345q@KIEWIT.DARTMOUTH.EDU  
Valid starting     Expires            Service principal
11/20/06 11:00:00  11/20/06 21:00:00  krbtgt/KIEWIT.DARTMOUTH.EDU@KIEWIT.DARTMOUTH.EDU
         renew until 11/27/06 11:00:00  

Kerberos 4 ticket cache: /tmp/tkt12345 klist: You have no tickets cached

The first line shows the status of the current ticket, and the "renew until" line shows the final seven-day renewal limit of your ticket. You can ignore the lines about Kerberos 4 - we are not using this.

To renew a ticket manually, you can type the command 'kinit -R'. If you are nearing the renewal limit or have already passed it, you can obtain a new ticket with a new seven-day renewal limit by simply typing the command 'kinit' - you will be prompted for your password.

Long-Running Processes

To initiate a long-running process, you will need to use the 'krenew' utility. If your process can run detached without need for stdin or stdout, it can be run with the following command:

$ krenew -b foo

where 'foo' is the name of your long-running process. This process will be run in the background, and krenew will automatically renew kerberos tickets for this process for up to seven days. At final expiration of the kerberos tickets after seven days, the process will be terminated.

If your long-running process needs stdin and/or stdout, we recommend using the 'screen' utility. Screen is a terminal muliplexer which gives you a persistent terminal session which can be detached and re-attached over logouts and logins. To start a screen session, simply type:

$ screen

This session behaves like a normal shell, where commands can be run as usual. However, you can also "detach" your screen session, log out of the client, and then log back in later and resume the session. To detach a screen session, type Ctrl-A, followed by the d key. This will detach your screen session and drop you back to your original shell - anything that was running in the screen session will continue to run. You can then log out of the client if you wish. To resume a screen session, type:

$ screen -r

If you have multiple screen instances, they will be displayed, and you will need to select the one to which you'd like to connect. When you are done with a screen session, simply type "exit" or Ctrl-D, and the screen session will terminate.

So, from within this screen session, you can initiate your long-running process:

$ foo < input > output

where 'foo' is the name of your long-running process. Be sure to not use an ampersand (&) to background the process - this will break the automatic credential renewal. This process will interact normally with stdin and stdout, and the krenew that is run when you initiate a new screen will automatically renew kerberos tickets for this process for up to seven days. At final expiration of the kerberos tickets after seven days, the process will be terminated.

Be sure to terminate any old screen processes when you are done with them - many times, old screen processes are left with Matlab running, using up our available licenses.

To terminate old screen processes, connect to them using 'screen -r' terminate any programs running in them, and then type 'exit' or Ctrl-D to exit the screen process.

For more information about krenew or screen, you should read their man pages:

$ man krenew

or

$ man screen

There is also a nice page about both beginning and advanced features of screen here: http://www.ibm.com/developerworks/aix/library/au-gnu_screen/

Ubuntu Mirror

Thayer School provides a local mirror of Ubuntu Linux to computers located at Dartmouth College and DHMC. This local mirror contains all operating system packages, as well as CD images for installation.

CD images for the latest Ubuntu releases are available to the Dartmouth community from our local mirror: http://ubuntu.thayer.dartmouth.edu/iso

The main page of the mirror is located at:
http://ubuntu.thayer.dartmouth.edu/

Still need help? Contact Us Contact Us