Using the Wisconsin Undergraduate Research Cluster(WURC)
Wisconsin Undergraduate Research Cluster
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.
The operating system on the WURC is currently Ubuntu 20.04, Focal Fossa.
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
- python (2.7 and 3)
To connect to the WURC, a user must have the following:
- A valid University Of Wisconsin-Madison netid and password
- A network connection on a University Of Wisconsin-Madison network (including Eduroam and WiscVPN)
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 10 has a built-in, optional ssh client. To install it, do the following:
- Click Settings or press Windows+i to open the Settings app.
- Click 'Apps'
- Select 'Manage optional features'
- Click the 'Add a Feature' button.
- 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 <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:
- Switch to a Finder window and open the Utilities folder. The shortcut key to open the Utilities folder is Command+Shift+u.
- Click on the Terminal app.
- In the terminal window, type "ssh <netid>@wurc.math.wisc.edu".
- The first time you connect, you will be prompted to accept the server key. Type "yes" to accept the key.
- 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.
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:
- Red Hat: sudo yum -y install openssh-client
- Debian and Ubuntu: sudo apt-get -y install openssh-client
To connect to the WURC from a Linux computer using ssh, do the following:
- Open a terminal window by pressing Alt+Super+t
- Type, "ssh <netid<>@wurc.math.wisc.edu"
- You will then be prompted for a password. Enter your UW netid password.
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:
- Log onto the WURC as usual with your netid and password.
- 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.
- Change to the .ssh folder, "cd .ssh".
- Create a file called authorized_keys by copying the file id_rsa.pub to it, "cp id_rsa.pub authorized_keys".
- Log out of the WURC by typing, "exit".
- 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.
- Change to the .ssh subfolder, "cd .ssh".
- Connect to the WURC via sftp, "sftp <netid>@wurc.math.wisc.edu". You will still have to enter your netid password at this point.
- Copy the key pair back to your local machine, "get .ssh/id_rsa*".
- Exit sftp by typing exit. You should now be able to connect to the WURC via either ssh or sftp without retyping your password.
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.
- Install winfsp.
- Install sshfs-win.
- Mount the network drive using either Windows Explorer or the 'net use' command.
- In Windows Explorer select "This PC" then select "Map Network Drive". Select a network drive letter. In the folder field, enter "\\sshfs\<netid>@wurc.math.wisc.edu".
- 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
- 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.
- brew cask install osxfuse
- brew install sshfs
- Create a mount point for the network file system. In a terminal window, type "mkdir wurc".
- In a terminal window type, "sshfs <netid>@wurc.math.wisc.edu .wurc".
- Install sshfs from the package repository for your Linux distro.
- Red Hat: "yum install sshfs"
- Debian/Ubuntu: "apt-get install sshfs"
- Create a mount point for the network drive, "mkdir wurc".
- Mount the network drive, "sshfs <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 WURCk as a network drive, you can edit and debug your code from your desktop.