Summer Projects 2022
- Posted by John Bazik
- on Sept. 16, 2022
Summer time is project time for CS's technical staff, and this year we tackled a range of tasks, big and small, up-front and behind-the-scenes.
Arnold Lab
Computer Science acquired a new outpost this summer on the third and fourth floors of Arnold Lab at 91 Waterman St. The offices, lab and meeting spaces there will be home to faculty and graduate students of our ever-expanding department. In a tight end-of-summer turnaround, the technical staff installed sixteen desktop computers and ten docking stations.
Mac Lab
Apple's annual MacOS releases ensure that each summer we'll be busy in the Mac Lab. This year, our Mac Minis were upgraded to MacOS Monterey and the suite of software used in our animation courses was also upgraded on those machines and in our compute cluster, which serves as a render farm.
CS Home Edition
Apple's new M1/M2 chip laptops are based on the ARM architecture, so intel-based software won't run natively on them. Fortunately, CS Home Edition (CSHE) is based on Debian Linux, which runs on ARM64-based machines. So this summer, we produced an ARM64 installer for CSHE, and we will be supporting the platform going forward.
CS Home Edition was conceived during the pandemic as a way for remote users to install the common CS linux platform, used throughout the CS department, on a virtual machine or on their own hardware. It is an ongoing project of the CS technical staff, and we use it ourselves.
Support For Virtualization
Managed desktop computers deployed throughout the CS department come with some limitations, among them that users cannot run virtual machines on them. These trusted systems have access to services, in particular the filesystem, that virtual machines could exploit. This summer the technical staff, working with OIT, undertook a server-side reconfiguration of file services to allow us to extend support for virtualization to our users. This is ongoing as the semester begins, but we expect to have it in place shortly, and to provide virtual machine software such as virtualbox on our managed systems.
HPC
CS high performance computing (HPC) users got a boost this summer, as the CS department purchased two new general-use GPU servers. Each one offers eight NVidia RTX A6000 GPUs, sporting 48GB of GPU memory each. These are configured in pairs using NVLINK interconnects. Each has dual 48-core processors and at least 512 GB of system RAM.
One of these systems is deployed to the CS department grid compute cluster. The other is deployed as a "condo" in the OSCAR compute cluster. Both systems are available to CS department users without charge or limitation.
New Servers
This summer we also replaced some aging hardware servers in the data center. These servers complement our virtual machine infrastructure, hosted by OIT, and provide added performance and resiliency.
SSH Keys
Remote CS users may have noticed some changes in recent weeks as we tightened security around SSH keys. Keys stored in user home directories no longer provide access to the department. Only public keys uploaded to the CS website, which requires two-factor authentication, are installed on the CS SSH gateway (and FastX cluster).
In addition, email notifications are now sent to users when keys are uploaded, and the technical staff has greater control over key management during times of threat.
Web Changes
The biggest change to the CS website this summer is the redirection of all HTTP requests to HTTPS (secure) requests. A trend in recent years, the movement to encrypted and authenticated web traffic has reached to web browsers that identify all http connections as insecure. Though the CS website has long supported HTTPS, this change is intended to reduce confusion for casual visitors.
Undergraduate and master's students will rejoice in the improved functionality of our Pathways requirements page, which is now dynamically generated and provides links to faculty and required courses. Behind the scenes, those who manage the pathways will also rejoice for the web-based interface for managing the complex and changing requirements. At this writing, the new pages are not published, but when they are, they'll be located as subpages of undergraduate concentration requirements and master's requirements.
Database Clusters
A new Postgresql database cluster configuration, based on repmgr, pgbouncer and keepalived, is now powering all of our database-dependent services. While most of this work was done last spring, deploying the new clusters to our services happened over the summer. The more agile, reliable and performant clusters have been a benefit to the tstaff, and perceptive users may notice speedier responses from, for instance, the CS website.
Virtual Machine Upgrade
Another behind-the-scenes project with noticeable impact was the migration of our substantial virtual machine infrastructure (362 VMs) from old servers with an old, spinning-disk storage backend to shiny new servers with a solid-state Pure Storage backend array.
Things We Didn't Get To
There are a couple of noteworthy projects we did not have the time and staff to finish, but that are currently underway. We are migrating our high performance computing cluster platform from gridengine to slurm. Announcements about progress in that effort will appear exclusively on the compute mailing list.
We are also currently working on a locally-hosted Zulip chat server.