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

Kevin Angstadt

dblp:174/9125 · DBLP profile ↗
← Back
8ranked-venue papers
4as first author
2since 2021 · last 2022
0000-0002-0104-5257ORCID · corroborated

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

Systems, architecture and hardware · 6 · 4 first-authorSoftware engineering, systems software and programming languages · 4 · 2 first-author · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 since 2021

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
6 papers
Hardware accelerators and domain-specific architectures · 46% Reconfigurable computing and FPGAs · 20% Electronic design automation · 10%
Software engineering, system software, and programming languages
3 papers
Debugging and program repair · 51% Programming languages and type systems · 34% Compilers and program optimization · 15%
Databases, data mining, and information retrieval
2 papers
Data mining · 100%

Topics — the 14 heaviest of 17, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Reconfigurable computing and FPGAs
automata processing
0.722018
ASPEN: A Scalable In-SRAM Architecture for Pushdown Automata · MICRO 2018
Characterizing and Mitigating Output Reporting Bottlenecks in Spatial Automata Processing Architectures · HPCA 2018
Hardware accelerators and domain-specific architectures › pattern matching accelerator
automata processor
0.622019
Debugging Support for Pattern-Matching Languages and Accelerators · ASPLOS 2019
RAPID Programming of Pattern-Recognition Processors · ASPLOS 2016
Electronic design automation
high-level synthesis
0.412020
Accelerating Legacy String Kernels via Bounded Automata Learning · ASPLOS 2020
Debugging and program repair
fault localization
0.412019
Debugging Support for Pattern-Matching Languages and Accelerators · ASPLOS 2019
Hardware accelerators and domain-specific architectures
interactive debugging
0.412019
Debugging Support for Pattern-Matching Languages and Accelerators · ASPLOS 2019
Hardware accelerators and domain-specific architectures
pattern matching accelerator
0.412019
Portable Programming with RAPID · IEEE Trans. Parallel Distributed Syst. 2019
High-performance computing › performance engineering
performance portability
0.412019
Portable Programming with RAPID · IEEE Trans. Parallel Distributed Syst. 2019
Memory systems
in-memory computing
0.312018
ASPEN: A Scalable In-SRAM Architecture for Pushdown Automata · MICRO 2018
Hardware accelerators and domain-specific architectures
spatial architecture
0.312018
Characterizing and Mitigating Output Reporting Bottlenecks in Spatial Automata Processing Architectures · HPCA 2018
Performance modeling and evaluation
workload characterization
0.312018
Characterizing and Mitigating Output Reporting Bottlenecks in Spatial Automata Processing Architectures · HPCA 2018
Programming languages and type systems
domain-specific languages
0.212016
RAPID Programming of Pattern-Recognition Processors · ASPLOS 2016
Reconfigurable computing and FPGAs
FPGA accelerator
0.112020
Accelerating Legacy String Kernels via Bounded Automata Learning · ASPLOS 2020
Data mining › pattern mining › tree mining
frequent subtree mining
0.112018
ASPEN: A Scalable In-SRAM Architecture for Pushdown Automata · MICRO 2018
Data mining
pattern mining
0.112018
Characterizing and Mitigating Output Reporting Bottlenecks in Spatial Automata Processing Architectures · HPCA 2018

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

