1  Computing Resources

In this chapter we’ll briefly introduce the different computing resources the SSCC makes available, talk about the kinds of jobs that should be run on each, and then discuss how to learn to use them. Server specifications are at the end of the chapter for those who are interested in the details.

1.1 What SSCC Makes Available

The SSCC has two computing environments: a regular computing environment, and a computing environment called Silo with special security controls for working with very sensitive data. The two environments have the same kinds of resources available; the Silo version of each has “Silo” in its name.

1.1.1 Winstat/WinSilo

Winstat and WinSilo are the SSCC’s general-purpose Windows computing clusters. They consist of Windows Remote Desktop Servers that you can log into from any location to run a wide variety of statistical and other software with full access to the SSCC network.

Winstat is intended for interactive work and running short jobs. Their computing power is comparable to a good laptop. Winstat sessions are automatically closed after 24 hours.

WinSilo is used for both interactive work and bigger jobs, and is comparable to Winstat for Big Jobs.

1.1.2 Winstat for Big Jobs/WinSilo

On Winstat for Big Jobs or WinSilo you can use up to 24 cores and 128GB of memory in a familiar Windows environment. You can also start a job and then disconnect from your session, and your job will keep running for as long as it needs to (keep an eye on the scheduled monthly downtime).

Be sure to sign out of Winstat for Big Jobs or WinSilo when you’re not using it. Idle sessions continue to use resources, and enough of them will slow down the server for everyone.

1.1.3 Linstat/LinSilo

Linstat and LinSilo are the SSCC’s clusters of interactive Linux servers. The Linstat servers each have 48 cores and an NVidia T4 GPU, and you can use up to 500GB of memory. The LinSilo servers have 44 cores and you can use up to 250GB of memory, while LinSiloBig has 80 cores and you can use up to 500GB of memory.

You can log into Linstat or Linsilo directly, or use web-based interfaces like JupyterLab and RStudio Server. (To use LinSilo you first log into Silo and connect from there.) Linstat and LinSilo are meant for interactive work and short jobs. You’ll also use them to develop code you’ll submit to Slurm.

1.1.4 Slurm/SlurmSilo

Slurm (Simple Linux Utility for Resource Management) is a powerful system for managing and scheduling computing jobs. The SSCC has Slurm clusters in both our regular environment (Slurm) and in Silo (SlurmSilo). You can submit jobs to Slurm from Linstat and to SiloSlurm from LinSilo. When you submit your job you’ll tell Slurm how many cores and how much memory it needs, and you’ll get exclusive use of those resources while your job is running.

Right now the the SSCC’s Slurm clusters are relatively small: nine nodes with a total of 364 cores in regular Slurm, and six nodes with a total of 300 cores in SiloSlurm. However, we have received funding for a major expansion of the Slurm cluster and will add nearly 5,000 cores to it in the coming months.

1.2 What Resources Should I Use?

To figure out what resources you should use for your work, start by asking yourself why you don’t just do it on your laptop:

1.2.1 My laptop is too slow

If your laptop is just generally old and slow (we understand grad student budgets) you can log into Winstat for better performance.

If the reason it’s slow is that your project involves big data sets or computationally-intensive methods, Linstat will be faster. If what you’re doing can take advantage of multiple cores, it will be much faster.

1.2.2 I need more memory

On Winstat for Big Jobs you can use up to 128GB of memory, depending on how much other people are using.

On Linstat you can use up to 500GB of memory, depending on how much other people are using.

On Slurm you can reserve up to 750GB of memory, and you’ll get it for sure.

On WinSilo you can use up to 128GB of memory, depending on how much other people are using.

On LinSilo you can use up to 250GB of memory and on LinSiloBig you can use up to 500GB of memory, depending on how much other people are using.

On SlurmSilo you can reserve up to 750GB of memory, and you’ll get it for sure.

1.2.3 I need to run long jobs

If you need to run long jobs, you don’t want to have to stay connected to the server the whole time. (We can define a “long job” as one that’s still running when you’re ready to log off and do something else.)

If your long job is not very computationally intensive, you can start it on Winstat for Big Jobs and then disconnect from the session, and the job will keep running.

If your long job is computationally intensive, use Slurm.

1.2.4 I need to use a lot of cores

You can use up to 48 cores on Linstat, depending on how many other people are using.

Currently you can reserve up to 44 cores (per server) in Slurm. We will add 128 core servers to Slurm in the coming months.

You can reserve up to 80 cores in SlurmSilo, or 44 cores per server on multiple servers.

