Jason Oberg

dblp:62/2008 · also Jason K. Oberg · DBLP profile ↗
← Back
22ranked-venue papers
5as first author
2since 2021 · last 2023
0009-0002-8327-6696ORCID · corroborated

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

Systems, architecture and hardware · 20 · 5 first-author · 2 since 2021Software engineering, systems software and programming languages · 5 · 1 first-authorSecurity and privacy · 1

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
11 papers
Electronic design automation · 43% Integrated circuit design · 32% Processor architecture and microarchitecture · 7%
Network and information security
10 papers
Hardware security and side channels · 61% Authentication and access control · 21% Systems and software security · 18%
Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 100%

Topics — the 30 heaviest of 36, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Electronic design automation › hardware verification and test
hardware verification
0.832023
A Framework for Design, Verification, and Management of SoC Access Control Systems · IEEE Trans. Computers 2023
On the Complexity of Generating Gate Level Information Flow Tracking Logic · IEEE Trans. Inf. Forensics Secur. 2012
Theoretical analysis of gate level information flow tracking · DAC 2010
Authentication and access control
access control
0.712023
A Framework for Design, Verification, and Management of SoC Access Control Systems · IEEE Trans. Computers 2023
Hardware security and side channels › hardware security primitives
on-chip access control
0.712023
A Framework for Design, Verification, and Management of SoC Access Control Systems · IEEE Trans. Computers 2023
Integrated circuit design › system-on-chip
secure soc design
0.712023
A Framework for Design, Verification, and Management of SoC Access Control Systems · IEEE Trans. Computers 2023
Electronic design automation › hardware verification and test › hardware verification
security verification
0.712023
A Framework for Design, Verification, and Management of SoC Access Control Systems · IEEE Trans. Computers 2023
Integrated circuit design
system-on-chip
0.712023
A Framework for Design, Verification, and Management of SoC Access Control Systems · IEEE Trans. Computers 2023
Systems and software security
information flow tracking
0.322014
Leveraging Gate-Level Properties to Identify Hardware Timing Channels · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014
Theoretical Fundamentals of Gate Level Information Flow Tracking · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2011
Hardware security and side channels › hardware security verification
gate-level information flow tracking
0.332011
Theoretical Fundamentals of Gate Level Information Flow Tracking · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2011
Theoretical analysis of gate level information flow tracking · DAC 2010
Information flow isolation in I2C and USB · DAC 2011
Hardware security and side channels
side-channel attack
0.212014
Leveraging Gate-Level Properties to Identify Hardware Timing Channels · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014
Hardware security and side channels › side-channel attack
timing side channel
0.212014
Leveraging Gate-Level Properties to Identify Hardware Timing Channels · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014
Programming languages and type systems
language design
0.212014
Sapper: a language for hardware-level security policy enforcement · ASPLOS 2014
Interconnection networks and networks-on-chip › network-on-chip design
network-on-chip security
0.212013
SurfNoC: a low latency and provably non-interfering approach to secure networks-on-chip · ISCA 2013
Cloud and datacenter computing › resource management › resource multiplexing
time-division multiplexing
0.212013
SurfNoC: a low latency and provably non-interfering approach to secure networks-on-chip · ISCA 2013
Electronic design automation
information flow tracking
0.112012
On the Complexity of Generating Gate Level Information Flow Tracking Logic · IEEE Trans. Inf. Forensics Secur. 2012
Systems and software security
information flow control
0.112011
Crafting a usable microkernel, processor, and I/O system with strict and provable information flow security · ISCA 2011
Systems and software security
operating system security
0.112011
Crafting a usable microkernel, processor, and I/O system with strict and provable information flow security · ISCA 2011
Programming languages and type systems › domain-specific languages
hardware description languages
0.112011
Caisson: a hardware description language for secure information flow · PLDI 2011
Programming languages and type systems › type systems › security type systems
information-flow type systems
0.112011
Caisson: a hardware description language for secure information flow · PLDI 2011
Processor architecture and microarchitecture › multithreading
simultaneous multithreading
0.112010
Minimal Multi-threading: Finding and Removing Redundant Instructions in Multi-threaded Processors · MICRO 2010
Hardware accelerators and domain-specific architectures
face detection
0.112009
Fpga-based face detection system using Haar classifiers · FPGA 2009
Reconfigurable computing and FPGAs
FPGA accelerator
0.112009
Fpga-based face detection system using Haar classifiers · FPGA 2009
Electronic design automation
hardware verification and test
0.112014
Leveraging Gate-Level Properties to Identify Hardware Timing Channels · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014
Hardware security and side channels
trusted execution environments
0.012013
SurfNoC: a low latency and provably non-interfering approach to secure networks-on-chip · ISCA 2013
Processor architecture and microarchitecture
chip multiprocessor
0.012013
SurfNoC: a low latency and provably non-interfering approach to secure networks-on-chip · ISCA 2013
Cloud and datacenter computing
performance isolation
0.012013
SurfNoC: a low latency and provably non-interfering approach to secure networks-on-chip · ISCA 2013
Integrated circuit design
digital circuit design
0.012011
Theoretical Fundamentals of Gate Level Information Flow Tracking · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2011
Electronic design automation
hardware description language
0.012011
Caisson: a hardware description language for secure information flow · PLDI 2011
Electronic design automation
high-level synthesis
0.012011
Simulate and Eliminate: A Top-to-Bottom Design Methodology for Automatic Generation of Application Specific Architectures · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2011
Electronic design automation
logic synthesis
0.012011
Theoretical Fundamentals of Gate Level Information Flow Tracking · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2011
Processor architecture and microarchitecture › hardware-assisted security
secure processor architecture
0.012011
Crafting a usable microkernel, processor, and I/O system with strict and provable information flow security · ISCA 2011

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

