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

Jeanine E. Cook

dblp:41/4430 · DBLP profile ↗
← Back
19ranked-venue papers
1as first author
2since 2021 · last 2022
—ORCID · none

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

Systems, architecture and hardware · 14 · 1 first-author · 2 since 2021Computer networks · 3Software engineering, systems software and programming languages · 2 · 1 first-author

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
Memory systems · 25% Hardware reliability and fault tolerance · 22% Energy-efficient computing · 21%
Databases, data mining, and information retrieval
1 paper
Data stream processing · 100%

Topics — the 16 heaviest of 18, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Hardware reliability and fault tolerance › arithmetic codes
redundant residue number system
0.922022
Scalable Energy-Efficient Microarchitectures With Computational Error Tolerance Via Redundant Residue Number Systems · IEEE Trans. Computers 2022
Extending Moore's Law via Computationally Error-Tolerant Computing · ACM Trans. Archit. Code Optim. 2018
Energy-efficient computing
voltage scaling
0.722022
Scalable Energy-Efficient Microarchitectures With Computational Error Tolerance Via Redundant Residue Number Systems · IEEE Trans. Computers 2022
Extending Moore's Law via Computationally Error-Tolerant Computing · ACM Trans. Archit. Code Optim. 2018
Memory systems
cache management
0.512021
SortCache: Intelligent Cache Management for Accelerating Sparse Data Workloads · ACM Trans. Archit. Code Optim. 2021
Hardware accelerators and domain-specific architectures › machine learning accelerator
in-memory computing accelerator
0.412020
MetaStrider: Architectures for Scalable Memory-centric Reduction of Sparse Data Streams · ACM Trans. Archit. Code Optim. 2020
Memory systems
processing-in-memory
0.412020
MetaStrider: Architectures for Scalable Memory-centric Reduction of Sparse Data Streams · ACM Trans. Archit. Code Optim. 2020
Hardware reliability and fault tolerance › error resilience
error-tolerant computing
0.312018
Extending Moore's Law via Computationally Error-Tolerant Computing · ACM Trans. Archit. Code Optim. 2018
Processor architecture and microarchitecture
instruction set architecture
0.312018
Extending Moore's Law via Computationally Error-Tolerant Computing · ACM Trans. Archit. Code Optim. 2018
Energy-efficient computing › low-power design
low-power processor design
0.312018
Extending Moore's Law via Computationally Error-Tolerant Computing · ACM Trans. Archit. Code Optim. 2018
Memory systems
memory hierarchy
0.312018
Memory System Design for Ultra Low Power, Computationally Error Resilient Processor Microarchitectures · HPCA 2018
Integrated circuit design
redundant number representation
0.312018
Extending Moore's Law via Computationally Error-Tolerant Computing · ACM Trans. Archit. Code Optim. 2018
Distributed systems › fault tolerance
checkpointing
0.212022
Scalable Energy-Efficient Microarchitectures With Computational Error Tolerance Via Redundant Residue Number Systems · IEEE Trans. Computers 2022
Memory systems › memory access patterns
irregular memory access
0.112021
SortCache: Intelligent Cache Management for Accelerating Sparse Data Workloads · ACM Trans. Archit. Code Optim. 2021
Energy-efficient computing › voltage scaling
near-threshold voltage operation
0.112018
Memory System Design for Ultra Low Power, Computationally Error Resilient Processor Microarchitectures · HPCA 2018
Energy-efficient computing › low-power design
ultra-low power computing
0.112018
Memory System Design for Ultra Low Power, Computationally Error Resilient Processor Microarchitectures · HPCA 2018
Electronic design automation › design space exploration
microarchitecture design space exploration
0.012002
Toward reducing processor simulation time via dynamic reduction of microarchitecture complexity · SIGMETRICS 2002
Performance modeling and evaluation › simulation
processor simulation
0.012002
Toward reducing processor simulation time via dynamic reduction of microarchitecture complexity · SIGMETRICS 2002

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

