Demo Data from VLDB 2026 / reviewers in the wild / expert
Stéphan Jourdan
dblp:49/3368
· DBLP profile ↗
11ranked-venue papers
4as first author
1since 2021 · last 2026
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 11 · 4 first-author · 1 since 2021Software engineering, systems software and programming languages · 7 · 1 first-author · 1 since 2021
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 · 66% Memory systems · 29% Performance modeling and evaluation · 5% | |
| Software engineering, system software, and programming languages
1 paper |
Operating systems · 100% |
Topics — the 24 heaviest of 25, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems
cache |
0.1 | 3 | 2002 | A stateless, content-directed data prefetching mechanism · ASPLOS 2002 Speculation Techniques for Improving Load Related Instruction Scheduling · ISCA 1999 Correlated Load-Address Predictors · ISCA 1999 |
Memory systems › cache › prefetching
data prefetching |
0.0 | 1 | 2002 | A stateless, content-directed data prefetching mechanism · ASPLOS 2002 |
Memory systems
memory access latency |
0.0 | 1 | 2002 | A stateless, content-directed data prefetching mechanism · ASPLOS 2002 |
Processor architecture and microarchitecture
instruction fetch |
0.0 | 2 | 2000 | eXtended Block Cache · HPCA 2000 Multiple-Block Ahead Branch Predictors · ASPLOS 1996 |
Memory systems › cache › CPU cache
instruction cache |
0.0 | 1 | 2000 | eXtended Block Cache · HPCA 2000 |
Processor architecture and microarchitecture › front-end
instruction supply |
0.0 | 1 | 2000 | eXtended Block Cache · HPCA 2000 |
Processor architecture and microarchitecture › instruction fetch
trace cache |
0.0 | 1 | 2000 | eXtended Block Cache · HPCA 2000 |
Processor architecture and microarchitecture
branch prediction |
0.0 | 2 | 2000 | Multiple-Block Ahead Branch Predictors · ASPLOS 1996 eXtended Block Cache · HPCA 2000 |
Processor architecture and microarchitecture
instruction scheduling |
0.0 | 1 | 1999 | Speculation Techniques for Improving Load Related Instruction Scheduling · ISCA 1999 |
Processor architecture and microarchitecture › out-of-order execution
memory disambiguation |
0.0 | 1 | 1999 | Speculation Techniques for Improving Load Related Instruction Scheduling · ISCA 1999 |
Processor architecture and microarchitecture › register file
physical register sharing |
0.0 | 1 | 1998 | A Novel Renaming Scheme to Exploit Value Temporal Locality Through Physical Register Reuse and Unification · MICRO 1998 |
Processor architecture and microarchitecture › register file
register file management |
0.0 | 1 | 1998 | A Novel Renaming Scheme to Exploit Value Temporal Locality Through Physical Register Reuse and Unification · MICRO 1998 |
Processor architecture and microarchitecture › out-of-order execution
register renaming |
0.0 | 1 | 1998 | A Novel Renaming Scheme to Exploit Value Temporal Locality Through Physical Register Reuse and Unification · MICRO 1998 |
Processor architecture and microarchitecture
value locality |
0.0 | 1 | 1998 | A Novel Renaming Scheme to Exploit Value Temporal Locality Through Physical Register Reuse and Unification · MICRO 1998 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.0 | 1 | 1995 | Exploring Configurations of Functional Units in an Out-of-Order Superscalar Processor · ISCA 1995 |
Processor architecture and microarchitecture
out-of-order execution |
0.0 | 1 | 1995 | Exploring Configurations of Functional Units in an Out-of-Order Superscalar Processor · ISCA 1995 |
Processor architecture and microarchitecture › out-of-order execution
out-of-order issue |
0.0 | 1 | 1995 | An investigation of the performance of various instruction-issue buffer topologies · MICRO 1995 |
Performance modeling and evaluation › system-level analysis › architecture evaluation
processor performance evaluation |
0.0 | 1 | 1995 | An investigation of the performance of various instruction-issue buffer topologies · MICRO 1995 |
Processor architecture and microarchitecture
superscalar processor |
0.0 | 1 | 1995 | Exploring Configurations of Functional Units in an Out-of-Order Superscalar Processor · ISCA 1995 |
Performance modeling and evaluation › simulation › discrete-event simulation
trace-driven simulation |
0.0 | 1 | 1995 | An investigation of the performance of various instruction-issue buffer topologies · MICRO 1995 |
Operating systems › resource management › memory management
memory allocation |
0.0 | 1 | 2002 | A stateless, content-directed data prefetching mechanism · ASPLOS 2002 |
Processor architecture and microarchitecture
front-end |
0.0 | 1 | 2000 | Early load address resolution via register tracking · ISCA 2000 |
Processor architecture and microarchitecture
pipelining |
0.0 | 1 | 2000 | Early load address resolution via register tracking · ISCA 2000 |
Memory systems › cache › cache organization
multibanked data cache |
0.0 | 1 | 1999 | Speculation Techniques for Improving Load Related Instruction Scheduling · ISCA 1999 |
Methods — techniques the papers use, named apart from their topics
content-directed prefetching · 0.1trace-driven simulation · 0.0extended block cache · 0.0memory disambiguation · 0.0data cache hit-miss prediction · 0.0pipelining · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Optimized Memory Tagging on Ampereone ® ProcessorsabstractMemory-safety escapes continue to form the launching pad for a wide range of security attacks, especially for the substantial base of deployed software that is coded in pointer-based languages such as C/C++. Although compiler and Instruction Set Architecture (ISA) extensions have been introduced to address elements of this issue, the overhead and/or comprehensive applicability have limited broad production deployment. The Memory Tagging Extension (MTE) to the ARM AArch64 Instruction Set Architecture is a valuable tool to address memory-safety escapes; when used in synchronous tag-checking mode, MTE provides deterministic detection and prevention of sequential buffer overflow attacks, and probabilistic detection and prevention of exploits resulting from temporal use-after-free pointer programming bugs. The AmpereOne processor, launched in 2024, is the first datacenter processor to support MTE. Its optimized MTE implementation uniquely incurs no memory capacity overhead for tag storage and provides synchronous tag-checking with single-digit performance impact across a broad range of datacenter class workloads. Furthermore, this paper analyzes the complete hardware-software stack, identifying application memory management as the primary remaining source of overhead and highlighting clear opportunities for software optimization. The combination of an efficient hardware foundation and a clear path for software improvement makes the MTE implementation of the AmpereOne processor highly attractive for deployment in production cloud environments. Shivnandan Kaushik, Mahesh Madhav, Nagi Aboulenein, Jason Bessette, Sandeep Brahmadathan, Benjamin Chaffin, Matthew Erler, Stéphan Jourdan, Thomas Maciukenas, Ramya Masti, Jon Perry, Massimo Sutera, Scott Tetrick, Bret Toll, David Turley, Carl Worth, Atiq Bajwa |
ISCA | 8 |
| 2009 | Transitioning the Intel® next generation microarchitectures (nehalem and westmere) into the mainstream
Lily Pao Looi, Stéphan Jourdan |
Hot Chips Symposium | 2 |
| 2002 | A stateless, content-directed data prefetching mechanismabstractAlthough central processor speeds continues to improve, improvements in overall system performance are increasingly hampered by memory latency, especially for pointer-intensive applications. To counter this loss of performance, numerous data and instruction prefetch mechanisms have been proposed. Recently, several proposals have posited a memory-side prefetcher; typically, these prefetchers involve a distinct processor that executes a program slice that would effectively prefetch data needed by the primary program. Alternative designs embody large state tables that learn the miss reference behavior of the processor and attempt to prefetch likely misses.This paper proposes Content-Directed Data Prefetching, a data prefetching architecture that exploits the memory allocation used by operating systems and runtime systems to improve the performance of pointer-intensive applications constructed using modern language systems. This technique is modeled after conservative garbage collection, and prefetches "likely" virtual addresses observed in memory references. This prefetching mechanism uses the underlying data of the application, and provides an 11.3% speedup using no additional processor state. By adding less than ½% space overhead to the second level cache, performance can be further increased to 12.6% across a range of "real world" applications. Robert Cooksey, Stéphan Jourdan, Dirk Grunwald |
ASPLOS | 2 |
| 2000 | eXtended Block CacheabstractThis paper describes a new instruction-supply mechanism, called the eXtended Block Cache (XBC). The goal of the XBC is to improve on the Trace Cache (TC) hit rate, while providing the same bandwidth. The improved hit rate is achieved by having the XBC a nearly redundant free structure. The basic unit recorded in the XBC is the extended block (XB), which is a multiple-entry single-exit instruction block. A XB is a sequence of instructions ending on a conditional or an indirect branch. Unconditional direct jumps do not end a XB. In order to enable multiple entry points per XB, the XB index is derived from the IP of its ending instruction. Instructions within the XB are recorded in reverse order, enabling easy extension of XBs. The multiple entry-points remove most of the redundancy. Since there is at most one conditional branch per XB, we can fetch up to n XBs per cycle by predicting n branches. The multiple fetch enables the XBC to march the TC bandwidth. Stéphan Jourdan, Lihu Rappoport, Yoav Almog, Mattan Erez, Adi Yoaz, Ronny Ronen |
HPCA | 1 |
| 2000 | Early load address resolution via register trackingabstractHigher microprocessor frequencies accentuate the performance cost of memory accesses. This is especially noticeable in the Intel's IA32 architecture where lack of registers results in increased number of memory accesses. This paper presents novel, non-speculative technique that partially hides the increasing load-to-use latency, by allowing the early issue of load instructions. Early load address resolution relies on register tracking to safely compute the addresses of memory references in the front-end part of the processor pipeline. Register tracking may be performed in any pipeline stage following instruction decode and prior to execution. Several tracking schemes are proposed in this paper: Stack pointer tracking allows safe early resolution of stack references by keeping track of the value of the ESP register (the stack pointer). About 25% of all loads are stack loads and 95% of these lends may be resolved in the front-end. Absolute address tracking allows the early resolution of constant-address loads. Displacement-based tracking tackles all loads with addresses of the form reg+immediate by tracking the values of all general-purpose registers. This class corresponds to 82% of all loads, and about 65% of these loads can be safely resolved in the front-end pipeline. The paper describes the tracking schemes, analyzes their performance potential in a deeply pipelined processor and discusses the integration of tracking with memory disambiguation. Michael Bekerman, Adi Yoaz, Freddy Gabbay, Stéphan Jourdan, Maxim Kalaev, Ronny Ronen |
ISCA | 4 |
| 1999 | Correlated Load-Address PredictorsabstractAs microprocessors become faster, the relative performance cost of memory accesses increases. Bigger and faster caches significantly reduce the absolute load-to-use time delay. However, increase in processor operational frequencies impairs the relative load-to-use latency, measured in processor cycles (e.g. from two cycles on the Pentium processor to three cycles of more in current designs). Load-address prediction techniques were introduced to partially cut the load-to-use latency. This paper focuses on advanced address-prediction schemes to further shorten program execution time. Existing address prediction schemes are capable of predicting simple address patterns, consisting mainly of constant addresses or stride-based addresses. This paper explores the characteristics of the remaining loads and suggests new enhanced techniques to improve prediction effectiveness: Context-based prediction to tackle part of the remaining, difficult-to-predict, load instructions. New prediction algorithms to take advantage of global correlation among different static loads. New confidence mechanisms to increase the correct prediction rate and to eliminate costly mispredictions. Mechanisms to prevent long or random address sequences from polluting the predictor data structures while providing some hysteresis behavior to the predictions. Such an enhanced address predictor accurately predicts 67% of all loads, while keeping the misprediction rate close to 1% We further prove that the proposed predictor works reasonably well in a deep pipelined architecture where the predict-to-update delay may significantly impair both prediction rate and accuracy. Michael Bekerman, Stéphan Jourdan, Ronny Ronen, Gilad Kirshenboim, Lihu Rappoport, Adi Yoaz, Uri C. Weiser |
ISCA | 2 |
| 1999 | Speculation Techniques for Improving Load Related Instruction SchedulingabstractState of the art microprocessors achieve high performance by executing multiple instructions per cycle. In an out-of-order engine, the instruction scheduler is responsible for dispatching instructions to execution units based on dependencies, latencies, and resource availability. Most existing instruction schedulers are doing a less than optimal job of scheduling memory accesses and instructions dependent on them, for the following reasons: Memory dependencies cannot be resolved prior to execution, so loads are not advanced ahead of preceding stores. The dynamic latencies of load instructions are unknown, so scheduling dependent instructions is based on either optimistic load-use delay (may cause re-scheduling and re-execution) or pessimistic delay (creating unnecessary delays). Memory pipelines are more expensive than other execution units, and as such, are a scarce resource. Currently, an increase in the memory execution bandwidth is usually achieved through multi-banked caches where bank conflicts limit efficiency. In this paper we present three techniques to address these scheduler limitations. One is to improve the scheduling of load instructions by using a simple memory disambiguation mechanism. The second is to improve the scheduling of load dependent instructions by employing a Data Cache Hit-Miss Predictor to predict the dynamic load latencies. And the third is to improve the efficiency of load scheduling in a multi-banked cache through cache-bank prediction. Adi Yoaz, Mattan Erez, Ronny Ronen, Stéphan Jourdan |
ISCA | 4 |
| 1998 | A Novel Renaming Scheme to Exploit Value Temporal Locality Through Physical Register Reuse and UnificationabstractHardware renaming schemes provide multiple physical locations (register or memory) for each logical name. In current renaming schemes, a new physical location is allocated for each dispatched instruction regardless of its result value. However, these values exhibit a high level of temporal locality (result redundancy). This paper proposes: Physical Register Reuse. To reuse a physical location whenever it is detected that an incoming result value matches a previous one. This is performed during register renaming and requires some VALUE-IDENTITY DETECTION hardware. By mapping several logical registers holding the same value to the same physical register, Physical Register Reuse gives the opportunities: SHARING-exploit the high level of value-redundancy in the register file to either reduce the file size and complexity, or effectively enlarge the active instruction window. Our results suggest reduction factors of 2 to 4 in some cases. Performance is increased either by the enlarged instruction window or by the higher frequency enabled by a smaller register file requiring fewer ports. RESULT REUSE AND DEPENDENCY REDIRECTION-move the responsibility of generating results: (1) From the functional units to the register renamer, resulting in the possible elimination of processed instructions from the execution stream. (2) From one instruction to an earlier instruction stream, possibly allowing instructions to be scheduled earlier. This way, large performance speedups are achieved. 2. Unification. To combine the memory renamer with the register renamer in order to extend the above-stated sharing and result reuse and dependency redirection ideas to both registers and memory locations. This allows even greater hardware savings and performance improvements. This also simplifies the processing of store instructions. Stéphan Jourdan, Ronny Ronen, Michael Bekerman, Bishara Shomar, Adi Yoaz |
MICRO | 1 |
| 1996 | Multiple-Block Ahead Branch PredictorsabstractA basic rule in computer architecture is that a processor cannot execute an application faster than it fetches its instructions. This paper presents a novel cost-effective mechanism called the two-block ahead branch predictor. Information from the current instruction block is not used for predicting the address of the next instruction block, but rather for predicting the block following the next instruction block.This approach overcomes the instruction fetch bottle-neck exhibited by wide-dispatch "brainiac" processors by enabling them to efficiently predict addresses of two instruction blocks in a single cycle. Furthermore, pipelining the branch prediction process can also be done by means of our predictor for "speed demon" processors to achieve higher clock rate or to improve the prediction accuracy by means of bigger prediction structures.Moreover, and unlike the previously-proposed multiple predictor schemes, multiple-block ahead branch predictors can use any of the branch prediction schemes to perform the very accurate predictions required to achieve high-performance on superscalar processors. André Seznec, Stéphan Jourdan, Pascal Sainrat, Pierre Michaud |
ASPLOS | 2 |
| 1995 | Exploring Configurations of Functional Units in an Out-of-Order Superscalar ProcessorabstractThis study has been carried out in order to determine cost-effective configurations of functional units for multiple-issue out-of-order superscalar processors. The trace-driven simulations were performed on the six integer and the fourteen floating-point programs from the SPEC 92 suite. We first evaluate the number of instructions allowed to be concurrently processed by the execution stages of the pipeline. We then apply some restrictions on the execution issue of different instruction classes in order to define these configurations. We conclude that five to nine functional units are necessary to exploit Instruction-Level Parallelism. An important point is that several data cache ports are required in a processor of degree 4 or more. Finally, we report on complementary results on the utilization rate of the functional units. Stéphan Jourdan, Pascal Sainrat, Daniel Litaize |
ISCA | 1 |
| 1995 | An investigation of the performance of various instruction-issue buffer topologiesabstractIn out-of-order issue superscalar microprocessors, instructions must be buffered before they are issued. This buffer can be either unified (one buffer linked to all functional units) as in the P6, distributed among the units as in the PowerPC 620, or semi-unified (a few buffers each shared by several units) as in the MIPS R10000. Of course, the size of this buffer also plays a leading role in the performance of the processor. Intensive trace-driven simulations on the SPEC92 suite have been made in order to determine the best designs and relevant choices are pointed out according to the dispatch width of the processor. Stéphan Jourdan, Pascal Sainrat, Daniel Litaize |
MICRO | 1 |