Using the Wisconsin Undergraduate Research Cluster(WURC)

From DEV UW-Math Wiki
Revision as of 13:38, 23 August 2022 by Emeitner (talk | contribs) (corrections)
Jump to navigation Jump to search

The Wisconsin Undergraduate Research Cluster is a high-performance parallel computing cluster used for research by undergraduates. It consists of a group of computers, called "nodes", on a local area network with identical software allowing processing to be shared among the nodes. (This is known as a beowulf cluster.)

Operating System

The operating system on the WURC is currently Ubuntu 22.04, "Jammy Jellyfish".

Available Software

The following is a list of some of the major commercial and open-source software packages and tools available on the WURC. This list is necessarily incomplete as the WURC has hundreds of Ubuntu packages installed. When in doubt, the user is encouraged to simply try a command to see if it is already installed. To request additional software, please contact your instructor.

Compilers and Interpreters

  • Intel C++
  • Intel Fortran
  • g++
  • gfortran
  • python (2.7 and 3)
  • perl

Mathematical Packages

  • Bertini2
  • Gap
  • Macaulay2
  • Magma
  • Maple
  • Mathematica
  • Matlab
  • Octave
  • Sage

Getting Access

To connect to the WURC, a user must have the following:

  1. A valid University Of Wisconsin-Madison netid and password
  2. A network connection on a University Of Wisconsin-Madison network (including Eduroam and WiscVPN)
  3. Authorization to access the WURC.

For authorization to access the WURC, see your instructor.

The Servers

There are two servers:

  • wurc1.math.wisc.edu
  • wurc2.math.wisc.edu

When connecting it is recommended to use the host name wurc.math.wisc.edu. This will connect you do one of the above servers, chosen randomly. This helps to distribute the load among the two servers.

Connecting

Connecting With ssh

Secure Shell (ssh) is a cryptographic network protocol for secure remote login and command execution. Implementations of clients for SSH are available in Windows, Macintosh OSX, and Linux.

Windows

Windows 10 has a built-in, optional ssh client. To install it, do the following:

  1. Click Settings or press Windows+i to open the Settings app.
  2. Click 'Apps'
  3. Select 'Optional features'
  4. Click the 'Add a Feature' button.
  5. From the list of features, select 'OpenSSH Client' and click the Install button.

Note that the Openssh Client will not appear on the list if it is already installed. Once the openssh client is installed, you can open a command window and simply type, "ssh your_netid@wurc.math.wisc.edu". The first time you connect, you will be asked to accept the server key. Type yes to accept the key. This message will not appear the next time you connect from the same computer. If it does, consult your instructor. You will then be prompted to enter your netid password.

Another secure login client, SecureCRT, and a secure file transfer client, SecureFX are available through the Campus Software Library. These programs provide a more feature-rich environment than the built-in Windows client. To use SecureCRT and SecureFX, log into the Campus Software Library with your netid and password and follow the instructions for installing SecureCRT and SecureFX. Questions on installing SecureCRT and SecureFX should be directed to the DoIT Help Desk.

Once you have SecureCRT installed, you can connect to the WURC by clicking on quick connect and entering wurc.math.wisc.edu as the host name and your netid as the user name. Change the authentication to password. Do not change any other settings. Enter your netid password when prompted.

Macintosh OSX:

Macintosh OSX has built-in SSH and SFTP clients. To use these tools, do the following:

  1. Switch to a Finder window and open the Utilities folder. The shortcut key to open the Utilities folder is Command+Shift+u.
  2. Click on the Terminal app.
  3. In the terminal window, type "ssh your_netid@wurc.math.wisc.edu".
  4. The first time you connect, you will be prompted to accept the server key. Type "yes" to accept the key.
  5. You will be prompted to enter a password. Enter your netid password.

The University of Wisconsin-Madison Campus Software Library has versions of SecureCRT and SecureFX for Mac OSX Questions on installing SecureCRT and SecureFX should be directed to the DoIT Help Desk.

Once you have SecureCRT installed, you can connect to the WURC by clicking on quick connect and entering wurc.math.wisc.edu as the host name and your netid as the user name. Change the authentication to password. Do not change any other settings. Enter your netid password when prompted.

Linux:

Linux has built-in SSH and SFTP clients. Most linux distrabutions will install the openssh client by default. If ssh and sftp are not installed on your Linux system, you can install them by doing the following:

  • Debian and Ubuntu: sudo apt-get -y install openssh-client
  • Red Hat: sudo yum -y install openssh-client

To connect to the WURC from a Linux computer using ssh, do the following:

  1. Open a terminal window(try pressing Alt+Super+t)
  2. Type, "ssh your_netid@wurc.math.wisc.edu"
  3. The first time you connect, you will be prompted to accept the server key. Type "yes" to accept the key.
  4. You will then be prompted for a password. Enter your UW netid password.

