Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Nathan Otterness

dblp:137/3819 · DBLP profile ↗
← Back
13ranked-venue papers
3as first author
2since 2021 · last 2022
0000-0001-6739-4081ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 4 · 2 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 1 since 2021Security and privacy · 3

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Embedded and real-time systems · 55% GPUs and heterogeneous computing · 27% Processor architecture and microarchitecture · 14%
Network and information security
1 paper
Network security · 77% Systems and software security · 23%

Topics — the 13 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Embedded and real-time systems
real-time scheduling
0.622018
Making OpenVX Really "Real Time" · RTSS 2018
Reconciling the Tension Between Hardware Isolation and Data Sharing in Mixed-Criticality, Multicore Systems · RTSS 2016
Embedded and real-time systems
worst-case execution time analysis
0.612022
Making Powerful Enemies on NVIDIA GPUs · RTSS 2022
Embedded and real-time systems › real-time scheduling › schedulability analysis
response time analysis
0.312018
Making OpenVX Really "Real Time" · RTSS 2018
GPUs and heterogeneous computing
GPU scheduling
0.312017
GPU Scheduling on the NVIDIA TX2: Hidden Details Revealed · RTSS 2017
Network security › intrusion detection and prevention
intrusion detection
0.212016
Cache, Trigger, Impersonate: Enabling Context-Sensitive Honeyclient Analysis On-the-Wire · NDSS 2016
Processor architecture and microarchitecture
chip multiprocessor
0.212016
Reconciling the Tension Between Hardware Isolation and Data Sharing in Mixed-Criticality, Multicore Systems · RTSS 2016
Processor architecture and microarchitecture
hardware isolation
0.212016
Reconciling the Tension Between Hardware Isolation and Data Sharing in Mixed-Criticality, Multicore Systems · RTSS 2016
Embedded and real-time systems › real-time scheduling › mixed-criticality scheduling
mixed-criticality systems
0.212016
Reconciling the Tension Between Hardware Isolation and Data Sharing in Mixed-Criticality, Multicore Systems · RTSS 2016
Embedded and real-time systems › critical systems
safety-critical systems
0.212022
Making Powerful Enemies on NVIDIA GPUs · RTSS 2022
GPUs and heterogeneous computing
CPU-GPU heterogeneous computing
0.112018
Making OpenVX Really "Real Time" · RTSS 2018
Systems and software security › program analysis
dynamic analysis
0.112016
Cache, Trigger, Impersonate: Enabling Context-Sensitive Honeyclient Analysis On-the-Wire · NDSS 2016
Memory systems
cache
0.112016
Reconciling the Tension Between Hardware Isolation and Data Sharing in Mixed-Criticality, Multicore Systems · RTSS 2016
Memory systems
shared memory
0.112016
Reconciling the Tension Between Hardware Isolation and Data Sharing in Mixed-Criticality, Multicore Systems · RTSS 2016

Methods — techniques the papers use, named apart from their topics

