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

Ryan N. Rakvic

dblp:98/6248 · DBLP profile ↗
← Back
16ranked-venue papers
4as first author
1since 2021 · last 2021
0000-0001-9668-5507ORCID · verified

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

Systems, architecture and hardware · 13 · 3 first-authorSecurity and privacy · 3 · 1 first-author · 1 since 2021Software engineering, systems software and programming languages · 2 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 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
8 papers
Processor architecture and microarchitecture · 34% Storage systems · 24% Memory systems · 11%
Network and information security
2 papers
Hardware security and side channels · 64% Digital forensics and information hiding · 19% Biometric security · 16%

Topics — the 23 heaviest of 28, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Hardware security and side channels
side-channel attack
0.412019
Monitoring Device Current to Characterize Trim Operations of Solid-State Drives · IEEE Trans. Inf. Forensics Secur. 2019
Processor architecture and microarchitecture
chip multiprocessor
0.112010
Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessors · ACM Trans. Archit. Code Optim. 2010
Energy-efficient computing
power management
0.112010
Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessors · ACM Trans. Archit. Code Optim. 2010
Processor architecture and microarchitecture › multithreading
simultaneous multithreading
0.112010
Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessors · ACM Trans. Archit. Code Optim. 2010
Parallel and multicore computing › parallel programming runtimes
thread management
0.112010
Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessors · ACM Trans. Archit. Code Optim. 2010
Biometric security
iris recognition
0.112009
Parallelizing iris recognition · IEEE Trans. Inf. Forensics Secur. 2009
Reconfigurable computing and FPGAs
FPGA accelerator
0.112009
Parallelizing iris recognition · IEEE Trans. Inf. Forensics Secur. 2009
Processor architecture and microarchitecture
multiple instruction stream
0.112006
Multiple Instruction Stream Processor · ISCA 2006
Processor architecture and microarchitecture
multithreading
0.112006
Multiple Instruction Stream Processor · ISCA 2006
Performance modeling and evaluation
workload characterization
0.122004
The Fuzzy Correlation between Code and Performance Predictability · MICRO 2004
Non-Vital Loads · HPCA 2002
Performance modeling and evaluation
performance prediction
0.012004
The Fuzzy Correlation between Code and Performance Predictability · MICRO 2004
Memory systems
cache
0.012002
Compiler managed micro-cache bypassing for high performance EPIC processors · MICRO 2002
Memory systems › cache management › cache insertion policy
cache bypassing
0.012002
Compiler managed micro-cache bypassing for high performance EPIC processors · MICRO 2002
Memory systems › memory hierarchy
cache hierarchy
0.012002
Non-Vital Loads · HPCA 2002
Memory systems
cache management
0.012002
Non-Vital Loads · HPCA 2002
Processor architecture and microarchitecture › front-end
micro-op cache
0.012002
Compiler managed micro-cache bypassing for high performance EPIC processors · MICRO 2002
Memory systems › cache management › cache insertion policy
selective caching
0.012002
Non-Vital Loads · HPCA 2002
Processor architecture and microarchitecture
branch prediction
0.012000
Completion time multiple branch prediction for enhancing trace cache performance · ISCA 2000
Processor architecture and microarchitecture
instruction fetch
0.012000
Completion time multiple branch prediction for enhancing trace cache performance · ISCA 2000
Processor architecture and microarchitecture › branch prediction
multiple branch prediction
0.012000
Completion time multiple branch prediction for enhancing trace cache performance · ISCA 2000
Processor architecture and microarchitecture › instruction fetch
trace cache
0.012000
Completion time multiple branch prediction for enhancing trace cache performance · ISCA 2000
Operating systems › resource management › process management
thread management
0.012006
Multiple Instruction Stream Processor · ISCA 2006
Processor architecture and microarchitecture › instruction set architecture
EPIC architecture
0.012002
Compiler managed micro-cache bypassing for high performance EPIC processors · MICRO 2002

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

