Distributed Storage Systems Class Machines

We have a number of dedicated servers on which students can do their lab assignments. The machines are named classN.scs.stanford.edu for N between 1 and 5. When first starting out, you should generally log into class.scs.stanford.edu which will automatically select an unloaded machine.

Your logname and password on these machines should be what you specified on the first day of class. If not, please contact the instructor.

After logging in for the first time, please change your password by running the passwd command (which may ask you to type your existing password twice).

Logging into the class machines from Unix workstations

You can log into the class machines from any Unix workstation using the ssh command. For example, if your username is ``student'', you can run the command:
sunburn 1% ssh class.scs.stanford.edu -l student
student@class.scs.stanford.edu's password: 
Authentication successful.
Last login: Thu Jan 12 15:22:55 2006 from mission.scs.stanford.edu
If you are using X-windows, ssh can forward connections to your X-server. If your ssh is not configured to do this by default, use the -Y flag. For older versions of ssh, you will need to use the -X (capital X) flag. When X is forwarded, your DISPLAY environment variable should be automatically set.
sunburn 1% ssh -Y student@class.scs.stanford.edu
student@class.scs.stanford.edu's password: 
Authentication successful.
Last login: Mon Jan 15 18:39:16 2001 from orchard.scs.cs.n
class2 1% echo $DISPLAY
class2 2% 

Logging into the class machines from Windows

It is probably easiest to work from a Unix workstation, but you can also access the servers using Windows SSH clients. If you don't have an SSH client, there are several free software packages you can install:

Logging into the class machines from MacOS

New versions of MacOS may already come with SSH. If not, Nifty Telnet SSH is a free SSH client for MacOS. It has a good reputation, but the author of this web page has not used it. You need Stuffit Expander to install Nifty Telnet SSH.

Note: some versions of MacOS X apparently set the DISPLAY environment variable to the value 0:0, which confuses the ssh client. If this is the case, you will need to change the DISPLAY to :0 before running ssh. Do so with the command export DISPLAY=:0 for sh/bash or setenv DISPLAY :0 for csh/tcsh.

Copying files to and from the class machines

You can copy files to and from the class machines using the scp program which comes with ssh. For example, to copy the file testfile to the work/ subdirectory of your home directory on the class machines, you can run the following:

sunburn 1% scp testfile dm@class2.scs.stanford.edu:work/
scp: warning: Executing scp1 compatibility.
Host key not found from the list of known hosts.
Are you sure you want to continue connecting (yes/no)? yes
Host 'class2.scs.stanford.edu' added to the list of known hosts.
dm@class2.scs.stanford.edu's password: 
testfile                  |          1 KB |   1.0 kB/s | ETA: 00:00:00 | 100%

sunburn 2%                                                               

Newer versions of SSH also come with a utility called sftp, which acts like the ftp file transfer utility. Some people may prefer this interface.

Finding a lightly loaded machine

If everyone uses the same machine to compile, things will get quite slow. However, by specifying the machine name class.scs.stanford.edu you will automatically get a lightly-loaded machine. You can also manually look for an unused machine with the ruptime command. For example:
class2 1% ruptime
class1        up   3+01:12,     3 users,  load 0.25, 0.13, 0.13
class2        up   3+02:58,     1 user,   load 0.10, 0.09, 0.08
class3        up   3+02:57,     0 users,  load 0.10, 0.09, 0.08
class4        up   3+02:57,     0 users,  load 0.12, 0.09, 0.08
class5        up   3+02:56,     0 users,  load 0.07, 0.08, 0.08
class2 2% 
This shows that machines class3, class4, and class5 are unused.

Using local disk space

You will be compiling large programs for this class. It can be very slow to compile large programs over a network file system. You can therefore use local scratch space on all the class machines. On machine classN, you can make yourself a local scratch directory under /home/clN/scratch. (These directories are accessible from all the machines, but it is fastest to use local disk space.) Note that these directories are not backed up. Never leave important files in the scratch directories. The scratch space is meant for things like compiler output that can be recreated if necessary.

Using the X-windows system from Windows or MacOS

Since your assignments will mostly be in the Unix environment, you may find it convenient to run the X-windows system to have multiple unix windows open on various machines. You have two options for running X-windows.