variable inspection · 0.8step-through debugging · 0.8imperative-declarative programming model · 0.8human study · 0.8automata conversion · 0.8output compression · 0.7architectural simulation · 0.7finite automata compilation · 0.5high-level synthesis · 0.4bounded automata learning · 0.4tessellation · 0.2
YearPublicationVenuePosition
2022 START: A Framework for Trusted and Resilient Autonomous Vehicles (Practical Experience Report)
abstract
From delivering groceries and vital medical supplies to driving trucks and passenger vehicles, society is becoming increasingly reliant on autonomous vehicles (AVs), It is therefore vital that these systems be resilient to adversarial actions, perform mission-critical functions despite known and unknown vulnerabilities, and protect and repair themselves during or after operational failures and cyber-attacks. While techniques have been proposed to address individual aspects of software resilience, vulnerability assessment, automated repair, and invariant detection, there is no approach that provides end-to-end trusted and resilient mission operation and repair on AVs. In this paper, we describe our experience of building START,11Software Techniques for Automated Resilience and Trust a framework that provides increased resilience, accurate vul-nerability assessment, and trustworthy post-repair operation in autonomous vehicles. We combine techniques from binary analysis and rewriting, runtime monitoring and verification, auto-mated program repair, and invariant detection that cooperatively detect and eliminate a swath of software security vulnerabilities in cyberphysical systems. We evaluate our framework using an autonomous vehicle simulation platform, demonstrating its holistic applicability to AVs.
Kevin Leach, Christopher Steven Timperley, Kevin Angstadt, Anh Nguyen-Tuong, Jason Hiser, Aaron Paulos, Partha P. Pal, Patrick Hurley, Carl Thomas, Jack W. Davidson, Stephanie Forrest, Claire Le Goues, Westley Weimer
ISSRE3
2021 The Early Bird Gets the Worm: Major Retention in CS3
abstract
Enrollments continue to rise in Computer Science courses, yet fostering inclusive climates and retaining diverse student bodies remain key challenges. Gender ratios remain heavily skewed and many demographics are severely underrepresented. Numerous studies investigate student retention in introductory courses, but few focus on later stages of the CS retention "pipeline", where techniques and findings from earlier courses may no longer apply.
Fee Lia Christoph, Westley Weimer, Kevin Angstadt
ITiCSE (1)3
2020 Accelerating Legacy String Kernels via Bounded Automata Learning
abstract
The adoption of hardware accelerators, such as FPGAs, into general-purpose computation pipelines continues to rise, but programming models for these devices lag far behind their CPU counterparts. Legacy programs must often be rewritten at very low levels of abstraction, requiring intimate knowledge of the target accelerator architecture. While techniques such as high-level synthesis can help port some legacy software, many programs perform poorly without manual, architecture-specific optimization.
Kevin Angstadt, Jean-Baptiste Jeannin, Westley Weimer
ASPLOS1
2019 Debugging Support for Pattern-Matching Languages and Accelerators
abstract
Programs written for hardware accelerators can often be difficult to debug. Without adequate tool support, program maintenance tasks such as fault localization and debugging can be particularly challenging. In this work, we focus on supporting hardware that is specialized for finite automata processing, a computational paradigm that has accelerated pattern-matching applications across a diverse set of problem domains. While commodity hardware enables high-throughput data analysis, direct interactive debugging (e.g., single-stepping) is not currently supported. We propose a debugging approach for existing commodity hardware that supports step-through debugging and variable inspection of user-written automata processing programs. We focus on programs written in RAPID, a domain-specific language for pattern-matching applications. We develop a prototype of our approach for both Xilinx FPGAs and Micron's Automata Processor that supports simultaneous high-speed processing of data and interactive debugging without requiring modifications to the underlying hardware. Our empirical evaluation demonstrates low clock overheads for our approach across thirteen applications in the ANMLZoo automata processing benchmark suite on FPGAs. Additionally, we evaluate our technique through a human study involving over 60 participants and 20 buggy segments of code. Our generated debugging information increases fault localization accuracy by 22%, or 10 percentage points, in a statistically significant manner (p=0.013).
Matthew Casias, Kevin Angstadt, Tommy Tracy II, Kevin Skadron, Westley Weimer
ASPLOS2
2019 Portable Programming with RAPID
abstract
As the hardware found within data centers becomes more heterogeneous, it is important to allow for efficient execution of algorithms across architectures. We present RAPID, a high-level programming language and combined imperative and declarative model for functionally- and performance-portable execution of sequential pattern-matching applications across CPUs, GPUs, Field-Programmable Gate Arrays (FPGAs), and Micron's D480 AP. RAPID is clear, maintainable, concise, and efficient both at compile and run time. Language features, such as code abstraction and parallel control structures, map well to pattern-matching problems, providing clarity and maintainability. For generation of efficient runtime code, we present algorithms to convert RAPID programs into finite automata. Our empirical evaluation of applications in the ANMLZoo benchmark suite demonstrates that the automata processing paradigm provides an abstraction that is portable across architectures. We evaluate RAPID programs against custom, baseline implementations previously demonstrated to be significantly accelerated. We also find that RAPID programs are much shorter in length, are expressible at a higher level of abstraction than their handcrafted counterparts, and yield generated code that is often more compact.
Kevin Angstadt, Jack Wadden, Westley Weimer, Kevin Skadron
IEEE Trans. Parallel Distributed Syst.1
2018 Characterizing and Mitigating Output Reporting Bottlenecks in Spatial Automata Processing Architectures
abstract
Automata processing has seen a resurgence in importance due to its usefulness for pattern matching and pattern mining of "big data." While large-scale automata processing is known to bottleneck von Neumann processors due to unpredictable memory accesses, spatial architectures excel at automata processing. Spatial architectures can implement automata graphs by wiring together automata states in reconfigurable arrays, allowing parallel automata state computation, and point-to-point state transitions on-chip. However, spatial automata processing architectures can suffer from output constraints (up to 255x in commercial systems!) due to the physical placement of states, output processing architecture design, I/O resources, and the massively parallel nature of the architecture. To understand this bottleneck, we conduct the first known characterization of output requirements of a realistic set of automata processing benchmarks. We find that most benchmarks report fairly frequently, but that few states report at any one time. This observation motivates new output compression schemes and reporting architectures. We evaluate the benefit of one purely software automata transformation and show that output reporting costs can be greatly reduced (improving performance by up to 40% without hardware modification. We then explore bottlenecks in the reporting architecture of a commercial spatial automata processor and propose a new architecture that improves performance by up to 5.1x.
Jack Wadden, Kevin Angstadt, Kevin Skadron
HPCA2
2018 ASPEN: A Scalable In-SRAM Architecture for Pushdown Automata
abstract
Many applications process some form of tree-structured or recursively-nested data, such as parsing XML or JSON web content as well as various data mining tasks. Typical CPU processing solutions are hindered by branch misprediction penalties while attempting to reconstruct nested structures and also by irregular memory access patterns. Recent work has demonstrated improved performance for many data processing applications through memory-centric automata processing engines. Unfortunately, these architectures do not support a computational model rich enough for tasks such as XML parsing. In this paper, we present ASPEN, a general-purpose, scalable, and reconfigurable memory-centric architecture for processing of tree-like data. We take inspiration from previous automata processing architectures, but support the richer deterministic pushdown automata computational model. We propose a custom datapath capable of performing the state matching, stack manipulation, and transition routing operations of pushdown automata, all efficiently stored and computed in memory arrays. Further, we present compilation algorithms for transforming large classes of existing grammars to pushdown automata executable on ASPEN, and demonstrate their effectiveness on four different languages: Cool (object oriented programming), DOT (graph visualization), JSON, and XML. Finally, we present an empirical evaluation of two application scenarios for ASPEN: XML parsing, and frequent subtree mining. The proposed architecture achieves an average 704.5 ns per KB parsing XML compared to 9983 ns per KB in a state-of-the-art XML parser across 23 benchmarks. We also demonstrate a 37.2x and 6x better end-to-end speedup over CPU and GPU implementations of subtree mining.
Kevin Angstadt, Arun Subramaniyan 0001, Elaheh Sadredini, Reza Rahimi, Kevin Skadron, Westley Weimer, Reetuparna Das
MICRO1
2016 RAPID Programming of Pattern-Recognition Processors
abstract
We present RAPID, a high-level programming language and combined imperative and declarative model for programming pattern-recognition processors, such as Micron's Automata Processor (AP). The AP is a novel, non-Von Neumann architecture for direct execution of non-deterministic finite automata (NFAs), and has been demonstrated to provide substantial speedup for a variety of data-processing applications. RAPID is clear, maintainable, concise, and efficient both at compile and run time. Language features, such as code abstraction and parallel control structures, map well to pattern-matching problems, providing clarity and maintainability. For generation of efficient runtime code, we present algorithms to convert RAPID programs into finite automata. Further, we introduce a tessellation technique for configuring the AP, which significantly reduces compile time, increases programmer productivity, and improves maintainability. We evaluate five RAPID programs against custom, baseline implementations previously demonstrated to be significantly accelerated by the AP. We find that RAPID programs are much shorter in length, are expressible at a higher level of abstraction than their handcrafted counterparts, and yield generated code that is often more compact. In addition, our tessellation technique for configuring the AP has comparable device utilization to, and results in compilation that is up to four orders of magnitude faster than, current solutions.
Kevin Angstadt, Westley Weimer, Kevin Skadron
ASPLOS1