1.2.5 I need to run a bunch of jobs

This is what Slurm was made for. Submit them all to Slurm and it will try to run them all at the same time on as many servers as they need. If it can’t run them all, the excess jobs will wait in the queue and then run as soon as other jobs finish.

1.2.6 I need to run jobs that use multiple nodes

Use Slurm for jobs that parallelize their work across multiple servers rather than just the cores in one server–it was made for this too.

1.2.7 I need to run big jobs, but I have an instructional account

The Social Science Computing Cooperative has a research mission and an instructional support mission, and some SSCC accounts are meant for class work rather than research. These accounts do not have access to Linstat, Slurm, or Silo, so you’re limited to Winstat for Big Jobs.

If you do not have a Z: drive (Linux home directory) when you log into Winstat, you have an instructional account. That’s probably because:

  • You were given an SSCC account for a specific class

  • You are a graduate student in a department that is in the Social Science Division of L&S but is not a member of the Cooperative, like Political Science or the LaFollette Institute.

  • You are a graduate student in the Department of Economics who has not yet had a need for the Linux servers.

Graduate students in Economics can request an SSCC account meant for research with the approval of an account sponsor. This can be any faculty member in Economics. We suggest speaking with them before filling out the form.

Researchers in other departments can join the SSCC by becoming Individual Members of the Cooperative.

1.3 Learning to Use the Resources You Need

Now that you’ve identified the computing resources you need to use, this section will walk you through what you’ll want to read to learn to use them.

1.3.1 Winstat for Big Jobs/WinSilo

Using Winstat will show you how to log into both Winstat and Winstat for Big Jobs. Once you’re in, it’s a familiar Windows environment. Just keep in mind that Winstat for Big Jobs has a fraction of the computing power available on Linstat and through Slurm. If your jobs are big enough to need Winstat for Big Jobs, it’s probably worth learning how to send them to Slurm.

Using Silo will teach you how to log in to WinSilo. Once you’re in, it’s the same as Winstat for Big Jobs except for the security measures needed for sensitive data.

If you won’t use Linux at all, you don’t need to read anything else in this book.

1.3.2 Linstat/LinSilo

First go the Program Information chapter and read the section for the program(s) you want to run (R, Stata, Python, etc.). Since you won’t be using Slurm you can skip the parts that talk about it.

Then go to the Linux Essentials chapter. You’ll need to read about how to specify file locations in Linux. The Program Information chapter will tell you if you also need to read about how to log into Linstat directly.

That’s it!

1.3.3 Slurm/SlurmSilo

First go the Program Information chapter and read the section for the program(s) you want to run (R, Stata, Python, etc.). If you’re sure you won’t be running anything interactively you can skip the parts that talk about interactive work.

Then read the Linux Essentials chapter, which will teach you how to specify file locations in Linux and how to log into Linstat or LinSilo so you can submit jobs from there to Slurm or SlurmSilo. (RStudio Server users can skip the part about logging in and use the terminal it provides.)

Finally, read the Slurm chapter to learn how to submit jobs to Slurm.

1.4 Server Specifications

The following list describes the SSCC’s research computing servers. For a discussion of how they’re intended to be used and how to learn to use them, start at the beginning of this chapter. Servers with “Silo” in their name are in the SSCC’s special secure computing environment for working with very sensitive data (Silo).

1.4.1 Winstat

The Winstat servers are virtual machines running Windows with 4 Intel cores. Each user may use up to 17GB of memory. Both the cores and memory are shared with other users.

1.4.2 Winstat for Big Jobs & WinSilo

Winstat for Big Jobs and WinSilo are virtual machines running Windows with 24 Intel cores. Each user may use up to 128GB of memory. Both the cores and memory are shared with other users.

1.4.3 Linstat

Linstat consists of four servers running Linux with 48 Intel cores and an NVidia T4 GPU. Each user may use up to 500GB of memory. Both the cores and memory are shared with other users.

1.4.4 LinSilo

LinSilo consists of two servers running Linux with 44 Intel cores. Each user may use up to 250GB of memory. Both the cores and memory are shared with other users. SMPH researchers have priority on these servers.

1.4.5 LinSiloBig

LinSiloBig consists of one server running Linux with 80 Intel cores. Each user may use up to 500GB of memory. Both the cores and memory are shared with other users. SMPH researchers have priority on this server.

1.4.6 Slurm & SlurmSilo

For information on the SSCC’s Slurm clusters, see the Cluster Specifications section of the Slurm chapter.