Nathan Otterness
My CV
About
I obtained my Ph.D. in August of 2022 from the Computer Science department at the University of North Carolina at Chapel Hill.
I worked under Professor James Anderson in the Real-time Systems group.
My research primarily focused 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.
As of September 2022 I work at NVIDIA, in the hardware infrastructure group on projects related to GPU and datacenter
simulation and testing. I previously worked at NVIDIA for three summer internships: May through July of 2018, May through
August of 2019, and May through August of 2021. 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.
Teaching
Spring 2019: I taught COMP 455: Models of Languages and Computation (aka "Automata Theory").
Link to the course website.
Publications
-
Tyler Yandrofski, Jingyuan Chen, Nathan Otterness, James Anderson, and F. D. Smith.
Making Powerful Enemies on NVIDIA GPUs, Real-Time Systems Symposium (RTSS), December 2022.
link
-
Nathan Otterness.
Developing Real-Time GPU-Sharing Platforms for Artificial-Intelligence Applications,
Dissertation, University of North Carolina at Chapel Hill, August 2022.
link
-
Nathan Otterness, James Anderson.
Exploring AMD GPU Scheduling Details by Experimenting With "Worst Practices",
Real-Time Systems, March 2022.
(This is an extended version of the RTNS 2021 paper for journal publication.)
link
-
Nathan Otterness, James Anderson.
Exploring AMD GPU Scheduling Details by Experimenting With "Worst Practices",
International Conference on Real-Time Networks and Systems (RTNS), April 2021.
Best paper award.
link
-
Nathan Otterness, James Anderson.
AMD GPUs as an Alternative to NVIDIA for Supporting Real-Time Workloads,
Euromicro Conference on Real-Time Systems (ECRTS), July 2020.
link
-
Ming Yang, Tanya Amert, Kecheng Yang, Nathan Otterness, James Anderson, F. D. Smith, and Shige Wang.
Making OpenVX Really "Real-Time",
IEEE Real-Time Systems Symposium (RTSS), December 2018.
link
-
Namhoon Kim, Stephen Tang, Nathan Otterness, James H. Anderson, F. Donelson Smith, and Donald E. Porter.
Supporting I/O and IPC via Fine-Grained OS Isolation for Mixed-Criticality Real-Time Tasks,
Conference on Real-Time Networks and Systems (RTNS), October 2018.
Outstanding paper award.
link
-
Ming Yang, Nathan Otterness, Tanya Amert, Joshua Bakita, James Anderson, and F. D. Smith.
Avoiding Pitfalls when Using NVIDIA GPUs for Real-Time Tasks in Autonomous Systems,
Euromicro Conference on Real-Time Systems (ECRTS), July 2018.
link
-
Joshua Bakita, Nathan Otterness, James Anderson, and F. D. Smith.
Scaling Up: The Validation of Empirically Derived Scheduling Rules on NVIDIA GPUs,
Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT), July 2018.
link
-
Tanya Amert, Nathan Otterness, Ming Yang, James Anderson, and F. D. Smith.
GPU Scheduling on the NVIDIA TX2: Hidden Details Revealed,
IEEE Real-Time Systems Symposium (RTSS), December 2017.
link
-
Micaiah Chisholm, Namhoon Kim, Stephen Tang, Nathan Otterness, James Anderson, F. D. Smith, and Don Porter.
Supporting Mode Changes while Providing Hardware Isolation in Mixed-Criticality Multicore Systems,
Conference on Real-Time Networks and Systems (RTNS), October 2017.
link
-
Nathan Otterness, Ming Yang, Tanya Amert, James Anderson, and F. D. Smith.
Inferring the Scheduling Policies of an Embedded CUDA GPU,
Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT), June 2017.
link
-
Nathan Otterness, Ming Yang, Sarah Rust, Eunbyung Park, James Anderson, F. D. Smith, Alex Berg, and Shige Wang.
An Evaluation of the NVIDIA TX1 for Supporting Real-Time Computer-Vision Workloads,
Real-Time and Embedded Technology and Applications Symposium (RTAS), April 2017.
link
-
Namhoon Kim, Micaiah Chisholm, Nathan Otterness, James Anderson, and F. D. Smith.
Allowing Shared Libraries while Supporting Hardware Isolation in Multicore Real-Time Systems,
Real-Time and Embedded Technology and Applications Symposium (RTAS), April 2017.
link
-
Micaiah Chisholm, Namhoon Kim, Bran Ward, Nathan Otterness, James Anderson, and F. D. Smith.
Reconciling the Tension Between Hardware Isolation and Data Sharing in Mixed-Criticality, Multicore Systems,
IEEE Real-Time Systems Symposium (RTSS), December 2016.
Best student paper award.
link
-
Nathan Otterness, Vance Miller, Ming Yang, James Anderson, and F. D. Smith.
GPU Sharing for Image Processing in Embedded Real-Time Systems,
Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT), July 2016.
link
-
Jan Werner, George Baltas, Rob Dallara, Nathan Otterness, Kevin Z. Snow, Fabian Monrose, and Michalis Polychronakis.
No-Execute-After-Read: Preventing Code Disclosure in Commodity Software,
Asia Conference on Computer and Communications Security (AsiaCCS), June 2016.
link
-
Teryl Taylor, Kevin Z. Snow, Nathan Otterness, and Fabian Monrose.
Cache, Trigger, Impersonate: Enabling Context-Sensitive Honeyclient Analysis On-the-Wire,
ISOC Network and Distributed Systems Security Symposium (NDSS), February 2016.
link
-
Blaine Stancill, Kevin Z. Snow, Nathan Otterness, Fabian Monrose, Lucas Davi, and Ahmad-Reza Sadeghi.
Check My Profile: Leveraging Static Analysis for Fast and Accurate Detection of ROP Gadgets,
Research in Attacks, Intrusions and Defenses (RAID) Symposium, October 2013.
link