Demo Data from SIGIR 2026 / reviewers in the wild / expert
Augustus K. Uht
dblp:13/3968
· DBLP profile ↗
16ranked-venue papers
11as first author
1since 2021 · last 2021
0000-0002-8652-1960ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 16 · 11 first-author · 1 since 2021Software engineering, systems software and programming languages · 1 · 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
8 papers |
Processor architecture and microarchitecture · 49% Memory systems · 42% High-performance computing · 5% | |
| Databases, data mining, and information retrieval
1 paper |
Indexing and storage engines · 100% |
Topics — the 17 heaviest of 20, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Processor architecture and microarchitecture
branch prediction |
0.5 | 2 | 2021 | Fast Key-Value Lookups with Node Tracker · ACM Trans. Archit. Code Optim. 2021 Disjoint eager execution: an optimal form of speculative execution · MICRO 1995 |
Memory systems › cache
prefetching |
0.5 | 1 | 2021 | Fast Key-Value Lookups with Node Tracker · ACM Trans. Archit. Code Optim. 2021 |
High-performance computing
performance optimization |
0.1 | 1 | 2005 | Uniprocessor Performance Enhancement through Adaptive Clock Frequency Control · IEEE Trans. Computers 2005 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.0 | 4 | 1995 | Disjoint eager execution: an optimal form of speculative execution · MICRO 1995 Requirements for Optimal Execution of Loops with Tests · IEEE Trans. Parallel Distributed Syst. 1992 Concurrency Extraction via Hardware Methods Executing the Static Instruction Stream · IEEE Trans. Computers 1992 |
Energy-efficient computing › power management › dynamic voltage and frequency scaling
dynamic frequency scaling |
0.0 | 1 | 2005 | Uniprocessor Performance Enhancement through Adaptive Clock Frequency Control · IEEE Trans. Computers 2005 |
Reconfigurable computing and FPGAs
FPGA-based processor implementation |
0.0 | 1 | 2005 | Uniprocessor Performance Enhancement through Adaptive Clock Frequency Control · IEEE Trans. Computers 2005 |
Parallel and multicore computing
eager execution |
0.0 | 1 | 1995 | Disjoint eager execution: an optimal form of speculative execution · MICRO 1995 |
Processor architecture and microarchitecture
speculative execution |
0.0 | 1 | 1995 | Disjoint eager execution: an optimal form of speculative execution · MICRO 1995 |
Compilers and program optimization
loop optimization |
0.0 | 1 | 1992 | Requirements for Optimal Execution of Loops with Tests · IEEE Trans. Parallel Distributed Syst. 1992 |
Memory systems › cache design
data cache design |
0.0 | 1 | 1992 | Data path issues in a highly concurrent machine · ISCA 1992 |
Processor architecture and microarchitecture
dataflow architecture |
0.0 | 1 | 1992 | Concurrency Extraction via Hardware Methods Executing the Static Instruction Stream · IEEE Trans. Computers 1992 |
Processor architecture and microarchitecture › microprocessor design › processor core design
datapath design |
0.0 | 1 | 1992 | Data path issues in a highly concurrent machine · ISCA 1992 |
Processor architecture and microarchitecture › register file
register file organization |
0.0 | 1 | 1992 | Data path issues in a highly concurrent machine · ISCA 1992 |
Compilers and program optimization
software optimization |
0.0 | 1 | 1992 | Concurrency Extraction via Hardware Methods Executing the Static Instruction Stream · IEEE Trans. Computers 1992 |
Parallel and multicore computing
concurrent system |
0.0 | 1 | 1992 | Data path issues in a highly concurrent machine · MICRO 1992 |
High-performance computing
supercomputing |
0.0 | 1 | 1992 | Requirements for Optimal Execution of Loops with Tests · IEEE Trans. Parallel Distributed Syst. 1992 |
Programming languages and type systems › language design
imperative constructs |
0.0 | 1 | 1991 | A Theory of Reduced and Minimal Procedural Dependencies · IEEE Trans. Computers 1991 |
Methods — techniques the papers use, named apart from their topics
prefetching · 1.0pre-execution · 1.0branch outcome streaming · 1.0digital hardware design · 0.1simulation · 0.0eager evaluation · 0.0dependence analysis · 0.0dependency analysis · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Fast Key-Value Lookups with Node TrackerabstractLookup operations for in-memory databases are heavily memory bound, because they often rely on pointer-chasing linked data structure traversals. They also have many branches that are hard-to-predict due to random key lookups. In this study, we show that although cache misses are the primary bottleneck for these applications, without a method for eliminating the branch mispredictions only a small fraction of the performance benefit is achieved through prefetching alone. We propose the Node Tracker (NT), a novel programmable prefetcher/pre-execution unit that is highly effective in exploiting inter key-lookup parallelism to improve single-thread performance. We extend NT with branch outcome streaming (BOS) to reduce branch mispredictions and show that this achieves an extra 3× speedup. Finally, we evaluate the NT as a pre-execution unit and demonstrate that we can further improve the performance in both single- and multi-threaded execution modes. Our results show that, on average, NT improves single-thread performance by 4.1× when used as a prefetcher; 11.9× as a prefetcher with BOS; 14.9× as a pre-execution unit and 18.8× as a pre-execution unit with BOS. Finally, with 24 cores of the latter version, we achieve a speedup of 203× and 11× over the single-core and 24-core baselines, respectively. Mustafa Cavus, Mohammed Shatnawi, Resit Sendag, Augustus K. Uht |
ACM Trans. Archit. Code Optim. | 4 |
| 2009 | Central vs. distributed dynamic thermal management for multi-core processors: which one is better?abstractIn this paper we investigate and contrast two techniques to maximize the performance of multi-core processors under thermal constraints. The first technique is a distributed dynamic thermal management system that maximizes the total performance without exceeding given thermal constraints. In our scheme, each core adjusts its operating parameters, i.e., frequency and voltage, according to its temperature which is measured using integrated thermal sensors. We propose a novel controller that dynamically adapts the system to simultaneously avoid timing errors and thermal violations. For comparison purposes, we implement a second technique based on a runtime centralized, optimal system that uses combinatorial optimization techniques to calculate the optimal frequencies and voltages for the different cores to maximize the total throughput under thermal constraints. To empirically validate our techniques, we put together an extensive tool chain that incorporates thermal and power consumption simulators to characterize the performance of multi-core processors for a number of configurations ranging from 2 cores at 90 nm to 16 cores at 32 nm. Our results show that both investigated techniques are capable of delivering significant improvements (about 40% for 16 cores) over standard frequency and voltage planning techniques. From the results, we outline the main advantages and disadvantages of both techniques. Michael Kadin, Sherief Reda, Augustus K. Uht |
ACM Great Lakes Symposium on VLSI | 3 |
| 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. | 4 |
| 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 | 4 |
| 2005 | Uniprocessor Performance Enhancement through Adaptive Clock Frequency ControlabstractUniprocessor designs have always assumed worst-case operating conditions to set the operating clock frequency and, hence, performance. However, much more performance can be obtained under typical operating conditions through experimentation, but such increased frequency operation is subject to the possibility of system failure and, hence, data loss/corruption. Further, mobile CPUs such as those in cell phones/Internet browsers do not adapt to their current surroundings (varying temperature conditions, etc.) so as to increase or decrease operating frequency to maximize performance and/or allow operation under extreme conditions. We present a digital hardware design technique realizing adaptive clock-frequency performance-enhancing digital hardware; the technique can be tuned to approximate performance maximization. The cost is low and the design is straightforward. Experiments are presented evaluating such a design in a pipelined uniprocessor realized in a field programmable gate array (FPGA). Augustus K. Uht |
IEEE Trans. Computers | 1 |
| 2002 | Realizing High IPC Using Time-Tagged Resource-Flow Computing
Augustus K. Uht, Alireza Khalafi, David Morano, Marco Rubén de Alba Rosano, David R. Kaeli |
Euro-Par | 1 |
| 1995 | Disjoint eager execution: an optimal form of speculative executionabstractInstruction Level Parallelism (ILP) speedups of an order-of-magnitude or greater may be possible using the techniques described herein. Traditional speculative code execution is the execution of code down one path of a branch (branch prediction) or both paths of a branch (eager execution), before the condition of the branch has been evaluated, thereby executing code ahead of time, and improving performance. A third, optimal, method of speculative execution, Disjoint Eager Execution (DEE), is described herein. A restricted form of DEE, easier to implement than pure DEE, is developed and evaluated. An implementation of both DEE and minimal control dependencies is described. DEE is shown both theoretically and experimentally to yield more parallelism than both branch prediction and eager execution when the same, finite, execution resources are assumed. ILP speedups of factors in the ten's are demonstrated with constrained resources. Augustus K. Uht, Vijay Sindagi, Kelley Hall |
MICRO | 1 |
| 1992 | Data path issues in a highly concurrent machineabstractIt is desirable to achieve high read bandwidths for the processing elements of highly concurrent SISD computers, both while keeping the register and memory write bandwidths low, and while keeping the interconnection networks simple. Solutions to these problems are proposed, simulated, verified, and measured. New techniques called write elimination and write liberation are presented that also greatly reduce the complexity of the data cache. The elimination of addressable hardware registers is also achieved. Augustus K. Uht, Darin B. Johnson |
ISCA | 1 |
| 1992 | Data path issues in a highly concurrent machine
Augustus K. Uht, Darin B. Johnson |
MICRO | 1 |
| 1992 | Concurrency Extraction via Hardware Methods Executing the Static Instruction StreamabstractHardware solutions to low-level (semantic) concurrency extraction are presented, focusing on the reduction of both control-flow and dataflow inhibitors of concurrency in general-purpose and scientific instruction streams. In the first model, CONDEL-1, an input code control flow model based on the code's branch domains is used in the algorithm to detect the reduced procedural dependencies in the input code. This model allows branches to execute concurrently. The cost and delay of the model's concurrency hardware are demonstrated to be relatively low, especially for the detection of concurrency beyond branches. The reduced procedural dependence techniques of CONDEL-1 are combined with high-speed reduced data dependency techniques to yield a machine model, CONDEL-2, executing standard sequential code in a manner beyond data-flow. Simulation results are presented and analyzed, showing the model's functionality and performance improvement. The beneficial effects of limited software optimizations are also reviewed.> Augustus K. Uht |
IEEE Trans. Computers | 1 |
| 1992 | Requirements for Optimal Execution of Loops with TestsabstractBoth the efficient execution of branch intensive code and knowing the bounds on the same are important issues in computing in general and supercomputing in particular. In prior work, it has been suggested that the hardware needed to execute code with branches optimally is exponentially dependent on the total number of dynamic branches executed, this number of branches being proportional at least to the number of iterations of the loop. For classes of code taking at least one cycle per iteration to execute, this is not the case. For loops containing one test (normally in the form of a Boolean recurrence of order one), it is shown that the hardware necessary varies from exponential to polynomial in the length of the dependence cycle L, while execution time varies from one time cycle per iteration to less than L time cycles per iteration; the variation depends on specific code dependences. These results bring the eager evaluation of imperative code closer to fruition.> Augustus K. Uht |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 1991 | A Theory of Reduced and Minimal Procedural DependenciesabstractA reduced set of procedural dependencies is presented which is necessary and sufficient to describe all procedural dependencies in standard imperative codes. Hence, the set is minimal. In conjunction with reduced data dependencies, this set forms a set of minimal semantic dependencies for all traditional code. It is also shown that all forward branches in structured code are procedurally independent. The effects of limited hardware are also addressed. A possible implementation of a machine enforcing just the minimal procedural dependencies is described.> Augustus K. Uht |
IEEE Trans. Computers | 1 |
| 1989 | Program Optimization with Ideograph
S. ShouHan Wang, Augustus K. Uht |
ICPP (2) | 2 |
| 1988 | Requirements for optimal execution ofL oops with testsabstractBoth the efficient execution of branch intensive code and knowing the bounds on same are important issues in computing in general and supercomputing in particular. In prior work, it has been suggested, implied, or left as a possible maximum, that the hardware needed to execute code with branches optimally, i.e., oracular performance, is exponentially dependent on the total number of dynamic branches to be executed, this number of branches being proportional at least to the number of iterations of the loop. For classes of code taking at least one cycle per iteration to execute, this is not the case. For loops containing one test (normally in the form of a Boolean recurrence of order 1), it is shown that the hardware necessary varies from exponential to polynomial in the length of the dependency cycle L, while execution time varies from one time cycle per iteration to less than L time cycles per iteration; the variation depends on specific code dependencies. Augustus K. Uht |
ICS | 1 |
| 1987 | Incremental Performance Contributions of Hardware Concurrency Extraction Techniques
Augustus K. Uht |
ICS | 1 |
| 1986 | Hardware Extraction of Low-Level Concurrency from Serial Instruction Streams
Augustus K. Uht, Robert G. Wedig |
ICPP | 1 |