resource stressing · 0.6experiment-driven enemy program design · 0.6response time analysis · 0.3experimental testing · 0.3schedulability study · 0.2criticality-aware task provisioning · 0.2
YearPublicationVenuePosition
2022 Making Powerful Enemies on NVIDIA GPUs
abstract
Graphics Processing Units (GPUs) are widely used in safety-critical real-time systems such as autonomous vehicles due to their high performance on artificial intelligence (AI) work-loads. As the computing power of recent GPUs keeps growing, it becomes increasingly possible to allow multiple independent programs to access the GPU concurrently. This complicates timing analysis, as contention for shared GPU resources renders execution times less predictable and worst-case execution times (WCETs) difficult to estimate. This paper provides a method for producing enemy programs that intentionally contend for GPU resources in order to enable more confident measurement-based WCET estimations. This paper provides an experiment-driven method to design effective enemy programs for several different interference channels—specific shared resources within the GPU through which concurrent computations may impact others' execution times. The method is flexible and can be applied to different GPU sharing mechanisms. The enemies are evaluated against a large number of real GPU applications, and the results indicate that these enemies cause higher slowdowns for GPU tasks than other baseline resource-stressing methods.
Tyler Yandrofski, Nathan Otterness, James H. Anderson, F. Donelson Smith
RTSS3
2022 Exploring AMD GPU scheduling details by experimenting with "worst practices"
Nathan Otterness, James H. Anderson
Real Time Syst.1
2020 AMD GPUs as an Alternative to NVIDIA for Supporting Real-Time Workloads
abstract
Graphics processing units (GPUs) manufactured by NVIDIA continue to dominate many fields of research, including real-time GPU-management. NVIDIA’s status as a key enabling technology for deep learning and image processing makes this unsurprising, especially when combined with the company’s push into embedded, safety-critical domains like autonomous driving. NVIDIA’s primary competitor, AMD, has received comparatively little attention, due in part to few embedded offerings and a lack of support from popular deep-learning toolkits. Recently, however, AMD’s ROCm (Radeon Open Compute) software platform was made available to address at least the second of these two issues, but is ROCm worth the attention of safety-critical software developers? In order to answer this question, this paper explores the features and pitfalls of AMD GPUs, focusing on contrasting details with NVIDIA’s GPU hardware and software. We argue that an open software stack such as ROCm may be able to provide much-needed flexibility and reproducibility in the context of real-time GPU research, where new algorithmic or analysis techniques should typically remain agnostic to the underlying GPU architecture. In support of this claim, we summarize how closed-source platforms have obstructed prior research using NVIDIA GPUs, and then demonstrate that AMD may be a viable alternative by modifying components of the ROCm software stack to implement spatial partitioning. Finally, we present a case study using the PyTorch deep-learning framework that demonstrates the impact such modifications can have on complex real-world software.
Nathan Otterness, James H. Anderson
ECRTS1
2020 Supporting I/O and IPC via fine-grained OS isolation for mixed-criticality real-time tasks
Namhoon Kim, Nathan Otterness, James H. Anderson, F. Donelson Smith, Donald E. Porter
Real Time Syst.3
2018 Avoiding Pitfalls when Using NVIDIA GPUs for Real-Time Tasks in Autonomous Systems
abstract
NVIDIA's CUDA API has enabled GPUs to be used as computing accelerators across a wide range of applications. This has resulted in performance gains in many application domains, but the underlying GPU hardware and software are subject to many non-obvious pitfalls. This is particularly problematic for safety-critical systems, where worst-case behaviors must be taken into account. While such behaviors were not a key concern for earlier CUDA users, the usage of GPUs in autonomous vehicles has taken CUDA programs out of the sole domain of computer-vision and machine-learning experts and into safety-critical processing pipelines. Certification is necessary in this new domain, which is problematic because GPU software may have been developed without any regard for worst-case behaviors. Pitfalls when using CUDA in real-time autonomous systems can result from the lack of specifics in official documentation, and developers of GPU software not being aware of the implications of their design choices with regards to real-time requirements. This paper focuses on the particular challenges facing the real-time community when utilizing CUDA-enabled GPUs for autonomous applications, and best practices for applying real-time safety-critical principles.
Ming Yang 0036, Nathan Otterness, Tanya Amert, Joshua Bakita, James H. Anderson, F. Donelson Smith
ECRTS2
2018 Making OpenVX Really "Real Time"
abstract
OpenVX is a recently ratified standard that was expressly proposed to facilitate the design of computer-vision (CV) applications used in real-time embedded systems. Despite its real-time focus, OpenVX presents several challenges when validating real-time constraints. Many of these challenges are rooted in the fact that OpenVX only implicitly defines any notion of a schedulable entity. Under OpenVX, CV applications are specified in the form of processing graphs that are inherently considered to execute monolithically end-to-end. This monolithic execution hinders parallelism and can lead to significant processing-capacity loss. Prior work partially addressed this problem by treating graph nodes as schedulable entities, but under OpenVX, these nodes represent rather coarse-grained CV functions, so the available parallelism that can be obtained in this way is quite limited. In this paper, a much more fine-grained approach for scheduling OpenVX graphs is proposed. This approach was designed to enable additional parallelism and to eliminate schedulability-related processing-capacity loss that arises when programs execute on both CPUs and graphics processing units (GPUs). Response-time analysis for this new approach is presented and its efficacy is evaluated via a case study involving an actual CV application.
Ming Yang 0036, Tanya Amert, Kecheng Yang 0001, Nathan Otterness, James H. Anderson, F. Donelson Smith, Shige Wang
RTSS4
2017 Allowing Shared Libraries While Supporting Hardware Isolation in Multicore Real-Time Systems
abstract
The desire to support real-time applications on multicore platforms has led to intense recent interest in techniques for reducing memory-related hardware interference. These techniques typically rely on mechanisms that ensure per-task isolation properties with respect to cache and memory accesses. In most prior work on such techniques, any sharing of memory pages by different tasks is defined away, as sharing breaks isolation. In reality, however, sharing is common. In this paper, one source of sharing is considered, namely, the usage of shared libraries. Such sharing can be obviated by statically linking libraries, but this solution can degrade schedulability by exhausting memory capacity. An alternative approach is proposed herein that allows library pages to be shared while preserving isolation properties. This approach is presented in the context of the MC2 framework and a schedulability-based evaluation of it is presented. Such an evaluation must necessarily consider memory-capacity limits. As a secondary contribution, this paper considers such limits for the first time in the context of MC2.
Namhoon Kim, Micaiah Chisholm, Nathan Otterness, James H. Anderson, F. Donelson Smith
RTAS3
2017 An Evaluation of the NVIDIA TX1 for Supporting Real-Time Computer-Vision Workloads
abstract
Autonomous vehicles are an exemplar for forward-looking safety-critical real-time systems where significant computing capacity must be provided within strict size, weight, and power (SWaP) limits. A promising way forward in meeting these needs is to leverage multicore platforms augmented with graphics processing units (GPUs) as accelerators. Such an approach is being strongly advocated by NVIDIA, whose Jetson TX1 board is currently a leading multicore+GPU solution marketed for autonomous systems. Unfortunately, no study has ever been published that expressly evaluates the effectiveness of the TX1, or any other comparable platform, in hosting safety-critical real-time workloads. In this paper, such a study is presented. Specifically, the TX1 is evaluated via benchmarking efforts, blackbox evaluations of GPU behavior, and case-study evaluations involving computer-vision workloads inspired by autonomousdriving use cases. Autonomous vehicles are an exemplar for forward-looking safety-critical real-time systems where significant computing capacity must be provided within strict size, weight, and power (SWaP) limits. A promising way forward in meeting these needs is to leverage multicore platforms augmented with graphics processing units (GPUs) as accelerators. Such an approach is being strongly advocated by NVIDIA, whose Jetson TX1 board is currently a leading multicore+GPU solution marketed for autonomous systems. Unfortunately, no study has ever been published that expressly evaluates the effectiveness of the TX1, or any other comparable platform, in hosting safety-critical real-time workloads. In this paper, such a study is presented. Specifically, the TX1 is evaluated via benchmarking efforts, blackbox evaluations of GPU behavior, and case-study evaluations involving computer-vision workloads inspired by autonomous-driving use cases.
Nathan Otterness, Ming Yang 0036, Sarah Rust, Eunbyung Park, James H. Anderson, F. Donelson Smith, Alexander C. Berg, Shige Wang
RTAS1
2017 GPU Scheduling on the NVIDIA TX2: Hidden Details Revealed
abstract
The push towards fielding autonomous-driving capabilities in vehicles is happening at breakneck speed. Semi-autonomous features are becoming increasingly common, and fully autonomous vehicles are optimistically forecast to be widely available in just a few years. Today, graphics processing units (GPUs) are seen as a key technology in this push towards greater autonomy. However, realizing full autonomy in mass-production vehicles will necessitate the use of stringent certification processes. Currently available GPUs pose challenges in this regard, as they tend to be closed-source “black boxes” that have features that are not publicly disclosed. For certification to be tenable, such features must be documented. This paper reports on such a documentation effort. This effort was directed at the NVIDIA TX2, which is one of the most prominent GPU-enabled platforms marketed today for autonomous systems. In this paper, important aspects of the TX2's GPU scheduler are revealed as discerned through experimental testing and validation.
Tanya Amert, Nathan Otterness, Ming Yang 0036, James H. Anderson, F. Donelson Smith
RTSS2
2016 No-Execute-After-Read: Preventing Code Disclosure in Commodity Software
abstract
Memory disclosure vulnerabilities enable an adversary to successfully mount arbitrary code execution attacks against applications via so-called just-in-time code reuse attacks, even when those applications are fortified with fine-grained address space layout randomization. This attack paradigm requires the adversary to first read the contents of randomized application code, then construct a code reuse payload using that knowledge. In this paper, we show that the recently proposed Execute-no-Read (XnR) technique fails to prevent just-in-time code reuse attacks. Next, we introduce the design and implementation of a novel memory permission primitive, dubbed No-Execute-After-Read (near), that foregoes the problems of XnR and provides strong security guarantees against just-in-time attacks in commodity binaries. Specifically, near allows all code to be disclosed, but prevents any disclosed code from subsequently being executed, thus thwarting just-in-time code reuse. At the same time, commodity binaries with mixed code and data regions still operate correctly, as legitimate data is still readable. To demonstrate the practicality and portability of our approach we implemented prototypes for both Linux and Android on the ARMv8 architecture, as well as a prototype that protects unmodified Microsoft Windows executables and dynamically linked libraries. In addition, our evaluation on the SPEC2006 benchmark demonstrates that our prototype has negligible runtime overhead, making it suitable for practical deployment.
Jan Werner, George Baltas, Rob Dallara, Nathan Otterness, Kevin Z. Snow, Fabian Monrose, Michalis Polychronakis
AsiaCCS4
2016 Cache, Trigger, Impersonate: Enabling Context-Sensitive Honeyclient Analysis On-the-Wire
Teryl Taylor, Kevin Z. Snow, Nathan Otterness, Fabian Monrose
NDSS3
2016 Reconciling the Tension Between Hardware Isolation and Data Sharing in Mixed-Criticality, Multicore Systems
abstract
Recent work involving a mixed-criticality framework called MC2 has shown that, by combining hardware-management techniques and criticality-aware task provisioning, capacity loss can be significantly reduced when supporting real-time workloads on multicore platforms. However, as in most other prior research on multicore hardware management, tasks were assumed in that work to not share data. Data sharing is problematic in the context of hardware management because it can violate the isolation properties hardware-management techniques seek to ensure. Clearly, for research on such techniques to have any practical impact, data sharing must be permitted. Towards this goal, this paper presents a new version of MC2 that permits tasks to share data within and across criticality levels through shared memory. Several techniques are presented for mitigating capacity loss due to data sharing. The effectiveness of these techniques is demonstrated by means of a large-scale, overhead-aware schedulability study driven by micro-benchmark data.
Micaiah Chisholm, Namhoon Kim, Bryan C. Ward, Nathan Otterness, James H. Anderson, F. Donelson Smith
RTSS4
2013 Check My Profile: Leveraging Static Analysis for Fast and Accurate Detection of ROP Gadgets
Blaine Stancill, Kevin Z. Snow, Nathan Otterness, Fabian Monrose, Lucas Davi, Ahmad-Reza Sadeghi
RAID3