High Performance Computing at Lewis & Clark
On the Lewis & Clark campus, High Performance Computing and Data Science efforts are supported in part by the Watzek Library's Digital Initiatives office. We have supported HPC both in the classroom and in a departmental research setting. Our support includes hardware administration, software support, and occasional algorithmic support, as well as other assistance.
High Performance Computing, or HPC is the use of super computers and parallel processing techniques for solving complex computational problems. HPC technology focuses on developing parallel processing algorithms and systems by incorporating both administration and parallel computational techniques. High-performance computing is typically used for solving advanced problems and performing research activities through computer modeling, simulation and analysis. HPC systems have the ability to deliver sustained performance through the concurrent use of computing resources. While this technical description of HPC is very specific, it's not actually that readable or understandable, so let's parse it a little bit:
Most people believe that High-Performance Computing (HPC) is defined by the architecture of the computer it runs on. In standard computing, one physical computer with one or more cores is used to carry out a task. All of these cores can access a pool of Shared Memory. Shared memory makes it trivial for two or more programs or parts of a single program to understand what other programs are doing. On the other hand, most high performance systems are clusters which consist of many separate multicore computers which are all connected over a network. In this configuration, the individual parts of a program running on separate physical machines are not easily able to communicate without connecting over the network. The following diagram represents a cluster of multicore computers working as a single cluster:
Because of the dependence on networking, programming for HPC environments requires special considerations that normal programming does not.
In friendly terms, to attack a problem with HPC techniques, you break down the problem into many smaller problems, ideally all of which can be attacked at once. The following (fairly silly) graphic sums it up nicely:
Lewis & Clark Operates an HPC system, which we call BLT. BLT is a small, linux-based cluster computer, which is comprised of three worker nodes (bacon, lettuce and tomato), and one multi-purpose login, filesystem, and external data manager. More BLT Tech specs are available at https://watzek.github.io/BLTdocs/.
BLT is a 144-core Intel Xeon based high-performance cluster computer operated at Lewis & Clark College. BLT provides the ability for members of the L&C community to perform large-scale computations and simulations, analyze large amounts of data, perform computation-based science research, and more.
BLT is currently open for business! If you have a project you believe could benefit from being run on an HPC system like BLT, please get in touch! We offer real time support, software installation and help with data management. We like to start with a meeting, either virtual or in person, and we try to offer custom solutions based on researchers' needs.
... under construction ...
We are looking for collaborators who have a need for an HPC environment in which to perform data- or compute-intensive research, data science, big data, memory dependent, high throughput, or other high-performance computing related tasks, especially people who do not otherwise have access to HPC resources. If you are interested in collaborating, please read the "How can I collaborate?" below!
To get the ball rolling, please get in touch with Jeremy McWilliams, either by emailing firstname.lastname@example.org or email@example.com. After that, we like to have a meeting, either in person or virtually, to discuss what your specific needs will be. We offer real-time help over slack, and are willing to ensure our system has the software packages and modules you will need to use. Access to our computational resources is currently free.
Most of the work we have done thus far falls into one of two categories: coursework and research.
We have supported computational work in the following courses:
Additionally, the HPC resources have also been utilized by researchers. Some of it is summarized below: