This page contains links to various code repositories used to perform the experiments presented in my dissertation.
The official dissertation document is available through the UNC Library.
Chapter 3: The History vs. Response Time vs. Accuracy Trade-Off
The history-versus-response-time and history-versus-accuracy trade-off experiments can be reproduced using our CodeOcean code capsule.
To extend our experiments or reproduce the entire workflow (e.g., running the scenarios in CARLA, using TensorFlow to detect pedestrians and vehicles, then performing tracking), visit our experiment GitHub repository, which links to other relevant repositories.
Chapter 4: Using NVIDIA GPUs in Real-Time Applications
The GPU scheduling experiments were performed using the CUDA Scheduling Examiner, available from our GitHub repository.
CUPiD^RT is available in a separate GitHub repository.
Chapter 5: Enabling Time Partitioning for Real-Time Multicore+Accelerator Platforms
The code for TimeWall is implemented as a patch against the 5.4.0-rc7 version of LITMUST^RT (commit 55ce628). We also made changes to Liblitmus, available as a patch against the official Liblitmus repository (commit a430c7b).
Our single-node HOG case study was developed using OpenCV. The code is available in a GitHub repository.
Chapter 6: Additional Evaluations
The experiments discussed in this chapter require minor changes to LITMUS^RT and Liblitmus, as well as our Python wrapper for Liblitmus:
- LITMUS^RT patch (apply to the patched kernel from Chapter 5)
- Liblitmus patch (apply to the patched libraries from Chapter 5)
- Liblitmus-py wrapper
The experiments in this chapter use the following applications:
- Motion Planning with RRT and APF
- Pure Pursuit
- MOT TBD in Python
- The TensorFlow-based detector used in Chapter 3
- An extended graph-based HOG+SVM pedestrian detector that enables configurable GPU-access merging, provided as a patch against the OpenCV repository used in Chapter 5 (commit bac3e76)
Scripts are available via a zip file.