Start of Main Content

System Description

The Kellogg Linux Cluster (KLC) is a group of 10 high-memory Linux servers, or "nodes," each of which has 1.5 - 2.0 TB of RAM. The latest generation of nodes (klc0304 - klc0307) each have 64 CPU cores, and the next-older generations (klc0201 - klc0303) have 52 CPU cores

Networked storage is shared among all the KLC servers. This includes a private 80 GB home directory for each user and 600 TB of network storage available for project directories, where you can share files with each other.

You connect to KLC by making a secure shell (ssh) connection to a particular node. To help you decide which node to use, the table below shows the amount of CPU and RAM currently available on each node. The links will open a FastX session in your browser that connects to that node.

Why use KLC?

The KLC servers are far more powerful than even top-of-the-line personal workstations. The high amounts of memory, storage, and CPU available there allow you to tackle much bigger computational problems and work with much larger data files than you otherwise would. In addition, because KLC is a shared system, it is well suited for enabling work that is both highly collaborative and easily reproducible.

KLC offers advantages for those who are familiar with Kellogg's high-performance Windows servers. KLC offers the same, vast library of scientific computing software that Northwestern Quest uses. As a Linux-based system, KLC also offers straightforward ways for you to schedule jobs to run at certain times and to script sequences of tasks, both of which can save you effort and help with reproducibility.

Access

KLC is intended for Kellogg researchers and their collaborators. Current tenure-line faculty and PhD students automatically have access. Please contact Kellogg Research Support to request access for others.

Job Priority

Although you can submit as many jobs as you like, each user is allowed to run processes on up to 24 CPU cores concurrently across all the KLC nodes at normal priority. When one goes beyond this limit, all their processes incur a reduction in priority. This is how we protect users from having their work slow down because somebody else is using too much of the system.

If your work needs more than 24 CPU cores at a time, please ask Kellogg Research Support to advise you on your options.

Quest Inter-Operability

KLC is actually a special part of NUIT's Quest High Performance Computing facility. Your files on KLC are also available on Quest, and this connectivity allows you to easily scale your computation up to thousands of cores on Quest, if necessary.

Working with KLC

You have two basic choices for how to connect to a remote server such as KLC.

One option is to use a secure shell (ssh) client. An ssh client will usually give you the option of working either with a point-and-click graphical interface or through a plain-text command line interface. Which ssh client you use depends on whether you are connecting from a Windows or a Mac computer.

Alternatively, you can use FastX as a simple way to get a graphical interface. With FastX, you could open Stata on KLC directly through your web browser, for example, and the experience would be much like running Stata on your personal computer.

Which One Should I Use?

Here are a few considerations to keep in mind when choosing whether to use ssh or FastX.
Graphical interfaces are slower than plain text interfaces are. If you open a program with X11, it might take a few seconds to load when the non-X11 version would load almost instantly. Like the name implies, FastX is relatively fast compared to other X11 tools. So FastX is a wise choice if you want a graphical interface.

Most ssh clients come with file transfer (sftp) capability built into them. With FastX, however, you will need to install and use a separate program (like Cyberduck) in order to move files to and from the KLC servers.

In general, we suggest becoming comfortable making ssh connections and using the command line, at least occasionally. Although point-and-click interfaces are convenient and intuitive, relying on graphical interfaces will present challenges to the future reproducibility of your work.

  • Kellogg Windows computers do not come with a pre-installed ssh client. So you will need to choose one and install it yourself. Research Support staff like to use MobaXterm, which has a very good free version. Because neither Research Support nor KIS can support the MobaXterm application, you should consider purchasing their pro version in order to access technical support. Other popular ssh clients include SecureCRT, PuTTY, and Cygwin.
    The image below shows how you can set up a connection to KLC using MobaXterm. 

    • In the Sessions menu, select SSH.
    • In Remote Host, give the address of the server (klc.northwestern.edu.)
    • Specify your NetID as the username.
    • Under Advanced SSH settings, check the box for X11-Forwarding if you want a graphical interface; leave it unchecked for a plain text interface.

    Notice in the example above, we have previously defined several user sessions. Some use X11 forwarding while others do not. Some connect to the KLC load balancer while others connect to specific nodes. Still others connect to different sessions, such as WRDS. If you work on remote servers regularly, you will find it convenient to save and label a set of commonly used sessions.

  • Getting a FastX graphical interface to a KLC server is as simple as putting your web browser to one of these server addresses. 


    http://klc0301.ci.northwestern.edu:3300

    http://klc0302.ci.northwestern.edu:3300

    http://klc0303.ci.northwestern.edu:3300

    http://klc0304.ci.northwestern.edu:3300

    http://klc0305.ci.northwestern.edu:3300

    http://klc0306.ci.northwestern.edu:3300

    http://klc0307.ci.northwestern.edu:3300

    http://klc0201.ci.northwestern.edu:3300

    http://klc0202.ci.northwestern.edu:3300

    http://klc0203.ci.northwestern.edu:3300

    • After you log in with your NetID and password, click the "Launch Session" button, and then select the application you want to run. By default, the sessions you start through the FastX web client will persist indefinitely - until either you terminate the session or the server is restarted. 

    • If you need to find a session you launched previously, you can find it on the My Sessions tab, but you must be logged on to the same KLC node where that session was launched! Therefore, we advise you to remember the specific node you are on if you intend to run very long jobs on KLC. We also advise you to Terminate sessions (under the Actions button in My Sessions) when you are done with your session.
  • Mac computers come with a the Terminal program already installed as a standard program. To create a "plain" (not graphical) connection to a specific KLC node (for instance KLC0201), you would simply open Terminal and type:

     

    ssh your-netid@klc0201.ci.northwestern.edu

    If you prefer a graphical (X11) interface, just add the -Y option:


    ssh -Y your-netid@klc0201.ci.northwestern.edu

    Occasionally you might receive an error that says something like "host key verification failed." Most of the time, you can fix these problems by deleting your host key file and trying again:


    rm ~/.ssh/known_hosts

    Note: Depending on the version of your Mac, you might need to install the free XQuartz application before X11 forwarding will work.

Contact us about Kellogg Research Support

Email Research Support