property-driven verification · 1.3firmware generation · 1.3formal analysis · 0.4complexity analysis · 0.4static analysis · 0.4gate-level information flow tracking · 0.4formal semantics · 0.4dynamic checks · 0.4time-division multiplexing · 0.3type-based information flow analysis · 0.1time division multiple access · 0.1simulate and eliminate methodology · 0.1shadow logic generation · 0.1formal verification · 0.1formal security proof · 0.1boolean logic analysis · 0.1haar features · 0.1adaboost · 0.1
YearPublicationVenuePosition
2023 A Framework for Design, Verification, and Management of SoC Access Control Systems
abstract
System-on-chip (SoC) architectures are a heterogeneous mix of microprocessors, custom accelerators, memories, interfaces, peripherals, and other resources. These resources communicate using complex on-chip interconnect networks that attempt to quickly and efficiently arbitrate memory transactions whose behaviors can vary drastically depending on the current mode of operation and system operating state. Security- and safety-critical applications require access control policies that define how these resources interact to ensure that malicious and unsafe behaviors do not occur.Akeris a design and verification framework for on-chip access control. The core ofAkeris the access control wrapper (ACW)–a high-performance yet efficient hardware module that dynamically arbitrates on-chip communications.Akerdistributes ACWs across the SoC and programs them to perform local access control.Akerprovides a firmware generation tool and a property-driven security verification methodology to ensure that the ACWs are properly integrated and configured.Akersecurity verification confirms that the ACW behaves properly at IP level. It verifies the hardware root of trust firmware configures the ACW correctly. And it evaluates system-level security threats due to interactions between shared resources.Akeris experimentally validated on a Xilinx UltraScale+ programmable SoC. Additionally, anAkeraccess control system is integrated into the OpenPULP multicore archtiecture that uses OpenTitan hardware root-of-trust for firmware configuration.
Francesco Restuccia 0002, Andres Meza 0001, Ryan Kastner, Jason Oberg
IEEE Trans. Computers4
2021 Special Session: CAD for Hardware Security - Automation is Key to Adoption of Solutions
abstract
Although hardware security has received significant attention in the past decade or so, security design and validation engineers and researchers in industry, academia, and government have not still been equipped with a mature security-aware toolset to automatically and effectively analyze designs for various types of security vulnerabilities at different to detect and fix the security issues or build security in designs efficiently and easily. Despite such a demand, currently, there is not an ecosystem of security-aware Electronic Design Automation (EDA) or Computer-Aided Design (CAD) tools whereas the commercial design for security and validation tools are still in their infancy. However, there exist many research works that try to come up with security analysis engines and provide solutions to address different classes of security issues such as data leakage, access control violation, side-channel leakage, hardware Trojans and malicious changes, and vulnerabilities to physical attacks, fault-injection attacks, reverse engineering attacks, and chip counterfeiting or overproduction attacks. This paper presents the foundation established by several academic and industry researchers who have been supporting the realization of an ecosystem of security-aware CAD tools with their focus on hardware security coverage and fault-injection assessment for SoC designs, and security assurance standardization for electronic design integration.
Sohrab Aftabjahani, Ryan Kastner, Mark Tehranipoor, Farimah Farahmandi, Jason Oberg, Anders Nordstrom, Nicole Fern, Alric Althoff
VTS5
2018 Innovative practices on challenges, opportunities, and solutions to hardware security
abstract
The IP session focuses on challenges, opportunities, and solutions to hardware security. The first contribution discusses design for security and security validation challenges needed to be considered by EDA industry. The second presentation then talks about security verification technologies throughout the design lifecycle. The last contribution discusses a solution that can improve the security of electronic hardware manufacturing.
Sohrab Aftabjahani, Jason Oberg, Huawei Li 0001
VTS2
2015 Quantifying Timing-Based Information Flow in Cryptographic Hardware
abstract
Cryptographic function implementations are known to leak information about private keys through timing information. By using statistical analysis of the variations in runtime required to encrypt different messages, an attacker can relatively easily determine the key with high probability. There are many mitigation techniques to combat these side channels; however, there are limited metrics available to quantify the effectiveness of these mitigation attacks. In this work, we employ information theoretic ideas to quantify the amount of leakage that can be extracted from runtime measurements and reveal the influence of individual key bits on the timing observations across a variety of hardware implementations. By studying different RSA hardware architectures (each with different performance optimizations and mitigation techniques), we determine the effectiveness of these information theoretic techniques against the success of attacks. Our experimental results show that mutual information is a promising metric to quantify timing-based information leakage and it also correlates to the attack-ability of a cryptographic implementation.
Baolei Mao, Wei Hu 0008, Alric Althoff, Janarbek Matai, Jason Oberg, Timothy Sherwood, Ryan Kastner
ICCAD5
2014 Sapper: a language for hardware-level security policy enforcement
abstract
Privacy and integrity are important security concerns. These concerns are addressed by controlling information flow, i.e., restricting how information can flow through a system. Most proposed systems that restrict information flow make the implicit assumption that the hardware used by the system is fully ``correct'' and that the hardware's instruction set accurately describes its behavior in all circumstances. The truth is more complicated: modern hardware designs defy complete verification; many aspects of the timing and ordering of events are left totally unspecified; and implementation bugs present themselves with surprising frequency. In this work we describe Sapper, a novel hardware description language for designing security-critical hardware components. Sapper seeks to address these problems by using static analysis at compile-time to automatically insert dynamic checks in the resulting hardware that provably enforce a given information flow policy at execution time. We present Sapper's design and formal semantics along with a proof sketch of its security. In addition, we have implemented a compiler for Sapper and used it to create a non-trivial secure embedded processor with many modern microarchitectural features. We empirically evaluate the resulting hardware's area and energy overhead and compare them with alternative designs.
Xun Li 0001, Vineeth Kashyap, Jason Oberg, Mohit Tiwari, Rajarathinam Vasanth Ram, Ryan Kastner, Timothy Sherwood, Ben Hardekopf, Fred Chong
ASPLOS3
2014 Leveraging Gate-Level Properties to Identify Hardware Timing Channels
abstract
Modern embedded computing systems such as medical devices, airplanes, and automobiles continue to dominate some of the most critical aspects of our lives. In such systems, the movement of information throughout a device must be tightly controlled to prevent violations of privacy or integrity. Unfortunately, bounding the flow of information can often present a significant challenge, as information can flow through channels that are difficult to detect, such as timing channels. As has been demonstrated by recent research in hardware security, information flow tracking techniques deployed at the hardware or gate level show promise at identifying these “timing flows” but provide no formal statements about this claim NOR mechanisms for separating out timing information from other types of flows. In this paper, we first prove that gate-level information flow tracking can in fact detect timing flows. In addition, we work to identify these timing flows separately from other flows by presenting a framework for identifying a different type of flow that we call functional flows. By using this framework to either confirm or rule out the existence of such flows, we leverage the previous work in hardware information flow tracking to effectively isolate timing flows. To show the effectiveness of this model, we demonstrate its usage on three practical examples: a shared bus (I2C), a cache in a MIPS-based processor, and an RSA encryption core, all of which were written in Verilog/VHDL and then simulated in a variety of scenarios. In each scenario, we demonstrate how our framework can be used to identify timing and functional flows and also analyze our model's overhead.
Jason Oberg, Sarah Meiklejohn, Timothy Sherwood, Ryan Kastner
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.1
2014 Gate-Level Information Flow Tracking for Security Lattices
abstract
High-assurance systems found in safety-critical infrastructures are facing steadily increasing cyber threats. These critical systems require rigorous guarantees in information flow security to prevent confidential information from leaking to an unclassified domain and the root of trust from being violated by an untrusted party. To enforce bit-tight information flow control, gate-level information flow tracking (GLIFT) has recently been proposed to precisely measure and manage all digital information flows in the underlying hardware, including implicit flows through hardware-specific timing channels. However, existing work in this realm either restricts to two-level security labels or essentially targets two-input primitive gates and several simple multilevel security lattices. This article provides a general way to expand the GLIFT method for multilevel security. Specifically, it formalizes tracking logic for an arbitrary Boolean gate under finite security lattices, presents a precise tracking logic generation method for eliminating false positives in GLIFT logic created in a constructive manner, and illustrates application scenarios of GLIFT for enforcing multilevel information flow security. Experimental results show various trade-offs in precision and performance of GLIFT logic created using different methods. It also reveals the area and performance overheads that should be expected when expanding GLIFT for multilevel security.
Wei Hu 0008, Jason Oberg, Baolei Mao, Mohit Tiwari, Timothy Sherwood, Ryan Kastner
ACM Trans. Design Autom. Electr. Syst.3
2013 A practical testing framework for isolating hardware timing channels
abstract
This work identifies a new formal basis for hardware information flow security by providing a method to separate timing flows from other flows of information. By developing a framework for identifying these different classes of information flow at the gate-level, one can either confirm or rule out the existence of such flows in a provable manner. To demonstrate the effectiveness of our presented model, we discuss its usage on a practical example: a CPU cache in a MIPS processor written in Verilog HDL and simulated in a scenario which accurately models previous cache-timing attacks. We demonstrate how our framework can be used to isolate the timing channel used in these attacks.
Jason Oberg, Sarah Meiklejohn, Timothy Sherwood, Ryan Kastner
DATE1
2013 SurfNoC: a low latency and provably non-interfering approach to secure networks-on-chip
abstract
As multicore processors find increasing adoption in domains such as aerospace and medical devices where failures have the potential to be catastrophic, strong performance isolation and security become first-class design constraints. When cores are used to run separate pieces of the system, strong time and space partitioning can help provide such guarantees. However, as the number of partitions or the asymmetry in partition bandwidth allocations grows, the additional latency incurred by time multiplexing the network can significantly impact performance.
Hassan M. G. Wassel, Ying Gao 0001, Jason Oberg, Ted Huffmire, Ryan Kastner, Fred Chong, Timothy Sherwood
ISCA3
2013 A software-based dynamic-warp scheduling approach for load-balancing the Viola-Jones face detection algorithm on GPUs
Tan Nguyen 0001, Daniel Hefenbrock, Jason Oberg, Ryan Kastner, Scott B. Baden
J. Parallel Distributed Comput.3
2012 Random decision tree body part recognition using FPGAs
abstract
Random decision tree classification is used in a variety of applications, from speech recognition to Web search engines. Decision trees are used in the Microsoft Kinect vision pipeline to recognize human body parts and gestures for a more natural computer-user interface. Tree-based classification can be taxing, both in terms of computational load and memory bandwidth. This makes highly-optimized hardware implementations attractive, particularly given the strict power and form factor limitations of embedded or mobile platforms. In this paper we present a complete architecture that interfaces the Kinect depth-image sensor to an FPGA-based implementation of the Forest Fire pixel classification algorithm. Key performance parameters, algorithmic improvements and design trade-off are discussed.
Jason Oberg, Kenneth Eguro, Ray Bittner, Alessandro Forin
FPL1
2012 Simultaneous information flow security and circuit redundancy in Boolean gates
abstract
High assurance systems require strict guarantees on information flow security and fault tolerance or else face catastrophic consequences. Recently, Gate Level Information Flow Tracking (GLIFT) has been proposed to monitor information flows at the level of Boolean logic. At this level, all flows are explicit which makes it possible to detect security violations, even those that occur due to difficult to detect timing channels. In this paper, we show that the encoding technique used in previous GLIFT generation methods includes redundant encoding states, which leads to large overheads in area, delay and verification time. We present a new encoding technique with fewer encoding states by leveraging an inherent property of GLIFT. By denoting don't-care input conditions to logic synthesis tools, smaller GLIFT logic for dynamic information flow tracking is obtained and shorter simulation time for static information flow security verification is achieved. Experimental results using the IWLS benchmarks show average reductions of 39.8%, 31.1% and 57.5% in area, delay and simulation time respectively. Furthermore, the new encoding technique enables the GLIFT tracking logic to function both as information flow tracking and redundant logic. As a result, information flow security and fault tolerance can be simultaneously enforced with the same logic.
Wei Hu 0008, Jason Oberg, Ryan Kastner
ICCAD2
2012 On the Complexity of Generating Gate Level Information Flow Tracking Logic
abstract
Hardware-based side channels are known to expose hard-to-detect security holes enabling attackers to get a foothold into the system to perform malicious activities. Despite this fact, security is rarely accounted for in hardware design flows. As a result, security holes are often only identified after significant damage has been inflicted. Recently, gate level information flow tracking (GLIFT) has been proposed to verify information flow security at the level of Boolean gates. GLIFT is able to detect all logical flows including hardware specific timing channels, which is useful for ensuring properties related to confidentiality and integrity and can even provide real-time guarantees on system behavior. GLIFT can be integrated into the standard hardware design, testing and verification process to eliminate unintended information flows in the target design. However, generating GLIFT logic is a difficult problem due to its inherent complexity and the potential losses in precision. This paper provides a formal basis for deriving GLIFT logic which includes a proof on the NP-completeness of generating precise GLIFT logic and a formal analysis of the complexity and precision of various GLIFT logic generation algorithms. Experimental results using IWLS benchmarks provide a practical understanding of the computational complexity.
Wei Hu 0008, Jason Oberg, Ali Irturk, Mohit Tiwari, Timothy Sherwood, Ryan Kastner
IEEE Trans. Inf. Forensics Secur.2
2011 Information flow isolation in I2C and USB
abstract
Flight control, banking, medical, and other high assurance systems have a strict requirement on correct operation. Fundamental to this is the enforcement of non-interference where particular subsystems should not affect one another. In an effort to help guarantee this policy, recent work has emerged with tracking information flows at the hardware level. This article uses a specific method known as gate-level information flow tracking (GLIFT) to provide a methodology for testing information flows in two common bus protocols, I2C and USB. We show that the protocols do elicit unintended information flows and provide a solution based on time division multiple access (TDMA) that provably isolates devices on the bus from these flows. This paper also discusses the overheads in area and simulation time incurred by this TDMA based solution.
Jason Oberg, Wei Hu 0008, Ali Irturk, Mohit Tiwari, Timothy Sherwood, Ryan Kastner
DAC1
2011 Crafting a usable microkernel, processor, and I/O system with strict and provable information flow security
abstract
High assurance systems used in avionics, medical implants, and cryptographic devices often rely on a small trusted base of hardware and software to manage the rest of the system. Crafting the core of such a system in a way that achieves flexibility, security, and performance requires a careful balancing act. Simple static primitives with hard partitions of space and time are easier to analyze formally, but strict approaches to the problem at the hardware level have been extremely restrictive, failing to allow even the simplest of dynamic behaviors to be expressed.
Mohit Tiwari, Jason Oberg, Xun Li 0001, Jonathan Valamehr, Timothy E. Levin, Ben Hardekopf, Ryan Kastner, Fred Chong, Timothy Sherwood
ISCA2
2011 Caisson: a hardware description language for secure information flow
abstract
Information flow is an important security property that must be incorporated from the ground up, including at hardware design time, to provide a formal basis for a system's root of trust. We incorporate insights and techniques from designing information-flow secure programming languages to provide a new perspective on designing secure hardware. We describe a new hardware description language, Caisson, that combines domain-specific abstractions common to hardware design with insights from type-based techniques used in secure programming languages. The proper combination of these elements allows for an expressive, provably-secure HDL that operates at a familiar level of abstraction to the target audience of the language, hardware architects.
Xun Li 0001, Mohit Tiwari, Jason Oberg, Vineeth Kashyap, Fred Chong, Timothy Sherwood, Ben Hardekopf
PLDI3
2011 Theoretical Fundamentals of Gate Level Information Flow Tracking
abstract
Information flow tracking is an effective tool in computer security for detecting unintended information flows. However, software based information flow tracking implementations have drawbacks in preciseness and performance. As a result, researchers have begun to explore tracking information flow in hardware, and more specifically, understanding the interference of individual bits of information through logical functions. Such gate level information flow tracking (GLIFT) can track information flow in a system at the granularity of individual bits. However, the theoretical basis for GLIFT, which is essential to its adoption in real applications, has never been thoroughly studied. This paper provides fundamental analysis of GLIFT by introducing definitions, properties, and the imprecision problem with a commonly used shadow logic generation method. This paper also presents a solution to this imprecision problem and provides results that show this impreciseness can be tolerated for the benefit of lower area and delay.
Wei Hu 0008, Jason Oberg, Ali Irturk, Mohit Tiwari, Timothy Sherwood, Ryan Kastner
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.2
2011 Simulate and Eliminate: A Top-to-Bottom Design Methodology for Automatic Generation of Application Specific Architectures
abstract
There is an increasing trend toward application specific processing, particularly in embedded computing devices that have stringent performance requirements. Achieving the desired area and throughput constraints requires careful tuning of the underlying architecture and high-level design tools are gaining increasing acceptance to achieve this goal while decreasing the design time. Most existing tools employ a bottom-to-top methodology, which piece together functional units, interconnect, and control logic based on the given application; this tends to scale poorly. We developed a tool, simulate and eliminate (S&E), that is fundamentally different from the existing high-level design tools as it employs a top-to-bottom methodology. S&E provides automatic generation of a variety of general purpose processing cores with different parameterization options. Then, the provided application(s) are simulated on this general-purpose architecture and the unneeded functionality is eliminated resulting in application specific architecture. S&E generates completely synthesizable hardware description language for an input C and/or MATLAB code. S&E provides different design methods and parameterization options to enable the user to study area and performance tradeoffs over a large number of different architectures and find the optimum architecture for the desired objective.
Ali Irturk, Janarbek Matai, Jason Oberg, Jeffrey Su, Ryan Kastner
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.3
2010 Theoretical analysis of gate level information flow tracking
abstract
Understanding the flow of information is an important aspect in computer security. There has been a recent move towards tracking information in hardware and understanding the flow of individual bits through Boolean functions. Such gate level information flow tracking (GLIFT) provides a precise understanding of all flows of information. This paper presents a theoretical analysis of GLIFT. It formalizes the problem, provides fundamental definitions and properties, introduces precise symbolic representations of the GLIFT logic for basic Boolean functions, and gives analytic and quantitative analysis of the GLIFT logic.
Jason Oberg, Wei Hu 0008, Ali Irturk, Mohit Tiwari, Timothy Sherwood, Ryan Kastner
DAC1
2010 Accelerating Viola-Jones Face Detection to FPGA-Level Using GPUs
abstract
Face detection is an important aspect for biometrics, video surveillance and human computer interaction. We present a multi-GPU implementation of the Viola-Jones face detection algorithm that meets the performance of the fastest known FPGA implementation. The GPU design offers far lower development costs, but the FPGA implementation consumes less power. We discuss the performance programming required to realize our design, and describe future research directions.
Daniel Hefenbrock, Jason Oberg, Nhat Thanh, Ryan Kastner, Scott B. Baden
FCCM2
2010 Minimal Multi-threading: Finding and Removing Redundant Instructions in Multi-threaded Processors
abstract
Parallelism is the key to continued performance scaling in modern microprocessors. Yet we observe that this parallelism can often contain a surprising amount of instruction redundancy. We propose to exploit this redundancy to improve performance and decrease energy consumption. We propose a multi-threading micro-architecture, Minimal Multi-Threading (MMT), that leverages register renaming and the instruction window to combine the fetch and execution of identical instructions between threads in SPMD applications. While many techniques exploit intra-thread similarities by detecting when a later instruction may use an earlier result, MMT exploits inter-thread similarities by, whenever possible, fetching instructions from different threads together and only splitting them if the computation is unique. With two threads, our design achieves a speedup of 1.15 (geometric mean) over a two-thread traditional SMT with a trace cache. With four threads, our design achieves a speedup of 1.25 (geometric mean) over a traditional SMT processor with four-threads and a trace cache. These correspond to speedups of 1.5 and 1.84 over a traditional out-of-order processor. Moreover, our performance increases in most applications with no power increase because the increase in overhead is countered with a decrease in cache accesses, leading to a decrease in energy consumption for all applications.
Guoping Long, Diana Franklin, Susmit Biswas, Pablo J. Ortiz, Jason Oberg, Dongrui Fan, Fred Chong
MICRO5
2009 Fpga-based face detection system using Haar classifiers
abstract
This paper presents a hardware architecture for face detection based system on AdaBoost algorithm using Haar features. We describe the hardware design techniques including image scaling, integral image generation, pipelined processing as well as classifier, and parallel processing multiple classifiers to accelerate the processing speed of the face detection system. Also we discuss the optimization of the proposed architecture which can be scalable for configurable devices with variable resources. The proposed architecture for face detection has been designed using Verilog HDL and implemented in Xilinx Virtex-5 FPGA. Its performance has been measured and compared with an equivalent software implementation. We show about 35 times increase of system performance over the equivalent software implementation.
Junguk Cho, Shahnam Mirzaei, Jason Oberg, Ryan Kastner
FPGA3