machine learning classification · 0.8current probe measurement · 0.8parallelization · 0.2FPGA · 0.2sequencer architecture · 0.1cache-coherent shared memory · 0.1asynchronous control transfer · 0.1issue queue prioritization · 0.1frequency/voltage scaling · 0.1regression trees · 0.0static analysis · 0.0profiling · 0.0
YearPublicationVenuePosition
2021 Detecting firmware modification on solid state drives via current draw analysis
Dane Brown, T. Owens Walker III, Justin A. Blanco, Robert W. Ives, Hau T. Ngo, James Shey, Ryan N. Rakvic
Comput. Secur.7
2020 Efficient architecture design for the AES-128 algorithm on embedded systems
abstract
Many applications make use of the edge devices in wireless sensor networks (WSNs), including video surveillance, traffic monitoring and enforcement, personal and health care, gaming, habitat monitoring, and industrial process control. However, these edge devices are resource-limited embedded systems that require a low-cost, low-power, and high-performance encryption/decryption solution to prevent attacks such as eavesdropping, message modification, and impersonation. This paper proposes a field-programmable gate array (FPGA) based design and implementation of the Advanced Encryption Standard (AES) algorithm for encryption and decryption using a parallel-pipeline architecture with a data forwarding mechanism that efficiently utilizes on-chip memory modules and massive parallel processing units to support a high throughput rate. Hardware designs that optimize the implementation of the AES algorithm are proposed to minimize resource allocation and maximize throughput. These designs are shown to outperform existing solutions in the literature. Additionally, a rapid prototype of a complete system-on-chip (SoC) solution that employs the proposed design on a configurable platform has been developed and proven to be suitable for real-time applications.
Rupam Mondal, Hau T. Ngo, James Shey, Ryan N. Rakvic, T. Owens Walker III, Dane Brown
CF4
2019 Monitoring Device Current to Characterize Trim Operations of Solid-State Drives
abstract
Solid-state drives (SSDs) are pervasive in modern computing and have supplanted hard disk drives in many applications. Substantial changes in architecture have brought about not only improvements in speed and energy usage but also new security concerns. The presence of proprietary firmware onboard SSD controllers in particular raises the possibility that data believed by a user or operating system to be deleted physically remains on the drive and can thus be recovered. This security issue has a direct application to malware detection, digital forensics, and consumer privacy. To begin to address this, we propose a novel, noninvasive side-channel approach to infer the SSD trim operation. We demonstrate that it is possible to infer the trim operation with better than 99% accuracy using current probe measurements in conjunction with machine learning techniques. We find that the sampling frequency can be reduced to 200 kSps while maintaining greater than 80% of the total power in the 0-1 MHz band. The classifier accordingly uses only information in the frequency range between 0 and 100 kHz in achieving its high accuracy. We also validate our current probe measurement technique by comparing it with an in-line resistor.
James Shey, Justin A. Blanco, T. Owens Walker III, Thomas W. Tedesso, Hau T. Ngo, Ryan N. Rakvic, Kevin D. Fairbanks
IEEE Trans. Inf. Forensics Secur.6
2013 Replacement techniques for dynamic NUCA cache designs on CMPs
Javier Lira, Carlos Molina 0004, Ryan N. Rakvic, Antonio González 0001
J. Supercomput.3
2012 Real Time Iris Segmentation on FPGA
abstract
In this paper, a real time FPGA-based iris segmentation system is presented. The segmentation method implements the Canny edge detection algorithm and a circle search to detect an iris in an image or video frame. The proposed high performance architecture utilizes on-chip memory to significantly improve the throughput of the pipelined and parallel structure. A data forwarding technique is incorporated in the design to efficiently utilize the FPGA's embedded resources. The proposed architecture demonstrates a high speed processing capability that will facilitate the use of dedicated hardware to support an iris recognition application for large databases.
Hau T. Ngo, Jennifer Shafer, Robert W. Ives, Ryan N. Rakvic, Randy P. Broussard
ASAP4
2010 Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessors
abstract
We provide an analysis of thread-management techniques that increase performance or reduce energy in multicore and Simultaneous Multithreaded (SMT) cores. Thread delaying reduces energy consumption by running the core containing the critical thread at maximum frequency while scaling down the frequency and voltage of the cores containing noncritical threads. In this article, we provide an insightful breakdown of thread delaying on a simulated multi-core microprocessor. Thread balancing improves overall performance by giving higher priority to the critical thread in the issue queue of an SMT core. We provide a detailed breakdown of performance results for thread-balancing, identifying performance benefits and limitations. For those benchmarks where a performance benefit is not possible, we introduce a novel thread-balancing mechanism on an SMT core that can reduce energy consumption. We have performed a detailed study on an Intel microprocessor simulator running parallel applications. Thread delaying can reduce energy consumption by 4% to 44% with negligible performance loss. Thread balancing can increase performance by 20% or can reduce energy consumption by 23%.
Ryan N. Rakvic, Qiong Cai, José González 0002, Grigorios Magklis, Pedro Chaparro, Antonio González 0001
ACM Trans. Archit. Code Optim.1
2009 Parallelizing iris recognition
abstract
Iris recognition is one of the most accurate biometric methods in use today. However, the iris recognition algorithms are currently implemented on general purpose sequential processing systems, such as generic central processing units (CPUs). In this work, we present a more direct and parallel processing alternative using field-programmable gate arrays (FPGAs), offering an opportunity to increase speed and potentially alter the form factor of the resulting system. Within the means of this project, the most time-consuming operations of a modern iris recognition algorithm are deconstructed and directly parallelized. In particular, portions of iris segmentation, template creation, and template matching are parallelized on an FPGA-based system, with a demonstrated speedup of 9.6, 324, and 19 times, respectively, when compared to a state-of-the-art CPU-based version. Furthermore, the parallel algorithm on our FPGA also greatly outperforms our calculated theoretical best Intel CPU design. Finally, on a state-of-the-art FPGA, we conclude that a full implementation of a very fast iris recognition algorithm is more than feasible, providing a potential small form-factor solution.
Ryan N. Rakvic, Bradley J. Ulis, Randy P. Broussard, Robert W. Ives, Neil Steiner
IEEE Trans. Inf. Forensics Secur.1
2008 Meeting points: using thread criticality to adapt multicore hardware to parallel regions
abstract
We present a novel mechanism, called meeting point thread characterization, to dynamically detect critical threads in a parallel region. We define the critical thread the one with the longest completion time in the parallel region. Knowing the criticality of each thread has many potential applications. In this work, we propose two applications: thread delaying for multi-core systems and thread balancing for simultaneous multi-threaded (SMT) cores. Thread delaying saves energy consumptions by running the core containing the critical thread at maximum frequency while scaling down the frequency and voltage of the cores containing non-critical threads. Thread balancing improves overall performance by giving higher priority to the critical thread in the issue queue of an SMT core. Our experiments on a detailed microprocessor simulator with the Recognition, Mining, and Synthesis applications from Intel research laboratory reveal that thread delaying can achieve energy savings up to more than 40% with negligible performance loss. Thread balancing can improve performance from 1% to 20%.
Qiong Cai, José González 0002, Ryan N. Rakvic, Grigorios Magklis, Pedro Chaparro, Antonio González 0001
PACT3
2008 Thread fusion
abstract
This work proposes Thread Fusion as an effective way of reducing power consumption when a Simultaneous Multi-Threaded (SMT) core is executing two threads from a homogeneous parallel application. Two dynamic instances of the same static instruction, each from a different thread are merged (fused) into a single instruction, consuming half of the resources of front-end pipeline stages. When the fused instruction is executed, it is cloned and it proceeds at full bandwidth. Our simulation results show average energy reduction of 10% with less than 1% impact on performance.
José González 0002, Qiong Cai, Pedro Chaparro, Grigorios Magklis, Ryan N. Rakvic, Antonio González 0001
ISLPED5
2006 Multiple Instruction Stream Processor
abstract
Microprocessor design is undergoing a major paradigm shift towards multi-core designs, in anticipation that future performance gains will come from exploiting threadlevel parallelism in the software. To support this trend, we present a novel processor architecture called the Multiple Instruction Stream Processing (MISP) architecture. MISP introduces the sequencer as a new category of architectural resource, and defines a canonical set of instructions to support user-level inter-sequencer signaling and asynchronous control transfer. MISP allows an application program to directly manage user-level threads without OS intervention. By supporting the classic cache-coherent shared-memory programming model, MISP does not require a radical shift in the multithreaded programming paradigm. This paper describes the design and evaluation of the MISP architecture for the IA-32 family of microprocessors. Using a research prototype MISP processor built on an IA-32-based multiprocessor system equipped with special firmware, we demonstrate the feasibility of implementing the MISP architecture. We then examine the utility of MISP by (1) assessing the key architectural tradeoffs of the MISP architecture design and (2) showing how legacy multithreaded applications can be migrated to MISP with relative ease.
Richard A. Hankins, Gautham N. Chinya, Jamison D. Collins, Perry H. Wang, Ryan N. Rakvic, Hong Wang 0003, John Paul Shen
ISCA5
2004 The Fuzzy Correlation between Code and Performance Predictability
abstract
Recent studies have shown that most SPEC CPU2K benchmarks exhibit strong phase behavior, and the Cycles per Instruction (CPI) performance metric can be accurately predicted based on program's control-flow behavior, by simply observing the sequencing of the program counters, or extended instruction pointers (EIPs). One motivation of this paper is to see if server workloads also exhibit such phase behavior. In particular, can EIPs effectively predict CPI in server workloads? We propose using regression trees to measure the theoretical upper bound on the accuracy of predicting the CPI using EIPs, where accuracy is measure by the explained variance of CPI with EIPs. Our results show that for most server workloads and, surprisingly, even for CPU2K benchmarks, the accuracy of predicting CPI from EIPs varies widely. We classify the benchmarks into four quadrants based on their CPI variance and predictability of CPI using EIPs. Our results indicate that no single sampling technique can be broadly applied to a large class of applications. We propose a new methodology that selects the best-suited sampling technique to accurately capture the program behavior.
Murali Annavaram, Ryan N. Rakvic, Marzia Polito, Jean-Yves Bouguet, Richard A. Hankins, Bob Davies
MICRO2
2002 Non-Vital Loads
abstract
As the frequency gap between main memory and modern microprocessor grows, the implementation and efficiency of on-chip caches become more important. The growing latency to memory is motivating new research into load instruction behavior and selective data caching. This work investigates the classification of load instruction behavior. A new load classification method is proposed that classifies loads into those vital to performance and those not vital to performance. A limit study is presented to characterize different types of non-vital loads and to quantify the percentage of loads that are non-vital. Finally, a realistic implementation of the non-vital load classification method is presented and a new cache structure called the Vital Cache is proposed to take advantage of non-vital loads. The Vital Cache caches data for vital loads only, deferring non-vital loads to slower caches. Results: The limit study shows 75% of all loads are non-vital with only 35% of the accessed data space being vital for caching. The Vital Cache improves the efficiency of the cache hierarchy and the hit rate for vital loads. The Vital Cache increases performance by 17%.
Ryan N. Rakvic, Bryan Black, Deepak Limaye, John Paul Shen
HPCA1
2002 Compiler managed micro-cache bypassing for high performance EPIC processors
abstract
Advanced microprocessors have been increasing clock rates, well beyond the Gigahertz boundary. For such high performance microprocessors, a small and fast data micro-cache (ucache) is important to overall performance, and proper management of it via load bypassing has a significant performance impact. In this paper, we propose and evaluate a hardware-software collaborative technique to manage ucache bypassing for EPIC processors. The hardware supports the ucache bypassing with a fag in the load instruction format, and the compiler employs static analysis and profiling to identify loads that should bypass the ucache. The collaborative method achieves a significant improvement in performance for the SpecInt2000 benchmarks. On average, about 40%, 30%, 24%, and 22% of load references are identified to bypass 256 B, 1 K, 4 K, and 8 K sized ucaches, respectively. This reduces the ucache miss rates by 39%, 32%, 28%, and 26%. The number of pipeline stalls from loads to their uses is reduced by 13%, 9%, 6%, and 5%. Meanwhile, the L1 and L2 cache misses remain largely unchanged. For the 256 B ucache, bypassing improves overall performance on average by 5%.
Youfeng Wu, Ryan N. Rakvic, Li-Ling Chen, Chyi-Chang Miao, George Chrysos, Jesse Fang
MICRO2
2001 Parallel Cachelets
abstract
A low-latency and high-bandwidth level-1 data cache is crucial for achieving high performance in future superscalar microprocessors. The parallel cachelets (PC) proposed in this paper provide bandwidth close to that of a multi-ported cache with implementation efficiency close to that of a multi-banked cache. In the PC scheme, the traditional level-1 data cache is replaced by a set of parallel single-ported independent caches, or cachelets. Similar to the interleaved multi-banked design, the cachelets can be concurrently accessed to provide bandwidth. However, instead of mapping data elements to the banks in an interleaved fashion based on address bits, they are dynamically assigned to cachelets based on the pattern of concurrent accesses, thus many bank conflicts can be eliminated. Furthermore, the PC scheme exhibits the attribute of implicit set associativity that allows it to outperform a direct-mapped multi-ported cache for some benchmarks. The PC scheme outperforms the multi-banked scheme by an average of 6% (IPC) across a set of SPEC95 benchmarks, and comes very close to matching the performance of the multi ported scheme. When cache access latency is taken into account, the PC scheme even outperforms the multi ported scheme by 6.4%.
Deepak Limaye, Ryan N. Rakvic, John Paul Shen
ICCD2
2000 Completion time multiple branch prediction for enhancing trace cache performance
abstract
The need for multiple branch prediction is inherent to wide instruction fetching. This paper presents a completion time multiple branch predictor called the Tree-based Multiple Branch Predictor (TMP) that builds on previous single branch prediction techniques. It employs a tree structure of branch predictors, or tree-node predictors, and achieves accurate multiple branch prediction by leveraging the high accuracies of the individual branch predictors. A highly-efficient TMP design uses the 2-bit saturating counters for the tree-node predictors. To achieve higher prediction rate, the TMP employs two-level schemes for the tree-node predictors resulting in a three-level TMP design. Placing the TMP at completion time reduces the critical latency in the front-end of the pipeline; the resultant longer update latency does not significantly impact the overall performance. In this paper the TMP is applied to a trace cache design and shown to be very effective in increasing its performance.
Ryan N. Rakvic, Bryan Black, John Paul Shen
ISCA1
1998 Load Execution Latency Reduction
abstract
Load execution latency is dependent on memory access latency, pipeline depth, and data dependencies.Through load effective address prediction both data dependencies and deep pipeline effects can potentially he removed from the overall execution time.If a load effective address is correctly predicted, the data cache can he speculatively accessed prior to execution, thus effectively reducing the latency of load execution.A hybrid load effective address prediction technique is proposed, using three basic predictors: Last Address Predictor (LAP), Stride Predictor (SP), and Global Dynamic Predictor (GDP).In addition to improving load address prediction accuracy, this work explores the balance of data ports in the cache memory hierarchy, and the effects of load and store aliasing in wide superscalar machines.Results: Using a realistic hybrid load address predictor, load address prediction rates range from 32% to 77% averaging 51% for SPECint95 and 60% to 96% averaging 87% for SPECfp95.For a wide superscalar machine with a significant number of execution resources, this prediction rate increases IPC by 12% and 19% for SPECint95 and SPECfp95, respectively.It is also shown that load/ store aliasing decreases the average IPC by 33 % for SPECint95 and 24 % for SPECfp95.
Bryan Black, Brian Mueller, Stephanie Postal, Ryan N. Rakvic, Noppanunt Utamaphethai, John Paul Shen
International Conference on Supercomputing4