Design and Construction of General Purpose Computing Resources for Linux Based Computer Science Education

St. Lawrence Shield

Authors:

Department of Mathematics, Computer Science, and Statistics at St. Lawrence University

Abstract

For six years our computer science program had no dedicated computing laboratories and limited influence on the software that could be installed on university wide workstations.

In the Fall of 2009 we (the authors) built a computer science laboratory for our CS program from scratch. This includes:

Result is a medium scale computing resource (58 CPUs / GPUs; 232 general purpose computing cores and 12,528 GPU cores) ideal physically located in three classrooms (seating 25, 15, and 12) and a server room. Ideal for classroom, student projects, and single CPU or grid computing.

Go big or go home.

Motivation

old labs

Requirements

In designing the lab we considered both the educational, computational, and long term administrative requirements of such a project.

Educational

As an undergraduate liberal arts institution, we teach an introductory level CS service course and a major that follows the traditional curriculum for a liberal arts degree in CS. The CS department teaches 15 courses, 5-10 senior research projects, and 1-3 summer student fellowships per year.

We have an average of 10 majors per year (although recently that's been up) and teach about 150 students through our introductory service course. We felt that the design of the lab should take both missions into account.

The computing environment should be exposed to the student as much as reasonably possible for educational purposes. Computer science is about the practical implementation of the theoretical foundations of computation.

Thus, requirements boiled down to this:

Administrative

We (the authors), and perhaps you the audience, have have experienced frustration involving the need to install software or configure OS settings for classes but being hampered by bureaucratic processes in a rigid IT service model.

Thus, we wanted a service model that would allow us to make fluid changes to the environment without a go-to person in an IT department.

The only thing we didn't want to touch was maintaining login information (consider a flux of nearly 200 students per year).

Our administrative requirements boiled down to this:

Physical Plant Construction

We were granted "temporary" space in an abandoned section of hallway that once housed part of the biology department.

old labold lab

Rooms were filled with garbage, raised laboratory tables, leaking sinks, etc. A major concern to remodeling was the problem of damaging the asbestos tiling.

Keeping our teaching needs in mind, we design two classroom layouts. One for the service course, the other for the introductory level:

Other physical plant issues we had to consider:

Hardware Configuration and Construction

We wanted to assemble high quality workstations from components, in part for the learning experience to the students, but also to give us flexibility about how to handle eventual hardware failures.

Workstation configuration:

As part of the hardware specs, we also bought extra components to replace failures over time. Our general rule of thumb was "15 extra of each". (More on that later).

As part of the educational experience of building the labs we taught a special topics course of which the first three weeks was spent having students assemble workstations.

the buildthe budthe bidthe Bud

Here's the guts of a workstation:

workstation guts

Software Configuration

We considered Windows and Linux based platforms for our software configurations. We chose Linux because we felt it was a better choice to teach computer science for the following reasons:

Currently we are running Ubuntu 10.04 on the workstations and servers.

Configuring the server/client software was the most difficult part of the entire project.

Maintenance

Final Results

intro labintro labupper labserver roomserver roommunin in use

Student Perceptions

Anecdotally, we have had a good reaction to the change in computing environment.

Long Term Observations

Sources of Potential and Active Funding

Questions

The end