Demo Data from SIGIR 2026 / reviewers in the wild / expert
David W. Wall
dblp:93/179
· DBLP profile ↗
12ranked-venue papers
8as first author
0since 2021 · last 1994
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 11 · 7 first-authorSystems, architecture and hardware · 5 · 2 first-authorComputer networks · 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
9 papers |
Processor architecture and microarchitecture · 69% Performance modeling and evaluation · 21% Memory systems · 8% | |
| Software engineering, system software, and programming languages
6 papers |
Compilers and program optimization · 92% Debugging and program repair · 8% |
Topics — the 28 heaviest of 29, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › interprocedural optimization
link-time optimization |
0.0 | 3 | 1994 | Link-Time Optimization of Address Calculation on a 64-bit Architecture · PLDI 1994 Experience with a Software-Defined Machine Architecture · ACM Trans. Program. Lang. Syst. 1992 The Mahler Experience: Using and Intermediate Language as the Machine Description · ASPLOS 1987 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.0 | 2 | 1991 | Limits of Instruction-Level Parallelism · ASPLOS 1991 Available Instruction-Level Parallelism for Superscalar and Superpipelined Machines · ASPLOS 1989 |
Compilers and program optimization
instruction scheduling |
0.0 | 2 | 1992 | Experience with a Software-Defined Machine Architecture · ACM Trans. Program. Lang. Syst. 1992 The Mahler Experience: Using and Intermediate Language as the Machine Description · ASPLOS 1987 |
Processor architecture and microarchitecture
instruction set architecture |
0.0 | 4 | 1994 | A Unified Vector/Scalar Floating-Point Architecture · ASPLOS 1989 Link-Time Optimization of Address Calculation on a 64-bit Architecture · PLDI 1994 Experience with a Software-Defined Machine Architecture · ACM Trans. Program. Lang. Syst. 1992 |
Compilers and program optimization › loop optimization
address arithmetic optimization |
0.0 | 1 | 1994 | Link-Time Optimization of Address Calculation on a 64-bit Architecture · PLDI 1994 |
Compilers and program optimization › instruction scheduling
pipeline scheduling |
0.0 | 1 | 1992 | Experience with a Software-Defined Machine Architecture · ACM Trans. Program. Lang. Syst. 1992 |
Compilers and program optimization › dynamic optimization
profile-guided optimization |
0.0 | 1 | 1991 | Predicting Program Behavior Using Real or Estimated Profiles · PLDI 1991 |
Processor architecture and microarchitecture › superscalar processor
wide-issue processor |
0.0 | 1 | 1991 | Limits of Instruction-Level Parallelism · ASPLOS 1991 |
Memory systems › memory hierarchy
cache hierarchy |
0.0 | 1 | 1990 | Generation and Analysis of Very Long Address Traces · ISCA 1990 |
Performance modeling and evaluation
workload characterization |
0.0 | 1 | 1990 | Generation and Analysis of Very Long Address Traces · ISCA 1990 |
Processor architecture and microarchitecture › register file
register file design |
0.0 | 1 | 1989 | A Unified Vector/Scalar Floating-Point Architecture · ASPLOS 1989 |
Processor architecture and microarchitecture
superscalar processor |
0.0 | 1 | 1989 | Available Instruction-Level Parallelism for Superscalar and Superpipelined Machines · ASPLOS 1989 |
Compilers and program optimization
register allocation |
0.0 | 1 | 1988 | Register Windows versus Register Allocation · PLDI 1988 |
Processor architecture and microarchitecture
register file |
0.0 | 1 | 1988 | Register Windows versus Register Allocation · PLDI 1988 |
Processor architecture and microarchitecture › register file
register window |
0.0 | 1 | 1988 | Register Windows versus Register Allocation · PLDI 1988 |
Compilers and program optimization
intermediate representation |
0.0 | 1 | 1987 | The Mahler Experience: Using and Intermediate Language as the Machine Description · ASPLOS 1987 |
Compilers and program optimization › register allocation
interprocedural register allocation |
0.0 | 1 | 1987 | The Mahler Experience: Using and Intermediate Language as the Machine Description · ASPLOS 1987 |
Debugging and program repair › software debugging
debugging optimized code |
0.0 | 1 | 1985 | A Note on Hennessy's "Symbolic Debugging of Optimized Code" · ACM Trans. Program. Lang. Syst. 1985 |
Debugging and program repair › automated debugging
symbolic debugging |
0.0 | 1 | 1985 | A Note on Hennessy's "Symbolic Debugging of Optimized Code" · ACM Trans. Program. Lang. Syst. 1985 |
Processor architecture and microarchitecture
abstract machine |
0.0 | 1 | 1992 | Experience with a Software-Defined Machine Architecture · ACM Trans. Program. Lang. Syst. 1992 |
Performance modeling and evaluation
simulation |
0.0 | 1 | 1991 | Limits of Instruction-Level Parallelism · ASPLOS 1991 |
Performance modeling and evaluation › simulation › discrete-event simulation
trace-driven simulation |
0.0 | 1 | 1991 | Limits of Instruction-Level Parallelism · ASPLOS 1991 |
Distributed computing theory
message passing |
0.0 | 1 | 1982 | Messages as Active Agents · POPL 1982 |
Graph algorithms and graph theory › graph algorithms
network algorithms |
0.0 | 1 | 1982 | Messages as Active Agents · POPL 1982 |
High-performance computing › code optimization
compiler optimization |
0.0 | 1 | 1989 | Available Instruction-Level Parallelism for Superscalar and Superpipelined Machines · ASPLOS 1989 |
Processor architecture and microarchitecture
vector processing |
0.0 | 1 | 1989 | A Unified Vector/Scalar Floating-Point Architecture · ASPLOS 1989 |
Processor architecture and microarchitecture › pipelining
delayed branch |
0.0 | 1 | 1987 | The Mahler Experience: Using and Intermediate Language as the Machine Description · ASPLOS 1987 |
Compilers and program optimization
compiler optimization |
0.0 | 1 | 1985 | A Note on Hennessy's "Symbolic Debugging of Optimized Code" · ACM Trans. Program. Lang. Syst. 1985 |
Methods — techniques the papers use, named apart from their topics
whole-program optimization · 0.0instrumentation · 0.0compiler back-end and linker cooperation · 0.0static estimation · 0.0profiling · 0.0trace-driven simulation · 0.0simulation · 0.0link-time optimization · 0.0link-time code modification · 0.0code reorganization · 0.0symbolic execution · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 1994 | Link-Time Optimization of Address Calculation on a 64-bit ArchitectureabstractCompilers for new machines with 64-bit addresses must generate code that works when the memory used by the program is large. Procedures and global variables are accessed indirectly via global address tables, and calling conventions include code to establish the addressability of the appropriate tables. In the common case of a program that does not require a lot of memory, all of this can be simplified considerably, with a corresponding reduction in program size and execution time. We have used our link-time code modification system OM to perform program transformations related to global address use on the Alpha AXP. Though simple, many of these are whole-program optimizations that can be done only when we can see the entire program at once, so link-time is an ideal occasion to perform them. This paper describes the optimizations performed and shows their effects on program size and performance. Relatively modest transformations, possible without moving code, improve the p... Amitabh Srivastava, David W. Wall |
PLDI | 2 |
| 1992 | Experience with a Software-Defined Machine ArchitectureabstractWe have built a system in which the compiler back end and the linker work together to present an abstract machine at a considerably higher level than the actual machine. The intermediate language translated by the back end is the target language of all high-level compilers and is also the only assembly language generally available. This lets us do intermodule register allocation, which would be harder if some of the code in the program had come from a traditional assembler, out of sight of the optimizer. We do intermodule register allocation and pipeline instruction scheduling at link time, using information gathered by the compiler back end. The mechanism for analyzing and modifying the program at link time is also useful in a wide array of instrumentation tools. David W. Wall |
ACM Trans. Program. Lang. Syst. | 1 |
| 1991 | Limits of Instruction-Level ParallelismabstractGrowing interest in ambitious multiple-issue machines and heavilypipelined machines requires a careful examination of how much instructionlevel parallelism exists in typical programs. Such an examination is complicated by the wide variety of hardware and software techniques for increasing the parallelism that can be exploited, including branch prediction, register renaming, and alias analysis. By performing simulations based on instruction traces, we can model techniques at the limits of feasibility and even beyond. This paper presents the results of simulations of 18 different test programs under 375 different models of available parallelism analysis. This paper replaces Technical Note TN-15, an earlier version of the same material. David W. Wall |
ASPLOS | 1 |
| 1991 | Predicting Program Behavior Using Real or Estimated ProfilesabstractThere is a growing interest in optimizations that depend on or benefit from an execution profile that tells where time is spent. How well does a profile from one run describe the behavior of a different run, and how does this compare with the behavior predicted statically by examining the program itself ? This paper defines two abstract measures of how well a profile predicts actual behavior. According to these measures, real profiles indeed do better than estimated profiles, usually. A perfect profile from an earlier run with the same data set, however, does better still, sometimes by a factor of two. Using such a profile is unrealistic, and can lead to inflated expectations of a profile-driven optimization. i 1. Introduction Many people have built or speculated on systems that use a run-time profile to guide code optimization. Applications include the selection of variables to promote to registers [7,8], placement of code sequences to improve cache behavior [3,6], and pre... David W. Wall |
PLDI | 1 |
| 1990 | Generation and Analysis of Very Long Address TracesabstractExisting methods of generating and analyzing traces suffer from a variety of limitations including complexity, inaccuracy, short length, inflexibility, or applicability only to CISC machines. We use a trace generation mechanism based on link-time code modification which is simple to use, generates accurate long traces of multi-user programs, runs on a RISC machine, and can be flexibly controlled. On-the-fly analysis of the traces allows us to get accurate performance data for large second-level caches. We compare the performance of systems with 512K to 16M second-level caches, and show that for today's large programs, second-level caches of more than 4MB may be unnecessary. We also show that set associativity in second-level caches of more than 1MB does not significantly improve system performance. In addition, our experiments also provide insights into first-level and second-level cache line size. Anita Borg, Richard E. Kessler, David W. Wall |
ISCA | 3 |
| 1989 | A Unified Vector/Scalar Floating-Point ArchitectureabstractIn this paper we present a unified approach to vector and scalar computation, using a single register file for both scalar operands and vector elements. The goal of this architecture is to yield improved scalar performance while broadening the range of vectorizable applications. For example, reduction operations and recurrences can be expressed in vector form in this architecture. This approach results in greater overall performance for most applications than does the approach of emphasizing peak vector performance. The hardware required to support the enhanced vector capability is insignificant, but allows the execution of two operations per cycle for vectorized code. Moreover, the size of the unified vector/scalar register file required for peak performance is an order of magnitude smaller than traditional vector register files, allowing efficient on-chip VLSI implementation. The results of simulations of the Livermore Loops and Linpack using this architecture are presented. Norman P. Jouppi, Jonathan Bertoni, David W. Wall |
ASPLOS | 3 |
| 1989 | Available Instruction-Level Parallelism for Superscalar and Superpipelined MachinesabstractSuperscalar machines can issue several instructions per cycle. Superpipelined machines can issue only one instruction per cycle, but they have cycle times shorter than the latency of any functional unit. In this paper these two techniques are shown to be roughly equivalent ways of exploiting instruction-level parallelism. A parameterizable code reorganization and simulation system was developed and used to measure instruction-level parallelism for a series of benchmarks. Results of these simulations in the presence of various compiler optimizations are presented. The average degree of superpipelining metric is introduced. Our simulations suggest that this metric is already high for many machines. These machines already exploit all of the instruction-level parallelism available in many non-numeric applications, even without parallel instruction issue or higher degrees of pipelining. Norman P. Jouppi, David W. Wall |
ASPLOS | 2 |
| 1988 | Register Windows versus Register AllocationabstractA large register set can be exploited by keeping variables and constants in registers instead of in memory. Hardware register windows and compile-time or link-time global register allocation are ways to do this. A measure of the effectiveness of any of these register management schemes is how thoroughly they remove loads and stores. This measure must also count extra loads and stores executed because of window overflow or conflicts between procedures. David W. Wall |
PLDI | 1 |
| 1987 | The Mahler Experience: Using and Intermediate Language as the Machine DescriptionabstractDivision of a compiler into a front end and a back end that communicate via an intermediate language is a well-known technique. We go farther and use the intermediate language as the official description of a family of machines with simple instruction sets and addressing capabilities, hiding some of the inconvenient details of the real machine from the users and the front end compilers.To do this credibly, we have had to hide not only the existence of the details but also the performance consequences of hiding them. The back end that compiles and links the intermediate language tries to produce code that does not suffer a performance penalty because of the details that were hidden from the front end compiler. To accomplish this, we have used a number of link-time optimizations, including instruction scheduling and interprocedural register allocation, to hide the existence of such idiosyncracies as delayed branches and non-infinite register sets. For the most part we have been sucessful. David W. Wall, Michael L. Powell |
ASPLOS | 1 |
| 1985 | A Note on Hennessy's "Symbolic Debugging of Optimized Code"abstractarticle Free Access Share on A note on Hennessy's “symbolic debugging of optimized code” Authors: David Wall Computer Science Department, Whitmore Laboratory, The Pennsylvania State University, University Park, PA Computer Science Department, Whitmore Laboratory, The Pennsylvania State University, University Park, PAView Profile , Amitabh Srivastava Computer Science Department, Whitmore Laboratory, The Pennsylvania State University, University Park, PA Computer Science Department, Whitmore Laboratory, The Pennsylvania State University, University Park, PAView Profile , Fred Templin Computer Science Department, Whitmore Laboratory, The Pennsylvania State University, University Park, PA Computer Science Department, Whitmore Laboratory, The Pennsylvania State University, University Park, PAView Profile Authors Info & Claims ACM Transactions on Programming Languages and SystemsVolume 7Issue 1pp 176–181https://doi.org/10.1145/2363.215005Published:02 January 1985Publication History 14citation167DownloadsMetricsTotal Citations14Total Downloads167Last 12 Months14Last 6 weeks2 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF David W. Wall, Amitabh Srivastava, Fred Templin |
ACM Trans. Program. Lang. Syst. | 1 |
| 1983 | Construction of centered shortest-path trees in networksabstractAbstract Many researchers in the area of distributed networks have found it convenient to assume the existence of a facility for routing broadcast messages to all the nodes in the network. We are investigating an approach called center‐based forwarding which routes messages via the branches of the shortest‐path tree for some node near the center of the network. In this article we show that this approach results in broadcasts that finish with low delay; we then explain how to construct centered trees in a loosely coupled network environment. David W. Wall, Susan S. Owicki |
Networks | 1 |
| 1982 | Messages as Active AgentsabstractNetwork algorithms are usually stated from the viewpoint of the network nodes, but they can often be stated more clearly from the viewpoint of an active message, a process that intentionally moves from node to node. This paper gives some examples of this notion, and then discusses a means of implementing it. This implementation applied in both directions also demonstrates the logical equivalence of the two viewpoints. David W. Wall |
POPL | 1 |