EDBT 2026 Demo / reviewers in the wild / expert
Joshua J. Yi
dblp:26/3407
· DBLP profile ↗
14ranked-venue papers
8as first author
0since 2021 · last 2020
0000-0003-1603-7337ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 13 · 8 first-authorSoftware engineering, systems software and programming languages · 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
6 papers |
Memory systems · 60% Performance modeling and evaluation · 34% Electronic design automation · 4% |
Topics — the 11 heaviest of 13, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems
cache |
0.4 | 1 | 2020 | Informed Prefetching for Indirect Memory Accesses · ACM Trans. Archit. Code Optim. 2020 |
Memory systems › cache › prefetching
indirect memory access prefetching |
0.4 | 1 | 2020 | Informed Prefetching for Indirect Memory Accesses · ACM Trans. Archit. Code Optim. 2020 |
Memory systems › cache
prefetching |
0.4 | 1 | 2020 | Informed Prefetching for Indirect Memory Accesses · ACM Trans. Archit. Code Optim. 2020 |
Performance modeling and evaluation
simulation |
0.2 | 4 | 2007 | Speed versus Accuracy Trade-Offs in Microarchitectural Simulations · IEEE Trans. Computers 2007 Simulation of Computer Architectures: Simulators, Benchmarks, Methodologies, and Recommendations · IEEE Trans. Computers 2006 Improving Computer Architecture Simulation Methodology by Adding Statistical Rigor · IEEE Trans. Computers 2005 |
Performance modeling and evaluation
benchmarking |
0.2 | 3 | 2020 | Informed Prefetching for Indirect Memory Accesses · ACM Trans. Archit. Code Optim. 2020 Simulation of Computer Architectures: Simulators, Benchmarks, Methodologies, and Recommendations · IEEE Trans. Computers 2006 Characterizing and Comparing Prevailing Simulation Techniques · HPCA 2005 |
Performance modeling and evaluation › simulation › architectural simulation
sampled simulation |
0.1 | 2 | 2007 | Speed versus Accuracy Trade-Offs in Microarchitectural Simulations · IEEE Trans. Computers 2007 Characterizing and Comparing Prevailing Simulation Techniques · HPCA 2005 |
Electronic design automation
design space exploration |
0.1 | 2 | 2005 | Improving Computer Architecture Simulation Methodology by Adding Statistical Rigor · IEEE Trans. Computers 2005 A Statistically Rigorous Approach for Improving Simulation Methodology · HPCA 2003 |
Performance modeling and evaluation › simulation › processor simulation
microarchitecture simulation |
0.1 | 1 | 2007 | Speed versus Accuracy Trade-Offs in Microarchitectural Simulations · IEEE Trans. Computers 2007 |
Performance modeling and evaluation › simulation
architectural simulation |
0.1 | 1 | 2006 | Simulation of Computer Architectures: Simulators, Benchmarks, Methodologies, and Recommendations · IEEE Trans. Computers 2006 |
Performance modeling and evaluation › benchmarking
benchmark selection |
0.0 | 1 | 2006 | Simulation of Computer Architectures: Simulators, Benchmarks, Methodologies, and Recommendations · IEEE Trans. Computers 2006 |
Performance modeling and evaluation › system-level analysis › architecture evaluation
processor performance evaluation |
0.0 | 1 | 2003 | A Statistically Rigorous Approach for Improving Simulation Methodology · HPCA 2003 |
Methods — techniques the papers use, named apart from their topics
software prefetching · 0.4metadata instructions · 0.4hardware prefetching · 0.4statistical analysis · 0.1simpoint · 0.1random sampling · 0.1SMARTS · 0.1design space exploration · 0.1plackett-burman design · 0.1plackett and burman design · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Informed Prefetching for Indirect Memory AccessesabstractIndirect memory accesses have irregular access patterns that limit the performance of conventional software and hardware-based prefetchers. To address this problem, we propose the Array Tracking Prefetcher (ATP), which tracks array-based indirect memory accesses using a novel combination of software and hardware. ATP is first configured by special metadata instructions, which are inserted by programmer or compiler to pass data structure traversal knowledge. It then calculates and issues prefetches based on this information. ATP also employs a novel mechanism for dynamically adjusting prefetching distance to reduce early or late prefetches. ATP yields average speedup of 2.17 as compared to a single-core without prefetching. By contrast, the speedup for conventional software and hardware-based prefetching is 1.84 and 1.32, respectively. For four cores, the average speedup for ATP is 1.85, while the corresponding speedups for software and hardware-based prefetching are 1.60 and 1.25, respectively. Mustafa Cavus, Resit Sendag, Joshua J. Yi |
ACM Trans. Archit. Code Optim. | 3 |
| 2018 | Array Tracking Prefetcher for Indirect AccessesabstractIndirect memory accesses have irregular access patterns and concomitantly poor spatial locality. To address this problem, we propose the Array Tracking Prefetcher which tracks array-based indirect memory accesses using a novel combination of software and hardware. Our results show that ATP yields average speedup of 1.60 over the baseline single-core without prefetching. By contrast, the speedup for conventional software and hardware-based prefetching, is 1.49 and 1.16, respectively. For four-cores, the average speedups for ATP, software, and hardware are 1.49, 1.38, and 1.11, respectively. Mustafa Cavus, Resit Sendag, Joshua J. Yi |
ICCD | 3 |
| 2008 | Low power/area branch prediction using complementary branch predictorsabstractAlthough high branch prediction accuracy is necessary for high performance, it typically comes at the cost of larger predictor tables and/or more complex prediction algorithms. Unfortunately, large predictor tables and complex algorithms require more chip area and have higher power consumption, which precludes their use in embedded processors. As an alternative to large, complex branch predictors, in this paper, we investigate adding complementary branch predictors (CBP) to embedded processors to reduce their power consumption and/or improve their branch prediction accuracy. A CBP differs from a conventional branch predictor in that it focuses only on frequently mispredicted branches while letting the conventional branch predictor predict the more predictable ones. Our results show that adding a small 16-entry (28 byte) CBP reduces the branch misprediction rate of static, bimodal, and gshare branch predictors by an average of 51.0%, 42.5%, and 39.8%, respectively, across 38 SPEC 2000 and MiBench benchmarks. Furthermore, a 256-entry CBP improves the energy-efficiency of the branch predictor and processor up to 97.8% and 23.6%, respectively. Finally, in addition to being very energy-efficient, a CBP can also improve the processor performance and, due to its simplicity, can be easily added to the pipeline of any processor. Resit Sendag, Joshua J. Yi, Peng-fei Chuang, David J. Lilja |
IPDPS | 2 |
| 2007 | The impact of wrong-path memory references in cache-coherent multiprocessor systems
Resit Sendag, Ayse Yilmazer, Joshua J. Yi, Augustus K. Uht |
J. Parallel Distributed Comput. | 3 |
| 2007 | Speed versus Accuracy Trade-Offs in Microarchitectural SimulationsabstractDue to the long simulation time of the reference input set, computer architects often use reduced time simulation techniques to shorten the simulation time. However, what has not yet been thoroughly evaluated is the accuracy of these techniques relative to the reference input set and with respect to each other. To rectify this deficiency, this paper uses three methods to characterize reduced input set, truncated execution, and sampling-based simulation techniques while also examining their speed versus accuracy trade-off and configuration dependence. Our results show that the three sampling-based techniques, SimPoint, SMARTS, and random sampling, have the best accuracy, the best speed versus accuracy trade-off, and the least configuration dependence. On the other hand, the reduced input set and truncated execution simulation techniques had generally poor accuracy, were not significantly faster than the sampling-based techniques, and were severely configuration dependent. The final contribution of this paper is a decision tree, which can help architects choose the most appropriate technique for their simulations. Joshua J. Yi, Resit Sendag, David J. Lilja, Douglas M. Hawkins |
IEEE Trans. Computers | 1 |
| 2006 | The exigency of benchmark and compiler drift: designing tomorrow's processors with yesterday's toolsabstractDue to the amount of time required to design a new processor, one set of benchmark programs may be used during the design phase while another may be the standard when the design is finally delivered. Using one benchmark suite to design a processor while using a different, presumably more current, suite to evaluate its ultimate performance may lead to sub-optimal design decisions if there are large differences between the characteristics of the two suites and their respective compilers. We call this changes across time "drift". To evaluate the impact of using yesterday's benchmark and compiler technology to design tomorrow's processors, we compare common benchmarks from the SPEC 95 and SPEC 2000 benchmark suites. Our results yield three key conclusions. First, we show that the amount of drift, for common programs in successive SPEC benchmark suites, is significant. In SPEC 2000, the main memory access time is a far more significant performance bottleneck than in SPEC 95, while less significant SPEC 2000 performance bottlenecks include the L2 cache latency, the L1 I-cache size, and the number of reorder buffer entries. Second, using two different statistical techniques, we show that compiler drift is not as significant as benchmark drift. Third, we show that benchmark and compiler drift can have a significant impact on the final design decisions. Specifically, we use a one-parameter-at-a-time optimization algorithm to design two different year-2000 processors, one optimized for SPEC 95 and the other optimized for SPEC 2000, using the energy-delay product (EDP) as the optimization criterion. The results show that using SPEC 95 to design a year-2000 processor results in an 18.5% larger EDP and a 20.8% higher CPI than using the SPEC 2000 benchmarks to design the corresponding processor. Finally, we make a few recommendations to help computer architects minimize the effects of benchmark and compiler drift. Joshua J. Yi, Hans Vandierendonck, Lieven Eeckhout, David J. Lilja |
ICS | 1 |
| 2006 | Quantifying and reducing the effects of wrong-path memory references in cache-coherent multiprocessor systemsabstractHigh-performance multiprocessor systems built around out-of-order processors with aggressive branch predictors execute many memory references that turn out to be on a mispredicted branch path. Previous work that focused on uniprocessors showed that these wrong-path memory references may pollute the caches by bringing in data that are not needed on the correct execution path and by evicting useful data or instructions. Additionally, they may also increase the amount of cache and memory traffic. On the positive side, however, they may have a prefetching effect for memory references on the correct path. While computer architects have thoroughly studied the impact of wrong-path effects in uniprocessor systems, there is no previous work on its effects in multiprocessor systems. In this paper, we explore the effects of wrong-path memory references on the memory system behavior of shared-memory multiprocessor (SMP) systems for both broadcast and directory-based cache coherence. Our results show that these wrong-path memory references can increase the amount of cache-to-cache transfers by 32%, invalidations by 8% and 20% for broadcast and directory-based SMPs, respectively, and the number of writebacks by up to 67% for both systems. In addition to the extra coherence traffic, wrong-path memory references also increase the number of cache line state transitions by 21% and 32 % for broadcast and directory-based SMPs, respectively. In order to reduce the performance impact of these wrong-path memory references, we introduce two simple mechanisms - filtering wrong-path blocks that are not likely-to-be-used and wrong-path aware cache replacement - that yield speedups of up to 37%. Resit Sendag, Ayse Yilmazer, Joshua J. Yi, Augustus K. Uht |
IPDPS | 3 |
| 2006 | Evaluating the efficacy of statistical simulation for design space explorationabstractRecent research has proposed statistical simulation as a technique for fast performance evaluation of superscalar microprocessors. The idea in statistical simulation is to measure a program's key performance characteristics, generate a synthetic trace with these characteristics, and simulate the synthetic trace. Due to the probabilistic nature of statistical simulation the performance estimate quickly converges to a solution, making it an attractive technique to efficiently cull a large microprocessor design space. In this paper, we evaluate the efficacy of statistical simulation in exploring the design space. Specifically, we characterize the following aspects of statistical simulation: (i) fidelity of performance bottlenecks, with respect to cycle-accurate simulation of the program, (ii) ability' to track design changes, and (Hi) trade-off between accuracy and complexity in statistical simulation models. In our characterization experiments, we use the Plackett & Burman (P&B) design to systematically stress statistical simulation by creating different performance bottlenecks. The key results from this paper are: (1) Synthetic traces stress at least the same 10 most significant processor performance bottlenecks as the original workload, (2) Statistical simulation can effectively track design changes to identify feasible design points in a large design space of aggressive microarchitectures, (3) Our evaluation of 4 statistical simulation models shows that although a very detailed model is needed to achieve a good absolute accuracy in performance estimation, a simple model is sufficient to achieve good relative accuracy, and (4) The P&B design technique can be used to quickly identify areas to focus on to improve the accuracy of the statistical simulation model. Ajay Joshi, Joshua J. Yi, Robert H. Bell Jr., Lieven Eeckhout, Lizy Kurian John, David J. Lilja |
ISPASS | 2 |
| 2006 | Simulation of Computer Architectures: Simulators, Benchmarks, Methodologies, and RecommendationsabstractSimulators have become an integral part of the computer architecture research and design process. Since they have the advantages of cost, time, and flexibility, architects use them to guide design space exploration and to quantify the efficacy of an enhancement. However, long simulation times and poor accuracy limit their effectiveness. To reduce the simulation time, architects have proposed several techniques that increase the simulation speed or throughput. To increase the accuracy, architects try to minimize the amount of error in their simulators and have proposed adding statistical rigor to their simulation methodology. Since a wide range of approaches exist and since many of them overlap, this paper describes, classifies, and compares them to aid the computer architect in selecting the most appropriate one. Joshua J. Yi, David J. Lilja |
IEEE Trans. Computers | 1 |
| 2005 | Characterizing and Comparing Prevailing Simulation TechniquesabstractDue to the simulation time of the reference input set, architects often use alternative simulation techniques. Although these alternatives reduce the simulation time, what has not been evaluated is their accuracy relative to the reference input set, and with respect to each other. To rectify this deficiency, this paper uses three methods to characterize the reduced input set, truncated execution, and sampling simulation techniques while also examining their speed versus accuracy trade-off and configuration dependence. Finally, to illustrate the effect that a technique could have on the apparent speedup results, we quantify the speedups obtained with two processor enhancements. The results show that: 1) the accuracy of the truncated execution techniques was poor for all three characterization methods and for both enhancements, 2) the characteristics of the reduced input sets are not reference-like, and 3) SimPoint and SMARTS, the two sampling techniques, are extremely accurate and have the best speed versus accuracy trade-offs. Finally, this paper presents a decision tree which can help architects choose the most appropriate technique for their simulations. Joshua J. Yi, Sreekumar V. Kodakara, Resit Sendag, David J. Lilja, Douglas M. Hawkins |
HPCA | 1 |
| 2005 | Improving Computer Architecture Simulation Methodology by Adding Statistical RigorabstractDue to cost, time, and flexibility constraints, computer architects use simulators to explore the design space when developing new processors and to evaluate the performance of potential enhancements. However, despite this dependence on simulators, statistically rigorous simulation methodologies are typically not used in computer architecture research. A formal methodology can provide a sound basis for drawing conclusions gathered from simulation results by adding statistical rigor and, consequently, can increase the architect's confidence in the simulation results. This paper demonstrates the application of a rigorous statistical technique to the setup and analysis phases of the simulation process. Specifically, we apply a Plackett and Burman design to: 1) identify key processor parameters, 2) classify benchmarks based on how they affect the processor, and 3) analyze the effect of processor enhancements. Our results showed that, out of the 41 user-configurable parameters in SimpleScalar, only 10 had a significant effect on the execution time. Of those 10, the number of reorder buffer entries and the L2 cache latency were the two most significant ones, by far. Our results also showed that instruction precomputation - a value reuse-like microarchitectural technique - primarily improves the processor's performance by relieving integer ALU contention. Joshua J. Yi, David J. Lilja, Douglas M. Hawkins |
IEEE Trans. Computers | 1 |
| 2003 | A Statistically Rigorous Approach for Improving Simulation MethodologyabstractDue to cost, time, and flexibility constraints, simulators are often used to explore the design space when developing new processor architectures, as well as when evaluating the performance of new processor enhancements. However, despite this dependence on simulators, statistically rigorous simulation methodologies are not typically used in computer architecture research. A formal methodology can provide a sound basis for drawing conclusions gathered from simulation results by adding statistical rigor, and consequently, can increase confidence in the simulation results. This paper demonstrates the application of a rigorous statistical technique to the setup and analysis phases of the simulation process. Specifically, we apply a Plackett and Burman design to: (1) identify key processor parameters; (2) classify benchmarks based on how they affect the processor; and (3) analyze the effect of processor performance enhancements. Our technique expands on previous work by applying a statistical method to improve the simulation methodology instead of applying a statistical model to estimate the performance of the processor. Joshua J. Yi, David J. Lilja, Douglas M. Hawkins |
HPCA | 1 |
| 2002 | Increasing Instruction-Level Parallelism with Instruction Precomputation (Research Note)
Joshua J. Yi, Resit Sendag, David J. Lilja |
Euro-Par | 1 |
| 2002 | Improving Processor Performance by Simplifying and Bypassing Trivial ComputationsabstractDuring the course of a program's execution, a processor performs mangy trivial computations; that is, computations that can be simplified or where the result is zero, one, or equal to one of the input operands. This paper shows that, despite compiling a program with aggressive optimizations (-O3), approximately 30% of all arithmetic instructions, which account for 12% of all dynamic instructions, are trivial computations. The amount of trivial computation is not heavily dependent on the program's specific input values. Our results show that eliminating trivial computations dynamically at run-time yields an average speedup of 8% for a typical processor. Even for a very aggressive processor (i.e. one with no functional unit constraints), the average speedup is still 6%. It also is important to note that the area cost (i.e. hardware) required to dynamically detect and eliminate these trivial computations is very low, consisting of only a few comparators and multiplexers. Joshua J. Yi, David J. Lilja |
ICCD | 1 |