You can also connect using your file browser to manage your files on the server:

  1. Open the file browser app. Under Ubuntu it's just called "Files"
  2. Press CTRL-L to go to the location entry field
  3. Set it to: ssh://your_netid@wurc.math.wisc.edu/home/your_netid
  4. Press enter.
  5. The first time you connect you may be presented with a notification that "Identity Verification Failed". Click the button to continue logging in.

Using SSH keys

Public key authentication is a way of logging into an SSH server using a cryptographic key pair instead of a password. Besides being convenient, using an ssh key pair makes it impossible for someone to steal your password by looking over your shoulder or by using a key logger. If you frequently use a public computer, in a library for example, you should consider using an ssh key pair for authentication to the WURC. Even if you never use a public computer, you may consider using an SSH key pair just for the convenience.

To begin using an SSH key pair, do the following:

  1. Log onto the WURC as usual with your netid and password.
  2. Type "ssh-keygen". We recommend that you accept the defaults for the type of key and the location. You may add a passphrase to the ssh key although that will make it less convenient to use. If you accepted the defaults, a public/private key pair will be generated in the .ssh folder.
  3. Change to the .ssh folder, "cd .ssh".
  4. Create a file called authorized_keys by copying the file id_rsa.pub to it, "cp id_rsa.pub authorized_keys".
  5. Log out of the WURC by typing, "exit".
  6. Copy the key pair you just generated back into the .ssh folder on your local machine. The next few steps should be the same for Windows, Mac OSX, and Linux.
  7. Change to the .ssh subfolder, "cd .ssh".
  8. Connect to the WURC via sftp, "sftp your_netid@wurc.math.wisc.edu". You will still have to enter your netid password at this point.
  9. Copy the key pair back to your local machine, "get .ssh/id_rsa*".
  10. Exit sftp by typing exit. You should now be able to connect to the WURC via either ssh or sftp without retyping your password.

Using sshfs

Sshfs allows you to mount your home folder on the WURC as a network drive on your local machine. This, in turn, allows you to use an IDE (integrated development environment) or a text editor on your local machine to develop your code. The alternative is to use a text editor like emacs or vi on the WURC to edit your code or to edit the code on your local machine and copy it to the WURC after each change. Using sshfs and an IDE is much more efficient and will greatly increase your productivity. Sshfs clients are available for all three major operating systems, Windows, Mac OSX, and Linux.

Windows

  1. Install winfsp.
  2. Install sshfs-win.
  3. Mount the network drive using either Windows Explorer or the 'net use' command.
    1. In Windows Explorer select "This PC" then select "Map Network Drive". Select a network drive letter. In the folder field, enter "\\sshfs\your_netid@wurc.math.wisc.edu".
    2. Inn the Windows command shell, type, "net use W: \\sshfs\<netid>@wurc.math.wisc.edu".

Note: Sshfs-win does not currently recognize SSH key pairs so you will have to enter your netid password to connect the network drive.

Macintosh OSX

  1. Download and install osxfuse and sshfs from the Fuse For OSX page. If you use homebrew, you can install these packages with the following commands.
    1. brew cask install osxfuse
    2. brew install sshfs
  2. Create a mount point for the network file system. In a terminal window, type "mkdir wurc".
  3. In a terminal window type, "sshfs <netid>@wurc.math.wisc.edu ./wurc".

Linux

First try connecting using built-in SSH support in you file browser - see above. If native support for SSH does not exist in your Linux distribution then try the following.

  1. Install sshfs from the package repository for your Linux distro.
    1. Red Hat: "yum install sshfs"
    2. Debian/Ubuntu: "apt-get install sshfs"
  2. Create a mount point for the network drive, "mkdir wurc".
  3. Mount the network drive, "sshfs your_netid@wurc.math.wisc.edu ./wurc".

Note: If you previously generated and installed an SSH key pair on your Linux system, you will not need to enter your password to mount the network drive.

Integrated Development Environment

An integrated development environment (IDE) is a program to allow you to more easily write computer code. An IDE always has a text editor to allow you to edit your code and will usually include features to guide you in development and debugging. For example, an IDE may have a shortcut key combination to compile and run your code. If you use an sshfs client to map your home directory on the WURC as a network drive, you can edit and debug your code from your desktop.

Recommended IDEs:

  1. Microsoft Visual Studio Code for Windows, Mac OSX, and Linux.
  2. Atom for Linux
  3. Eclipse IDE for Linux, Mac OSX, and Windows.
  4. Geany for Linux, Mac OSX, and Windows.
  5. Emacs for Windows, Mac OSX, and Linux