Nathan Otterness



I am a fifth-year Ph.D. student in the Computer Science department at the University of North Carolina at Chapel Hill. I work under Professor James Anderson in the Real-time Systems group. My research primarily focuses on enabling predictable timing in programs that concurrently share GPUs. I have also contributed to projects involving shared-hardware isolation (on CPUs) and mixed-criticality scheduling.

Apart from my research, my personal interests include operating systems, a wide variety of low-level programming topics, and fractals (High-resolution examples include this and this. Here's a cropped and downscaled version of one.). I spend a large amount of time programming as a hobby. My github page includes most of my more-complete programming projects. I was a winner of the 2020 International Obfuscated C Code Contest.

I have previously worked at NVIDIA for two summer internships: May through July of 2018 and May through August of 2019. From 2012 through 2015 I worked in computer security research under Professor Fabian Monrose. As an undergraduate, I spent a few months as a Co-Op at IBM.


Spring 2019: I taught COMP 455: Models of Languages and Computation (aka "Automata Theory"). Link to the course website.