design space exploration · 0.9parallel architecture design · 0.9memory-level parallelism · 0.9redundant residue number system · 0.6checkpointing · 0.6near-processor cache management · 0.5accelerator design · 0.5simulation · 0.3dynamic model complexity reduction · 0.0cycle-accurate simulation · 0.0
YearPublicationVenuePosition
2022 Scalable Energy-Efficient Microarchitectures With Computational Error Tolerance Via Redundant Residue Number Systems
abstract
Due to high leakage current and threshold voltage, Dennard scaling has reached its limit on conventional semiconductor technology. Energy reduction at the transistor level by simply lowering supply voltage has proven to be infeasible for these devices (e.g., MOSFETs). Some recently proposed millivolt switch techniques aim to mitigate these issues, by maintaining a high on/off ratio of drain currents with a much lower supply voltage. However,$V_{dd}$reduction is constrained by high intermittent error probabilities in millivolt switches. Energy-efficient microarchitectures that are computationally error-tolerant are therefore urgently needed. This article systematically leverages the error correction and checkpointing properties of Redundant Residue Number Systems (RRNS) by varying the number of non-redundant ($n$) and redundant ($r$) residues. The state-of-the-art of RRNS microarchitecture is confined to a fixed configuration point within such a($n$n,$r$r)-RRNSdesign plane, as it supports single error correction alone. Being able to efficiently handle resilience in this($n$n,$r$r)-RRNSplane significantly improves reliability, allowing further${V_{dd}}$reduction to save energy. To this end, first, we propose a scalable RRNS microarchitecture that simultaneously supports both, error-correction, as well as checkpointing with restart capabilities upon detecting uncorrectable errors. Second, we design a novel RRNS-based adaptive checkpointing&restart mechanisms that automatically guarantees reliability while minimizing the energy-delay product (EDP). To the best of our knowledge, these are the first set of checkpointing mechanisms targeting the RRNS infrastructure. Moreover, these mechanisms optimize the usage efficiency of memory capacity. Third, we systematically explore the RRNS design space to find the best ($n$,$r$) configuration point. For similar reliability when compared to a conventional binary core without computationally error-tolerant (runs at high$V_{dd}$), the proposed RRNS scalable microarchitecture reduces EDP by 53 percent on average for memory-intensive workloads and by 67 percent on average for non-memory-intensive workloads.
Bobin Deng, Sriseshan Srikanth, Anirudh Jain, Thomas M. Conte, Erik DeBenedictis, Jeanine E. Cook
IEEE Trans. Computers6
2021 SortCache: Intelligent Cache Management for Accelerating Sparse Data Workloads
abstract
Sparse data applications have irregular access patterns that stymie modern memory architectures. Although hyper-sparse workloads have received considerable attention in the past, moderately-sparse workloads prevalent in machine learning applications, graph processing and HPC have not. Where the former can bypass the cache hierarchy, the latter fit in the cache. This article makes the observation that intelligent, near-processor cache management can improve bandwidth utilization for data-irregular accesses, thereby accelerating moderately-sparse workloads. We propose SortCache, a processor-centric approach to accelerating sparse workloads by introducing accelerators that leverage the on-chip cache subsystem, with minimal programmer intervention.
Sriseshan Srikanth, Anirudh Jain, Thomas M. Conte, Erik DeBenedictis, Jeanine E. Cook
ACM Trans. Archit. Code Optim.5
2020 MetaStrider: Architectures for Scalable Memory-centric Reduction of Sparse Data Streams
abstract
Reduction is an operation performed on the values of two or more key-value pairs that share the same key. Reduction of sparse data streams finds application in a wide variety of domains such as data and graph analytics, cybersecurity, machine learning, and HPC applications. However, these applications exhibit low locality of reference, rendering traditional architectures and data representations inefficient. This article presents MetaStrider, a significant algorithmic and architectural enhancement to the state-of-the-art, SuperStrider. Furthermore, these enhancements enable a variety of parallel, memory-centric architectures that we propose, resulting in demonstrated performance that scales near-linearly with available memory-level parallelism.
Sriseshan Srikanth, Anirudh Jain, Joseph M. Lennon, Thomas M. Conte, Erik DeBenedictis, Jeanine E. Cook
ACM Trans. Archit. Code Optim.6
2019 Proxy or Imposter? A Method and Case Study to Determine the Answer
abstract
As the HPC community moves toward exascale, understanding application behavior is more important due to the increase in size and complexity of systems. While applications also grow larger in size and complexity, the need for proxy applications is crucial because of their ease of use and fast execution. They have become an essential aid for system vendors to evaluate new advanced architectures and for application developers to more quickly resolve algorithm and optimization issues. Therefore, proxies must be representative in behavior and function of the applications they mimic. In this work, we present a methodology to understand if a proxy represents a parent application based on a comparison of computational kernels, appropriate dynamic execution characteristics, and hardware bottlenecks. Based on this method, we conclude that miniQMC is a fairly good proxy for QMCPACK, but could be improved based on our analysis.
Omar Aaziz, Jeanine E. Cook, Courtenay T. Vaughan, David Richards
CLUSTER2
2018 A Methodology for Characterizing the Correspondence Between Real and Proxy Applications
abstract
Proxy applications are a simplified means for stake-holders to evaluate how both hardware and software stacks might perform on the class of real applications that they are meant to model. However, characterizing the relationship between them and their behavior is not an easy task. We present a data-driven methodology for characterizing the relationship between real and proxy applications based on collecting runtime data from both and then using data analytics to find their correspondence and divergence. We use new capabilities for application-level monitoring within LDMS (Lightweight Distributed Monitoring System) to capture hardware performance counter and MPI-related data. To demonstrate the utility of this methodology, we present experimental evidence from two system platforms, using four proxy applications from the current ECP Proxy Application Suite and their corresponding parent applications (in the ECP application portfolio). Results show that each proxy analyzed is representative of its parent with respect to computation and memory behavior. We also analyze communication patterns separately using mpiP data and show that communication for these four proxy/parent pairs is also similar.
Omar Aaziz, Jeanine E. Cook, Jonathan E. Cook 0001, Tanner Juedeman, David Richards, Courtenay T. Vaughan
CLUSTER2
2018 Memory System Design for Ultra Low Power, Computationally Error Resilient Processor Microarchitectures
abstract
Dennard scaling ended a decade ago. Energy reduction by lowering supply voltage has been limited because of guard bands and a subthreshold slope of over 60mV/decade in MOSFETs. On the other hand, newly-proposed logic devices maintain a high on/off ratio for drain currents even at significantly lower operating voltages. However, such ultra low power technology would eventually suffer from intermittent errors in logic as a result of operating close to the thermal noise floor. Computational error correction mitigates this issue by efficiently correcting stochastic bit errors that may occur in computational logic operating at low signal energies, thereby allowing for energy reduction by lowering supply voltage to tens of millivolts. Cores based on a Redundant Residual Number System (RRNS), which represents a number using a tuple of smaller numbers, are a promising candidate for implementing energyefficient computational error correction. However, prior RRNS core microarchitectures abstract away the memory hierarchy and do not consider the power-performance impact of RNS-based memory addressing. When compared with a non-error-correcting core addressing memory in binary, naive RNS-based memory addressing schemes cause a slowdown of over 3x/2x for inorder/out-of-order cores respectively. In this paper, we analyze RNS-based memory access pattern behavior and provide solutions in the form of novel schemes and the resulting design space exploration, thereby, extending and enabling a tangible, ultra low power RRNS based architecture.
Sriseshan Srikanth, Paul G. Rabbat, Eric R. Hein, Bobin Deng, Thomas M. Conte, Erik DeBenedictis, Jeanine E. Cook, Michael P. Frank
HPCA7
2018 Extending Moore's Law via Computationally Error-Tolerant Computing
abstract
Dennard scaling has ended. Lowering the voltage supply ( V dd ) to sub-volt levels causes intermittent losses in signal integrity, rendering further scaling (down) no longer acceptable as a means to lower the power required by a processor core. However, it is possible to correct the occasional errors caused due to lower V dd in an efficient manner and effectively lower power. By deploying the right amount and kind of redundancy, we can strike a balance between overhead incurred in achieving reliability and energy savings realized by permitting lower V dd . One promising approach is the Redundant Residue Number System (RRNS) representation. Unlike other error correcting codes, RRNS has the important property of being closed under addition, subtraction and multiplication, thus enabling computational error correction at a fraction of an overhead compared to conventional approaches. We use the RRNS scheme to design a Computationally-Redundant, Energy-Efficient core, including the microarchitecture, Instruction Set Architecture (ISA) and RRNS centered algorithms. From the simulation results, this RRNS system can reduce the energy-delay-product by about 3× for multiplication intensive workloads and by about 2× in general, when compared to a non-error-correcting binary core.
Bobin Deng, Sriseshan Srikanth, Eric R. Hein, Thomas M. Conte, Erik DeBenedictis, Jeanine E. Cook, Michael P. Frank
ACM Trans. Archit. Code Optim.6
2018 A performance study of the time-varying cache behavior: a study on APEX, Mantevo, NAS, and PARSEC
Nafiul Siddique, Patricia Grubel, Abdel-Hameed A. Badawy, Jeanine E. Cook
J. Supercomput.4
2017 Analyzing Hybrid Transactional Memory Performance Using Intel SDE
abstract
Due to the rapidly increasing use of big data, machines are stressed to provide more computing power at higher energy efficiency while maintaining simpler and more scalable computing paradigms. Transactional Memory (TM) is one such technique that can be used for synchronization instead of conventional locks used in critical sections since it has simpler paradigms, is scalable and has better energy efficiency. We used Intel Software Development Emulator (SDE) tool to collect statistics to explore the performance of both Hardware Transactional Memory (HTM) and Hybrid Transactional Memory (HyTM). Our results shows that our designed Adaptive HyTM have higher commit successes (i.e. abort ratio 42x less) than HTM. Therefore, it takes fewer instructions and thus is more energy efficient.
Mohammad Qayum, Abdel-Hameed A. Badawy, Jeanine E. Cook
CLUSTER3
2017 PeaPaw: Performance and Energy-Aware Partitioning of Workload on Heterogeneous Platforms
abstract
Performance and energy are two major concerns for application development on heterogeneous platforms. It is challenging for application developers to fully exploit the performance/energy potential of heterogeneous platforms. One reason is the lack of reliable prediction of the system’s performance/energy before application implementation. Another reason is that a heterogeneous platform presents a large design space for workload partitioning between different processors. To reduce such development cost, this article proposes a framework, PeaPaw, to assist application developers to identify a workload partition (WP) that has high potential leading to high performance or energy efficiency before actual implementation. The PeaPaw framework includes both analytical performance/energy models and two sets of workload partitioning guidelines. Based on the design goal, application developers can obtain a workload partitioning guideline from PeaPaw for a given platform and follow it to design one or multiple WPs for a given workload. Then PeaPaw can be used to estimate the performance/energy of the designed WPs, and the WP with the best estimated performance/energy can be selected for actual implementation. To demonstrate the effectiveness of PeaPaw, we have conducted three case studies. Results from these case studies show that PeaPaw can faithfully estimate the performance/energy relationships of WPs and provide effective workload partitioning guidelines.
Li Tang 0007, Richard F. Barrett, Jeanine E. Cook, Xiaobo Sharon Hu
ACM Trans. Design Autom. Electr. Syst.3
2016 LMStr: Local memory store the case for hardware controlled scratchpad memory for general purpose processors
abstract
In this paper, we present a hardware controlled on-chip memory called Local Memory Store (LMStr) that can be used either solely as a scratchpad or as a combination of scratchpad and cache, storing any variable specified by the programmer or extracted by the compiler. LMStr is different than a traditional scratchpad in that it is hardware-controlled and it stores the same type of variables in a block that is allocated based on availability and demand. In this initial work on LMStr, we focus on identifying the potential for LMStr, namely, the advantages of storing temporary and program variables in blocks in LMStr and comparing the performance against a regular cache. To the best of our knowledge, this is the first work where scratchpad has been used in a generalized way where the focus is on storing temporary and programmer specified variables in blocks. We evaluate LMStr on a micro-benchmark and a set of the mini-applications in the mantevo suite. We simulate LMStr in the Structural Simulation Toolkit (SST) simulator. LMStr provides a 10% reduction in average data movement between on-chip and off-chip memory compared to a traditional cache hierarchy.
Nafiul Siddique, Abdel-Hameed A. Badawy, Jeanine E. Cook, David Resnick
IPCCC3
2015 The Performance Implication of Task Size for Applications on the HPX Runtime System
abstract
As High Performance Computing moves toward Exascale, where parallel applications will be expected to run on millions of cores concurrently, every component of the computational model must perform optimally. One such component, the task scheduler, can potentially be optimized to runtime application requirements. We focus our study using a task-based runtime system, one possible solution towards Exascale computation. Based on task size and scheduler, the overheads associated with task scheduling vary. Therefore, to minimize overheads and optimize performance, either the task size or the scheduler must adapt. In this paper, we focus on adapting the task size, which can be easily done statically and potentially done dynamically. To this end, we first show how scheduling overheads change with task size or granularity. We then propose and execute a methodology to characterize these overheads and dynamically measure the effects of task granularity. The HPX runtime system [1] employs asynchronous fine-grained task scheduling and incorporates a dynamic performance modeling capability, providing an ideal experimental platform. Using the performance counter capabilities in HPX, we characterize task scheduling overheads and show metrics to determine optimal task size. This is the first step toward the goal of dynamically adapting task size to optimize parallel performance.
Patricia Grubel, Hartmut Kaiser, Jeanine E. Cook, Adrian Serio
CLUSTER3
2014 Accurate statistical performance modeling and validation of out-of-order processors using Monte Carlo methods
abstract
Although simulation is an indispensable tool in computer architecture research and development, there is a pressing need for new modeling techniques to improve simulation speeds while maintaining accuracy and robustness. It is no longer practical to use only cycle-accurate processor simulation (the dominant simulation method) for design space and performance studies due to its extremely slow speed. To address this and other problems of cycle-accurate simulation, we propose a fast and accurate statistical modeling methodology based on Monte Carlo methods to model the performance of modern out-of-order processors. Using these statistical models, simulation and performance prediction can be achieved in seconds regardless of the modeled application's size. This paper presents the proposed methodology and its first application to model a modern out-of-order execution processor. We present a statistical model for the Opteron (Magny-Cours) processor and validate it against real hardware. Using SPEC CPU2006 and Mantevo benchmarks, the model can predict performance in terms of cycles-per-instruction within 4.79% of actual on average. We also present a novel method for generating CPI stacks which are CPI representations that quantify the contribution of individual performance components to the total CPI. To further validate these CPI stacks, we use a detailed processor simulator, build a statistical model of the simulator architecture, validate the model against the simulator, and then proceed to validate the CPI stacks predicted by our statistical model. The average CPI prediction error is 5.6%, and the average difference between the predicted and measured CPI components is 1.3% with a maximum difference of 5.4%.
Waleed Alkohlani, Jeanine E. Cook, Jonathan E. Cook 0001
IPCCC2
2010 Extending the Monte Carlo Processor Modeling Technique: Statistical Performance Models of the Niagara 2 Processor
abstract
With the complexity of contemporary single- and multi-core, multi-threaded processors comes a greater need for faster methods of performance analysis and design. It is no longer practical to use only cycle-accurate processor simulators for design space analysis of modern processors and systems. Therefore, we propose a statistical processor modeling method that is based on Monte Carlo techniques. In this paper, we present new details of the methodology and the recent extensions that we have made to it, including the capability to model multi-core processors. We detail the steps to develop a new model and then present statistical performance models of the Sun Niagara 2 processor micro-architecture that, together with a previously published Itanium 2 Monte Carlo model, demonstrates the validity of the technique and its new capabilities. We show that we can accurately predict single and multi-core performance within 7% of actual on average, and we can use the models to quickly pinpoint performance problems at various components.
Waleed Alkohlani, Jeanine E. Cook, Ram Srinivasan
ICPP2
2007 Compiler-Directed Functional Unit Shutdown for Microarchitecture Power Optimization
abstract
Leakage power is a major concern in current microarchitectures as it is increasing exponentially with decreasing transistor feature sizes. In this paper, we present a technique called functional unit shutdown to reduce the static leakage power consumption of a microprocessor by power gating functional units when not used. We use profile information to identify functional unit idle periods that is used by the compiler to issue corresponding OFF/ON instructions. The decision to power gate during idle periods is made based on the comparison between the energy consumed by leaving the units ON and the overhead and leakage energy involved in power cycling them. This comparison identifies short idle periods where less power is consumed if a functional unit is left ON rather than cycling the power during that period. The results show that this technique saves up to 18% of the total energy and between 4 and 11% on average with a performance degradation of 1%.
Santosh Talli, Ram Srinivasan, Jeanine E. Cook
IPCCC3
2006 Ultra-Fast CPU Performance Prediction: Extending the Monte Carlo Approach
abstract
Performance evaluation of contemporary processors is becoming increasingly difficult due to the lack of proper frameworks. Traditionally, cycle-accurate simulators have been extensively used due to their inherent accuracy and flexibility. However, the effort involved in building them, their slow speed, and their limited ability to provide insight often imposes constraints on the extent of design exploration. In this paper, we refine our earlier Monte Carlo based CPI prediction model (Srinivasan et al., 2006) to include software assisted data-prefetching and an improved memory model. Software-based prefetching is becoming an increasingly important feature in modern processors but to the best of our knowledge, existing frameworks do not model it. Our model uses micro-architecture independent application characteristics to predict CPI with an average error of less than 10% when validated against the Itanium-2 processor. Besides accurate performance prediction, we illustrate the applications of the model to processor bottleneck analysis, workload characterization and design space exploration
Ram Srinivasan, Jeanine E. Cook, Olaf M. Lubeck
SBAC-PAD2
2005 Fast, Accurate Microarchitecture Simulation Using Statistical Phase Detection
abstract
Simulation-based microarchitecture research is often hindered by the slow speed of simulators. In this work, we propose a novel statistical technique to identify highly representative unique behaviors or phases in a benchmark based on its IPC (instructions committed per cycle) trace. By simulating the timing of only the unique phases, the cycle-accurate simulation time for the SPEC suite is reduced from 5 months to 5 days, with a significant retention of the original dynamic behavior. Evaluation across many processor configurations within the same architecture family shows that the algorithm is robust. A cost function is provided that enables users to easily optimize the parameters of the algorithm for either simulation speed or accuracy depending on preference. A new measure is introduced to quantify the ability of a simulation speedup technique to retain behavior realized in the original workload. Unlike a first order statistic such as mean value, the newly introduced measure captures important differences in dynamic behavior between the complete and the sampled simulations
Ram Srinivasan, Jeanine E. Cook, Shaun Cooper
ISPASS2
2005 Improved Estimation for Software Multiplexing of Performance Counters
abstract
On-chip performance counters are gaining popularity as an analysis and validation tool. Most contemporary processors have between two and six physical counters that can monitor an equal number of unique events simultaneously at fixed sampling periods. Through multiplexing and estimation, an even greater number of unique events can be monitored in a single program execution. When a program is sampled in multiplexed mode using round-robin scheduling of a specified event set, the number of events that are physically counted during each sampling period is limited by the number of counters that can be simultaneously accessed. During this period, the remaining events of the multiplexed event-set are not monitored, but their counts are estimated. Our work quantifies the estimation error of the event-counts in the multiplexed mode, which indicates that as many as 42% of sampled intervals are estimated with error greater than 10%. We propose new estimation algorithms that result in an accuracy improvement of up to 40%.
Wiplove Mathur, Jeanine E. Cook
MASCOTS2
2002 Toward reducing processor simulation time via dynamic reduction of microarchitecture complexity
abstract
As processor microarchitectures continue to increase in complexity, so does the time required to explore the design space. Performing cycle-accurate, detailed timing simulation of a realistic workload on a proposed processor microarchitecture often incurs a prohibitively large time cost. We propose a method to reduce the time cost of simulation by dynamically varying the complexity of the processor model throughout the simulation. In this paper, we give first evidence of the feasibility of this approach. We demonstrate that there are significant amounts of time during a simulation where a reduced processor model accurately tracks important behavior of a full model, and that by simulating the reduced model during these times the total simulation time can be reduced. Finally, we discuss metrics for detecting areas where the two processor models track each other, which is crucial for dynamically deciding when to use a reduced rather than a full model.
Jeanine E. Cook, Richard L. Oliver, Eric E. Johnson
SIGMETRICS1