EDBT 2026 Demo / reviewers in the wild / expert
Paul R. Wilson 0001
dblp:43/1901-1 · also Paul Robinson Wilson
· DBLP profile ↗
12ranked-venue papers
5as first author
0since 2021 · last 2003
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 4 first-authorSystems, architecture and hardware · 6 · 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
5 papers |
Memory systems · 56% Performance modeling and evaluation · 31% Parallel and multicore computing · 7% | |
| Software engineering, system software, and programming languages
3 papers |
Runtime systems and virtual machines · 50% Operating systems · 30% Compilers and program optimization · 20% |
Topics — the 18 heaviest of 19, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems › memory management
virtual memory |
0.1 | 3 | 1999 | The Case for Compressed Caching in Virtual Memory Systems · USENIX ATC, General Track 1999 EELRU: Simple and Effective Adaptive Page Replacement · SIGMETRICS 1999 Trace Reduction for Virtual Memory Simulations · SIGMETRICS 1999 |
Memory systems › memory management › virtual memory
page replacement |
0.0 | 2 | 1999 | EELRU: Simple and Effective Adaptive Page Replacement · SIGMETRICS 1999 Trace Reduction for Virtual Memory Simulations · SIGMETRICS 1999 |
Performance modeling and evaluation
simulation |
0.0 | 2 | 1999 | EELRU: Simple and Effective Adaptive Page Replacement · SIGMETRICS 1999 Trace Reduction for Virtual Memory Simulations · SIGMETRICS 1999 |
Memory systems › memory management › memory allocation
dynamic memory allocation |
0.0 | 1 | 2000 | Hoard: A Scalable Memory Allocator for Multithreaded Applications · ASPLOS 2000 |
Parallel and multicore computing › thread-level parallelism
multithreaded applications |
0.0 | 1 | 2000 | Hoard: A Scalable Memory Allocator for Multithreaded Applications · ASPLOS 2000 |
Memory systems › memory compression
cache compression |
0.0 | 1 | 1999 | The Case for Compressed Caching in Virtual Memory Systems · USENIX ATC, General Track 1999 |
Performance modeling and evaluation › simulation
cache simulation |
0.0 | 1 | 1999 | EELRU: Simple and Effective Adaptive Page Replacement · SIGMETRICS 1999 |
Memory systems › cache management › cache replacement
LRU |
0.0 | 1 | 1999 | Trace Reduction for Virtual Memory Simulations · SIGMETRICS 1999 |
Storage systems
storage hierarchy |
0.0 | 1 | 1999 | The Case for Compressed Caching in Virtual Memory Systems · USENIX ATC, General Track 1999 |
Performance modeling and evaluation › simulation › discrete-event simulation
trace-driven simulation |
0.0 | 1 | 1999 | Trace Reduction for Virtual Memory Simulations · SIGMETRICS 1999 |
Performance modeling and evaluation › tracing
trace reduction |
0.0 | 1 | 1999 | Trace Reduction for Virtual Memory Simulations · SIGMETRICS 1999 |
Runtime systems and virtual machines
garbage collection |
0.0 | 2 | 1991 | Effective "Static-Graph" Reorganization to Improve Locality in Garbage-Collected Systems · PLDI 1991 Design of the Opportunistic Garbage Collector · OOPSLA 1989 |
Memory systems
cache |
0.0 | 2 | 2000 | Hoard: A Scalable Memory Allocator for Multithreaded Applications · ASPLOS 2000 Effective "Static-Graph" Reorganization to Improve Locality in Garbage-Collected Systems · PLDI 1991 |
Edge and fog computing
resource management |
0.0 | 1 | 2000 | Performing Replacement in Modem Pools · USENIX ATC, General Track 2000 |
Memory systems › cache coherence
false sharing |
0.0 | 1 | 2000 | Hoard: A Scalable Memory Allocator for Multithreaded Applications · ASPLOS 2000 |
Compilers and program optimization › memory optimization
data locality optimization |
0.0 | 1 | 1991 | Effective "Static-Graph" Reorganization to Improve Locality in Garbage-Collected Systems · PLDI 1991 |
Runtime systems and virtual machines › garbage collection
generational garbage collection |
0.0 | 1 | 1989 | Design of the Opportunistic Garbage Collector · OOPSLA 1989 |
Operating systems
process checkpointing |
0.0 | 1 | 1989 | Demonic Memories for Process Histories · PLDI 1989 |
Methods — techniques the papers use, named apart from their topics
per-processor heap · 0.0global heap · 0.0online cost-benefit analysis · 0.0compressed caching · 0.0graph reorganization · 0.0re-execution · 0.0crossing map · 0.0checkpointing · 0.0bucket brigade heap · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2003 | The EELRU adaptive replacement algorithm
Yannis Smaragdakis, Scott F. Kaplan, Paul R. Wilson 0001 |
Perform. Evaluation | 3 |
| 2000 | Hoard: A Scalable Memory Allocator for Multithreaded ApplicationsabstractParallel, multithreaded C and C++ programs such as web servers, database managers, news servers, and scientific applications are becoming increasingly prevalent. For these applications, the memory allocator is often a bottleneck that severely limits program performance and scalability on multiprocessor systems. Previous allocators suffer from problems that include poor performance and scalability, and heap organizations that introduce false sharing. Worse, many allocators exhibit a dramatic increase in memory consumption when confronted with a producer-consumer pattern of object allocation and freeing. This increase in memory consumption can range from a factor of P (the number of processors) to unbounded memory consumption.This paper introduces Hoard, a fast, highly scalable allocator that largely avoids false sharing and is memory efficient. Hoard is the first allocator to simultaneously solve the above problems. Hoard combines one global heap and per-processor heaps with a novel discipline that provably bounds memory consumption and has very low synchronization costs in the common case. Our results on eleven programs demonstrate that Hoard yields low average fragmentation and improves overall program performance over the standard Solaris allocator by up to a factor of 60 on 14 processors, and up to a factor of 18 over the next best allocator we tested. Emery D. Berger, Kathryn S. McKinley, Robert D. Blumofe, Paul R. Wilson 0001 |
ASPLOS | 4 |
| 2000 | Performing Replacement in Modem Pools
Yannis Smaragdakis, Paul R. Wilson 0001 |
USENIX ATC, General Track | 2 |
| 1999 | Trace Reduction for Virtual Memory SimulationsabstractThe unmanageably large size of reference traces has spurred the development of sophisticated trace reduction techniques. In this paper we presenttwonew algorithms for trace reduction --- Safely Allowed Drop (SAD) and Optimal LRU Reduction (OLR). Both achieve high reduction factors and guarantee exact simulations for common replacement policies and for memories larger than a user-defined threshold. In particular, simulation on OLR-reduced traces is accurate for the LRU replacement algorithm, while simulation on SAD-reduced traces is accurate for the LRU and OPT algorithms. OLR also satisfies an optimality property: for a given trace and memory size it produces the shortest possible trace that has the same LRU behavior as the original for a memory of at least this size. Our approach has multiple applications, especially in simulating virtual memory systems Scott F. Kaplan, Yannis Smaragdakis, Paul R. Wilson 0001 |
SIGMETRICS | 3 |
| 1999 | EELRU: Simple and Effective Adaptive Page ReplacementabstractDespite the many replacement algorithms proposed throughout the years, approximations of Least Recently Used (LRU) replacement are predominant in actual virtual memory management systems because of their simplicity and efficiency.LRU, however, exhibits well-known performance problems for regular access patterns over more pages than the main memory can hold (e.g., large loops).In this paper we present Early Eviction LRU (EELRU).EELRU is a simple adaptive replacement algorithm, which uses only the kind of information needed by LRU-how recently each page has been touched relative to the others.It exploits this information more effectively than LRU, using a simple on-line cost/benefit analysis to guide its replacement decisions.In the very common situations where LRU is good, EELRU is good because it behaves like LRU.In common worst cases for LRU, EELRU is significantly better, and in fact close to optimal as it opts to sacrifice some pages to allow others to stay in memory longer.Overall, in its worst case, EELRU cannot be more than a constant factor worse than LRU, while LRU can be worse than EELRU by a factor almost equal to the number of pages in memory.In simulation experiments with a variety of programs and wide ranges of memory sizes, we show that EELRU does in fact outperform LRU, typically reducing misses by ten to thirty percent, and occasionally by much more-sometimes by a factor of two to ten.It rarely performs worse than LRU, and then only by a small amount.Overall, EELRU demonstrates several principles which could be widely useful for adaptive page replacement algorithms:(1) it adapts to changes in program behavior, distinguishing important behavior characteristics for each workload.In particular, EELRU is not affected by highfrequency behavior (e.g., loops much smaller than the memory size) as such behavior may obscure important largescale regularities;(2) EELRU chooses pages to evict in a way that respects both the memory size and the aggregate memory-referencing behavior of the program; (3) depending Yannis Smaragdakis, Scott F. Kaplan, Paul R. Wilson 0001 |
SIGMETRICS | 3 |
| 1999 | The Case for Compressed Caching in Virtual Memory Systems
Paul R. Wilson 0001, Scott F. Kaplan, Yannis Smaragdakis |
USENIX ATC, General Track | 1 |
| 1998 | The Memory Fragmentation Problem: Solved?abstractWe show that for 8 real and varied C and C++ programs, several conventional dynamic storage allocators provide near-zero fragmentation, once we account for overheads due to implementation details such as headers, alignment, etc. This substantially strengthens our previous results showing that the memory fragmentation problem has generally been misunderstood, and that good allocator policies can provide good memory usage for most programs. The new results indicate that for most programs, excellent allocator policies are readily available, and efficiency of implementation is the major challenge. While we believe that our experimental results are state-of-the-art and our methodology is superior to most previous work, more work should be done to identify and study unusual problematic program behaviors not represented in our sample. Mark S. Johnstone, Paul R. Wilson 0001 |
ISMM | 2 |
| 1998 | Portable Run-Time Type Description for Conventional CompilersabstractMany useful programming language extensions and system support libraries require knowledge of the locations of fields within objects at run time. Examples include orthogonal persistent object stores, precise garbage collectors, data structure picklers, and parameter marshaling schemes.For clean and efficient implementation as libraries, these systems require run-time knowledge of in-memory layouts of data objects, which is unavailable in most traditionally compiled and linked programming languages, such as C, C++, and Ada. Even the recently standardized run-time type identification (RTTI) feature in C++ is insufficient, because it describes only language-level features of the type hierarchy and not the compiler-dependent object layout decisions.We present a facility for run-time type description, or RTTD, which extracts low-level layout information from debugging information generated by conventional compilers, and makes it available to user programs. We believe this to be the simplest and most portable approach to run-time type description, requiring no changes to existing compilers. In this paper, we describe the basic strategies and present details of our implementation for C++. We also sketch some extensions that we have implemented, including special treatment of C++'s virtual function table pointers to match persistent or foreign data objects with the actual code in a particular application.Our implementation of run-time type description is freely available. It is in regular use with multiple operating systems and compilers, in both free and commercial products, including a high-performance persistent object storage system for C++ and a real-time garbage collector. Sheetal V. Kakkad, Mark S. Johnstone, Paul R. Wilson 0001 |
ISMM | 3 |
| 1994 | Anomalies and adaptation in the analysis and development of prepaging policies
Paul R. Wilson 0001, Sheetal V. Kakkad, Shubhendu S. Mukherjee |
J. Syst. Softw. | 1 |
| 1991 | Effective "Static-Graph" Reorganization to Improve Locality in Garbage-Collected SystemsabstractArticle Free Access Share on Effective "static-graph" reorganization to improve locality in garbage-collected systems Authors: Paul R. Wilson Electrical Engineering and Computer Science Dept., University of Illinois at Chicago, Box 4348 (m/c 154) Chicago, Illinois Electrical Engineering and Computer Science Dept., University of Illinois at Chicago, Box 4348 (m/c 154) Chicago, IllinoisView Profile , Michael S. Lam Electrical Engineering and Computer Science Dept., University of Illinois at Chicago, Box 4348 (m/c 154) Chicago, Illinois Electrical Engineering and Computer Science Dept., University of Illinois at Chicago, Box 4348 (m/c 154) Chicago, IllinoisView Profile , Thomas G. Moher Electrical Engineering and Computer Science Dept., University of Illinois at Chicago, Box 4348 (m/c 154) Chicago, Illinois Electrical Engineering and Computer Science Dept., University of Illinois at Chicago, Box 4348 (m/c 154) Chicago, IllinoisView Profile Authors Info & Claims PLDI '91: Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementationMay 1991 Pages 177–191https://doi.org/10.1145/113445.113461Published:01 May 1991Publication History 83citation592DownloadsMetricsTotal Citations83Total Downloads592Last 12 Months39Last 6 weeks1 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 Paul R. Wilson 0001, Michael S. Lam, Thomas G. Moher |
PLDI | 1 |
| 1989 | Design of the Opportunistic Garbage CollectorabstractThe Opportunistic Garbage Collector (OGC) is a generational garbage collector for stock hardware and operating systems. While incorporating important features of previous systems, the OGC includes several innovations. A new bucket brigade heap organization supports advancement thresholds between one and two scavenges, using only two or three spaces per generation, and without requiring per-object counts. Opportunistic scavenging decouples scavenging from the filling of available memory, in order to hide potentially disruptive scavenge pauses and improve efficiency. Card marking efficiently records which small areas of the heap may contain pointers into younger generations, and is supported by a refinement of the crossing map technique, to enable scanning of arbitrary cards. Paul R. Wilson 0001, Thomas G. Moher |
OOPSLA | 1 |
| 1989 | Demonic Memories for Process HistoriesabstractDemonic memory is a form of reconstructive memory for process histories. As a process executes, its states are regularly checkpointed, generating a history of the process at low time resolution. Following the initial generation, any prior state of the process can be reconstructed by starting from a checkpointed state and re-executing the process up through the desired state, thereby exploiting the redundancy between the states of a process and the description of that process (i.e., a computer program). Paul R. Wilson 0001, Thomas G. Moher |
PLDI | 1 |