Demo Data from EDBT 2026 / reviewers in the wild / expert
Roger Espasa
dblp:38/6361
· DBLP profile ↗
29ranked-venue papers
9as first author
1since 2021 · last 2021
0009-0008-4885-3631ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 25 · 9 first-author · 1 since 2021Software engineering, systems software and programming languages · 2 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 2Theory of computation · 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
12 papers |
Processor architecture and microarchitecture · 58% GPUs and heterogeneous computing · 15% Memory systems · 13% | |
| Software engineering, system software, and programming languages
1 paper |
Program analysis · 87% Compilers and program optimization · 13% |
Topics — the 30 heaviest of 34, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Processor architecture and microarchitecture
vector processor |
0.1 | 4 | 2002 | Tarantula: A Vector Extension to the Alpha Architecture · ISCA 2002 Out-of-Order Vector Architectures · MICRO 1997 Multithreaded Vector Architectures · HPCA 1997 |
Processor architecture and microarchitecture
many-core architecture |
0.1 | 1 | 2008 | Larrabee: a many-core x86 architecture for visual computing · ACM Trans. Graph. 2008 |
GPUs and heterogeneous computing
GPU architecture |
0.1 | 1 | 2005 | Shader Performance Analysis on a Modern GPU Architecture · MICRO 2005 |
Memory systems
memory hierarchy |
0.1 | 1 | 2005 | Conflict-Free Accesses to Strided Vectors on a Banked Cache · IEEE Trans. Computers 2005 |
Memory systems › cache › cache organization
multibanked data cache |
0.1 | 1 | 2005 | Conflict-Free Accesses to Strided Vectors on a Banked Cache · IEEE Trans. Computers 2005 |
Processor architecture and microarchitecture
vector processing |
0.1 | 1 | 2005 | Conflict-Free Accesses to Strided Vectors on a Banked Cache · IEEE Trans. Computers 2005 |
Processor architecture and microarchitecture › multithreading
simultaneous multithreading |
0.0 | 2 | 2001 | DLP + TLP Processors for the Next Generation of Media Workloads · HPCA 2001 Multithreaded Vector Architectures · HPCA 1997 |
Program analysis › data flow analysis
path-sensitive analysis |
0.0 | 1 | 2004 | Link-Time Path-Sensitive Memory Redundancy Elimination · HPCA 2004 |
Program analysis › static analysis
pointer analysis |
0.0 | 1 | 2004 | Link-Time Path-Sensitive Memory Redundancy Elimination · HPCA 2004 |
Processor architecture and microarchitecture
instruction set architecture |
0.0 | 2 | 1999 | MOM: a Matrix SIMD Instruction Set Architecture for Multimedia Applications · SC 1999 Exploiting a New Level of DLP in Multimedia Applications · MICRO 1999 |
Processor architecture and microarchitecture
SIMD |
0.0 | 1 | 2002 | Three-dimensional memory vectorization for high bandwidth media memory systems · MICRO 2002 |
Processor architecture and microarchitecture › instruction set architecture
vector extension |
0.0 | 1 | 2002 | Tarantula: A Vector Extension to the Alpha Architecture · ISCA 2002 |
Processor architecture and microarchitecture › vector processing
vector memory access |
0.0 | 1 | 2002 | Three-dimensional memory vectorization for high bandwidth media memory systems · MICRO 2002 |
Processor architecture and microarchitecture › SIMD
SIMD instructions |
0.0 | 1 | 1999 | Exploiting a New Level of DLP in Multimedia Applications · MICRO 1999 |
Processor architecture and microarchitecture
branch prediction |
0.0 | 1 | 1998 | Dataflow Analysis of Branch Mispredictions and Its Application to Early Resolution of Branch Outcomes · MICRO 1998 |
Processor architecture and microarchitecture
value prediction |
0.0 | 1 | 1998 | Dataflow Analysis of Branch Mispredictions and Its Application to Early Resolution of Branch Outcomes · MICRO 1998 |
Processor architecture and microarchitecture
multithreading |
0.0 | 1 | 1997 | Multithreaded Vector Architectures · HPCA 1997 |
Processor architecture and microarchitecture
out-of-order execution |
0.0 | 1 | 1997 | Out-of-Order Vector Architectures · MICRO 1997 |
Processor architecture and microarchitecture › out-of-order execution
register renaming |
0.0 | 1 | 1997 | Out-of-Order Vector Architectures · MICRO 1997 |
Processor architecture and microarchitecture › vector processor
vector-thread architecture |
0.0 | 1 | 1997 | Multithreaded Vector Architectures · HPCA 1997 |
GPUs and heterogeneous computing
GPU performance analysis |
0.0 | 1 | 2005 | Shader Performance Analysis on a Modern GPU Architecture · MICRO 2005 |
Performance modeling and evaluation › performance evaluation methodology
simulation and benchmarking |
0.0 | 1 | 2005 | Shader Performance Analysis on a Modern GPU Architecture · MICRO 2005 |
Compilers and program optimization › interprocedural optimization
link-time optimization |
0.0 | 1 | 2004 | Link-Time Path-Sensitive Memory Redundancy Elimination · HPCA 2004 |
Embedded and real-time systems
multimedia applications |
0.0 | 2 | 1999 | MOM: a Matrix SIMD Instruction Set Architecture for Multimedia Applications · SC 1999 Exploiting a New Level of DLP in Multimedia Applications · MICRO 1999 |
Memory systems
cache |
0.0 | 1 | 2002 | Three-dimensional memory vectorization for high bandwidth media memory systems · MICRO 2002 |
High-performance computing
scientific computing systems |
0.0 | 1 | 2002 | Tarantula: A Vector Extension to the Alpha Architecture · ISCA 2002 |
Performance modeling and evaluation › simulation › discrete-event simulation
trace-driven simulation |
0.0 | 2 | 1997 | Multithreaded Vector Architectures · HPCA 1997 Decoupled Vector Architectures · HPCA 1996 |
Processor architecture and microarchitecture › SIMD
SIMD extensions |
0.0 | 1 | 2001 | DLP + TLP Processors for the Next Generation of Media Workloads · HPCA 2001 |
Parallel and multicore computing
dataflow computing |
0.0 | 1 | 1998 | Dataflow Analysis of Branch Mispredictions and Its Application to Early Resolution of Branch Outcomes · MICRO 1998 |
Processor architecture and microarchitecture › exception handling
precise interrupts |
0.0 | 1 | 1997 | Out-of-Order Vector Architectures · MICRO 1997 |
Methods — techniques the papers use, named apart from their topics
simulation · 0.1vector processing · 0.1software task scheduling · 0.1binning · 0.1workload characterization · 0.1parallel access routing · 0.1bank interleaving · 0.1architectural simulation · 0.1trace-driven simulation · 0.1path-sensitive analysis · 0.0alias analysis · 0.0dataflow analysis · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Accelerating ML Recommendation with over a Thousand RISC-V/Tensor Processors on Esperanto's ET-SoC-1 ChipabstractThe ET-SoC-1 has over a thousand RISC-V processors on a single TSMC 7nm chip, including: • 1088 energy-efficient ET-Minion 64-bit RISC-V in-order cores each with a vector/tensor unit • 4 high-performance ET-Maxion 64-bit RISC-V out-of-order cores • >160 million bytes of on-chip SRAM • Interfaces for large external memory with low-power LPDDR4x DRAM and eMMC FLASH • PCIe x8 Gen4 and other common I/O interfaces • Innovative low-power architecture and circuit techniques allows entire chip to • Compute at peak rates of 100 to 200 TOPS • Operate using under 20 watts for ML recommendation workloads David R. Ditzel, Roger Espasa, Nivard Aymerich, Allen Baum, Tom Berg, Jim Burr, Eric Hao, Jayesh Iyer, Miquel Izquierdo, Shankar Jayaratnam, Darren Jones, Chris Klingner, Stephen Lee, Marc Lupon, Grigorios Magklis, Bojan Maric, Rajib Nath, Mike Neilly, J. Duane Northcutt, Bill Orner, Jose Renau, Gerard Reves, Xavier Reves, Tom Riordan, Pedro Sanchez, Sridhar Samudrala, Guillem Sole, Raymond Tang, Tommy Thorn, Sebastia Tortella, Daniel Yau |
HCS | 2 |
| 2010 | Larrabee: A Many-Core Intel Architecture for Visual Computing
Roger Espasa |
HiPEAC | 1 |
| 2010 | A SIMD-efficient 14 instruction shader program for high-throughput microtriangle rasterization
Jordi Roca, Victor Moya Del Barrio, Vicente Escandell, Albert Murciego, Agustín Fernández, Roger Espasa |
Vis. Comput. | 7 |
| 2008 | Larrabee: a many-core x86 architecture for visual computingabstractThis paper presents a many-core visual computing architecture code named Larrabee, a new software rendering pipeline, a manycore programming model, and performance analysis for several applications. Larrabee uses multiple in-order x86 CPU cores that are augmented by a wide vector processor unit, as well as some fixed function logic blocks. This provides dramatically higher performance per watt and per unit of area than out-of-order CPUs on highly parallel workloads. It also greatly increases the flexibility and programmability of the architecture as compared to standard GPUs. A coherent on-die 2 nd level cache allows efficient inter-processor communication and high-bandwidth local data access by CPU cores. Task scheduling is performed entirely with software in Larrabee, rather than in fixed function logic. The customizable software graphics rendering pipeline for this architecture uses binning in order to reduce required memory bandwidth, minimize lock contention, and increase opportunities for parallelism relative to standard GPUs. The Larrabee native programming model supports a variety of highly parallel applications that use irregular data structures. Performance analysis on those applications demonstrates Larrabee's potential for a broad range of parallel computation. Larry Seiler, Doug Carmean, Eric Sprangle, Tom Forsyth, Michael Abrash, Pradeep Dubey, Stephen Junkins, Adam T. Lake, Jeremy Sugerman, Robert Cavin, Roger Espasa, Ed Grochowski, Toni Juan, Pat Hanrahan |
ACM Trans. Graph. | 11 |
| 2006 | ATTILA: a cycle-level execution-driven simulator for modern GPU architecturesabstractThe present work presents a cycle-level execution-driven simulator for modern GPU architectures. We discuss the simulation model used for our GPU simulator, based in the concept of boxes and signals, and the relation between the timing simulator and the functional emulator. The simulation model we use helps to increase the accuracy and reduce the number of errors in the timing simulator while allowing for an easy extensibility of the simulated GPU architecture. We also introduce the OpenGL framework used to feed the simulator with traces from real applications (UT2004, Doom3) and a performance debugging tool (Signal Trace Visualizer). The presented ATTILA simulator supports the simulation of a whole range of GPU configurations and architectures, from the embedded segment to the high end PC segment, supporting both the unified and non unified shader architectural models. Victor Moya Del Barrio, Jordi Roca, Agustín Fernández, Roger Espasa |
ISPASS | 5 |
| 2005 | A Single (Unified) Shader GPU Microarchitecture for Embedded Systems
Victor Moya Del Barrio, Jordi Roca, Agustín Fernández, Roger Espasa |
HiPEAC | 5 |
| 2005 | Shader Performance Analysis on a Modern GPU ArchitectureabstractThis paper presents an analysis of the performance of the shader processing units in a modern graphics processor unit (GPU) architecture using real graphic applications. The architecture of a modern GPU is described and a simulator and associated framework used to evaluate the architecture is introduced. The paper analyses the effects in performance of different configurations of the shader processing units and compares a classic GPU with a unified shader GPU. The evaluated unified shader architecture proves to be 15% to 30% more efficient, in terms of area, with a 2% to 7% improvement in performance when compared with a similar nonunified architecture Victor Moya Del Barrio, Jordi Roca, Agustín Fernández, Roger Espasa |
MICRO | 5 |
| 2005 | Conflict-Free Accesses to Strided Vectors on a Banked CacheabstractWith the advance of integration technology, it has become feasible to implement a microprocessor, a vector unit, and a multimegabyte bank-interleaved L2 cache on a single die. Parallel access to strided vectors on the L2 cache is a major performance issue on such vector microprocessors. A major difficulty for such a parallel access is that one would like to interleave the cache on a block size basis in order to benefit from spatial locality and to maintain a low tag volume, while strided vector accesses naturally work on a word granularity. In this paper, we address this issue. Considering a parallel vector unit with 2/sup n/ independent lanes, a 2/sup n/ bank interleaved cache, and a cache line size of 2/sup k/ words, we show that any slice of 2/sup n+k/ consecutive elements of any strided vector with stride 2/sup r/R with R odd and r /spl les/ k can be accessed in the L2 cache and routed back to the lanes in 2/sup k/ subslices of 2/sup n/ elements. André Seznec, Roger Espasa |
IEEE Trans. Computers | 2 |
| 2004 | Link-Time Path-Sensitive Memory Redundancy EliminationabstractOptimizations performed at link-time or directly applied to final program executables have received increased attention in recent years. We discuss the discovery and elimination of redundant memory operations in the context of a link-time optimizer, an optimization that we call memory redundancy elimination (MRE). Previous research showed that existing MRE techniques are mainly based on path-insensitive information, which causes many MRE opportunities to be lost. We present a new technique for eliminating redundant loads in a path-sensitive fashion, by using a novel alias analysis algorithm that is able to expose path-sensitive memory redundancies. We also extend our previous work by removing both redundant and dead stores. Our experiments show that around 75% of load and 10% of store references in a program can be considered redundant, because they are accessing memory locations that have been referenced less than 256 memory instructions away. By combining our previous optimizations for eliminating load redundancies with the new techniques developed, we show that around 18% of the loads and 8% of the stores can be detected and eliminated, which translates into a 10% reduction in execution time. Manel Fernández, Roger Espasa |
HPCA | 2 |
| 2003 | Load redundancy elimination on executable codeabstractAbstract Optimizations performed at link time or directly applied to final program executables have received increased attention in recent years. This paper discusses the discovery and elimination of redundant load operations in the context of a link‐time optimizer, an optimization that we callLoad Redundancy Elimination (LRE). Our experiments show that between 50% and 75% of a program's memory references can be considered redundant because they are accessing memory locations that have been referenced less than 200–400 instructions away. We then present three profile‐based LRE algorithms targeted at optimizing away these redundancies. Our results show that between 5% and 30% of the redundancy detected can indeed be eliminated, which translates into program speedups of around 8%. We also test our algorithm assuming different cache latencies, and show that, if latencies continue to grow, the load redundancy elimination will become more important. Copyright © 2003 John Wiley & Sons, Ltd. Manel Fernández, Roger Espasa, Saumya K. Debray |
Concurr. Comput. Pract. Exp. | 2 |
| 2003 | A Cost-Effective Architecture for Vectorizable Numerical and Multimedia Applications
Francisca Quintana, Jesús Corbal, Roger Espasa, Mateo Valero |
Theory Comput. Syst. | 3 |
| 2002 | Tarantula: A Vector Extension to the Alpha ArchitectureabstractTarantula is an aggressive floating point machine targeted at technical, scientific and bioinformatics workloads, originally planned as a follow-on candidate to the EV8 processor. Tarantula adds to the EV8 core a vector unit capable of 32 double-precision flops per cycle. The vector unit fetches data directly from a 16 MByte second level cache with a peak bandwidth of sixty four 64-bit values per cycle. The whole chip is backed by a memory controller capable of delivering over 64 GBytes/s of raw bandwidth. Tarantula extends the Alpha ISA with new vector instructions that operate on new architectural state. Salient features of the architecture and implementation are: (1) it fully integrates into a virtual-memory cache-coherent system without changes to its coherency protocol, (2) provides high bandwidth for non-unit stride memory accesses, (3) supports gather/scatter instructions efficiently, (4) fully integrates with the EV8 core with a narrow, streamlined interface, rather than acting as a co-processor (5) can achieve a peak of 104 operations per cycle, and (6) achieves excellent "real-computation" per transistor and per watt ratios. Our detailed simulations show that Tarantula achieves an average speedup of 5X over EV8, out of a peak speedup in terms of flops of 8X. Furthermore, performance on gather/scatter intensive benchmarks such as Radix Sort is also remarkable: a speedup of almost 3X over EV8 and 15 sustained operations per cycle. Several benchmarks exceed 20 operations per cycle. Roger Espasa, Federico Ardanaz, Julio Gago, Roger Gramunt, Isaac Hernandez, Toni Juan, Joel S. Emer, Stephen Felix, P. Geoffrey Lowney, Matthew Mattina, André Seznec |
ISCA | 1 |
| 2002 | Three-dimensional memory vectorization for high bandwidth media memory systemsabstractVector processors have good performance, cost and adaptability when targeting multimedia applications. However, for a significant number of media programs, conventional memory configurations fail to deliver enough memory references per cycle to feed the SIMD functional units. This paper addresses the problem of the memory bandwidth. We propose a novel mechanism suitable for 2-dimensional vector architectures and targeted at providing high effective bandwidth for SIMD memory instructions. The basis of this mechanism is the extension of the scope of vectorization at the memory level, so that 3-dimensional memory patterns can be fetched into a second-level register file. By fetching long blocks of data and by reusing 2-dimensional memory streams at this second-level register file, we obtain a significant increase in the effective memory bandwidth. As side benefits, the new 3-dimensional load instructions provide a high robustness to memory latency and a significant reduction of the cache activity, thus reducing power and energy requirements. At the investment of a 50% more area than a regular SIMD register file, we have measured and average speed-up of 13% and the potential for power savings in the L2 cache of a 30%. Jesús Corbal, Roger Espasa, Mateo Valero |
MICRO | 2 |
| 2001 | Topic 08+13: Instruction-Level Parallelism and Computer Architecture
Eduard Ayguadé, Fredrik Dahlgren, Christine Eisenbeis, Roger Espasa, Guang R. Gao, Henk L. Muller, Rizos Sakellariou, André Seznec |
Euro-Par | 4 |
| 2001 | Load Redundancy Elimination on Executable Code
Manel Fernández, Roger Espasa, Saumya K. Debray |
Euro-Par | 2 |
| 2001 | DLP + TLP Processors for the Next Generation of Media WorkloadsabstractFuture media workloads will require about two levels of magnitude the performance achieved by current general purpose processors. High uni-threaded performance will be needed to accomplish real-time constraints together with huge computational throughput, as next generation of media workloads will be eminently multithreaded (MPEG-4/MPEG-7). In order to fulfil the challenge of providing both good uni-threaded performance and throughput, we propose to join the simultaneous multithreading execution paradigm (SMT) together with the ability to execute media-oriented streaming /spl mu/-SIMD instructions. This paper evaluates the performance of two different aggressive SMT processors: one with conventional /spl mu/-SIMD extensions (such as MMX) and one with longer streaming vector /spl mu/-SIMD extensions. We will show that future media workloads are, in fact, dominated by the scalar performance. The combination of SMT plus streaming vector /spl mu/-SIMD helps alleviate the performance bottleneck of the integer unit. SMT allows "hiding" vector execution underneath integer execution by overlapping the two types of computation, while the streaming vector /spl mu/-SIMD reduces the pressure on issue width and fetch bandwidth, and provides a powerful mechanism to tolerate latency that allows to implement smart decoupled cache hierarchies. Jesús Corbal, Roger Espasa, Mateo Valero |
HPCA | 2 |
| 2001 | A cost effective architecture for vectorizable numerical and multimedia applicationsabstractThis paper analyzes the performance of vector-dominated regions of code in numerical and multimedia applications in a superscalar+vector architecture and compares it to an 8-way superscalar processor. The ability to split a program's execution into scalar and vector regions allows us to show that (1) as expected, the vector unit is much better than the wide issue superscalar at executing the vector-dominated regions of the code; (2) on the scalar regions, the 8-way superscalar, although better than a 4-way superscalar, is clearly not worth the extra complexity in terms of extra transistors and potential cycle time limitations. Overall, the vector-enhanced superscalar is from 6% to 303% better than an 8-way superscalar. We also present detailed data on the performance of the memory system, which is usually the key limiting factor when running numerical and multimedia applications. We evaluate two additional cache designs that try to alleviate problems created by non-unit stride memory references. Francisca Quintana, Jesús Corbal, Roger Espasa, Mateo Valero |
SPAA | 3 |
| 1999 | Adding a vector unit to a superscalar processorabstractThe focus of this paper is on adding a vector unit to a superscalar core, as a way to scale current state of the art superscalar processors.The proposed architecture has a vector register file that shares functional units both with the integer datapath and with the floatingpoint datapath.A key point in our proposal is the design of a high performance cache interface that delivers high bandwidth to the vector unit at a low cost and low latency.We propose a double-banked cache with alignment circuitry to serve vector accesses and we study two cache hierarchies:one feeds the uector unit from the Ll; the other from the L.2.Our results show that large IPC values (higher than IO in some cases) can be achieved.Moreover the scalability of our architecture simply requires addition of functional units, without requiring more issue bandwidth.As a consequence, the proposed vector unit achieves high performance for numerical and multimedia codes with minimal impact on the cycle time of the processor or on the performance of integer codes.Peqlission lo make 'iigital or hard copies o('all or part of this work fbl pcrsonal or classroom use is granted without fee provided that @es are ,lOt lnade or distributed for profit or cotnmercial advantage and that copjes bcdr tjlis tl&ce ad the full ci talion on the lht paye.To CWY otherwise, Lo republish, to post on servers or to rsdistrihute to listsrequitscs prior qvdic permksion andior a fee.ICS '99 Rhodes '3cecc Francisca Quintana, Jesús Corbal, Roger Espasa, Mateo Valero |
International Conference on Supercomputing | 3 |
| 1999 | Exploiting a New Level of DLP in Multimedia ApplicationsabstractThis paper proposes and evaluates MOM: a novel ISA paradigm targeted at multimedia applications. By fusing conventional vector ISA approaches together with more recent SIMD-like (Single Instruction Multiple Data) ISAs (such as MMX), we have developed a new matrix oriented ISA which efficiently deals with the small matrix structures typically found in multimedia applications. MOM exploits a level of DLP not reachable by neither conventional vector ISAs nor SIMD-like media ISA extensions. Our results show that MOM provides a factor of 1.3x to 4x performance improvement when compared with two different multimedia extensions (MMX and MDMX) on several kernels, which translates into up to a 50% of performance gain when measuring full applications (20% in average). Furthermore, the streaming nature of MOM provides additional advantages for executing multimedia applications, such as a very low fetch pressure or a high tolerance to memory latency, making MOM an ideal candidate for the embedded domain. Jesús Corbal, Roger Espasa, Mateo Valero |
MICRO | 2 |
| 1999 | MOM: a Matrix SIMD Instruction Set Architecture for Multimedia ApplicationsabstractMOM is a novel matrix-oriented ISA paradigm for multimedia applications, based on fusing conventional vector ISAs with SIMD ISAs such as MMX.This paper justifies why MOM is a suitable alternative for the multimedia domain due to its efficiency handling the small matrix structures typically found in most multimedia kernels.MOM leverages a performance boost between 1.3x and 4x over more conventional multimedia extensions (such as MMX and MDMX), which already achieve performance benefits ranging from 1.3x to 15x over conventional Alpha code.Moreover, MOM exhibit a high relative performance for low-issue rates and a high tolerance to memory latency.Both advantages present MOM as an attractive alternative for the embedded domain. Jesús Corbal, Roger Espasa, Mateo Valero |
SC | 2 |
| 1999 | A Simulation Study of Decoupled Vector Architectures
Roger Espasa, Mateo Valero |
J. Supercomput. | 1 |
| 1998 | Vector Architectures: Past, Present and FutureabstractVector architectures have long been the of choice for building supercomputers.They first appeared in the early aeventies and had a long period of unquestioned dominance from the time the CRAY-1 was introduced in 1976 until the the appearance of "killer micros", 'This work was supported by the Ministry of Education of Spain under Roger Espasa, Mateo Valero, James E. Smith 0001 |
International Conference on Supercomputing | 1 |
| 1998 | A Performance Study of Out-of-order Vector Architectures and Short Registersabstract7'1~is paper presents a study oj the impact of reducing the vector register length in an out-o,f-order vector architecture.In hditional in-ol,der vector Luis A. Villa-Vargas, Roger Espasa, Mateo Valero |
International Conference on Supercomputing | 2 |
| 1998 | Dataflow Analysis of Branch Mispredictions and Its Application to Early Resolution of Branch OutcomesabstractThe goal of this study is twofold: to analyze in detail the nature of conditional branch mispredictions in correlation based branch predictors, and, based on this analysis, to reduce the impact of branch mispredictions on processor performance by decreasing the branch resolution delay instead of improving the branch prediction accuracy. We classify conditional branches with the highest number of mispredictions according to the nature of their branch condition analytical expression. Based on these expressions, we can analyze and even precisely explain the origin of mispredictions in many cases. Moreover we find that many such branches belong to small sets of blocks inside loops, and within such sets we find that some of the branch expressions have regularity properties. We show how to exploit this regularity property by anticipating the branch outcome, where anticipation is a combination of value prediction and normal dataflow execution. We investigate a hardware mechanism to implement the concept of branch outcome anticipation. This mechanism relies on the separate execution of the normal program flow and a branch flow, which is a subset of the program flow corresponding to copies of the instructions needed to compute branch outcomes. The branch flow uses the regularity properties of branch condition expressions to get ahead of the normal program flow whenever possible. Currently, the mechanism can only target a subset of the conditional branches, but with these branches we experimentally show that the anticipation mechanism successfully reduces the average branch misprediction latency by 60%. Alexandre Farcy, Olivier Temam, Roger Espasa, Toni Juan |
MICRO | 3 |
| 1997 | Simultaneous multithreaded vector architecture: merging ILP and DLP for high performanceabstractShows that instruction-level parallelism (ILP) and data-level parallelism (DLP) can be merged in a single simultaneous vector multithreaded architecture to execute regular vectorizable code at a performance level that cannot be achieved using either paradigm on its own. We show that the combination of the two techniques yields very high performance at a low cost and a low complexity. We show that this architecture achieves a sustained performance on numerical regular codes that is 20 times the performance that can be achieved with today's superscalar microprocessors. Moreover, we show that the architecture can tolerate very large memory latencies, of up to a 100 cycles, with a relatively small performance degradation. This high performance is independent of working set size or of locality considerations, since the DLP paradigm allows very efficient exploitation of a high-performance flat memory bandwidth. Roger Espasa, Mateo Valero |
HiPC | 1 |
| 1997 | Multithreaded Vector ArchitecturesabstractThe purpose of this paper is to show that multi-threading techniques can be applied to a vector processor to greatly increase processor throughput and maximize resource utilization. Using a trace driven approach, we simulate a selection of the Perfect Club and Specfp92 programs and compare their execution time on a conventional vector architecture with a single memory port and on a multithreaded vector architecture. We devote an important part of this paper to study the interaction between multi-threading and main memory latency. This paper focuses on maximizing the usage of the memory port, the most expensive resource is typical vector computers. A study of the cost associated with the duplication of the vector register file is also carried out. Overall, multithreading provides for this architecture a performance advantage of more than a factor of 1.4 for realistic memory latencies, and can drive the utilization of the single memory port as high as 95%. Roger Espasa, Mateo Valero |
HPCA | 1 |
| 1997 | A Victim Cache for Vector RegistersabstractIn this paper we introduce the concept of a victim cache for the register level of a vector processor. This small cache holds full vectors "evicted" from the register level through store instructions. The goal of this cache is to filter out the abundant spill code present in vector programs. Using a trace driven simulation technique we compare the performance of a conventional vector implementation with and without the addition of the victim cache proposed. We study a writethrough victim cache that eliminates around a 5--20% of load spill traffic and provides speedups in the range 1.06--1.20. In order to allow elimination of store spill traffic, we also present a write-back victim cache that increases the amount of traffic eliminated up to the 10--50% range. Finally, we study the behavior of the victim cache under different memory latencies and show that the victim allows a good tolerance of large memory latencies and can provide speedups as large as 1.24. 1 Introduction Spill code i... Roger Espasa, Mateo Valero |
International Conference on Supercomputing | 1 |
| 1997 | Out-of-Order Vector ArchitecturesabstractRegister renaming and out-of-order instruction issue are now commonly used in superscalar processors. These techniques can also be used to significant advantage in vector processors, as this paper shows. Performance is improved and available memory bandwidth is used more effectively. Using a trace driven simulation we compare a conventional vector implementation, based on the Convex C3400, with an out-of-order, register renaming, vector implementation. When the number of physical registers is above 12, out-of-order execution coupled with register renaming provides a speedup of 1.24-1.72 for realistic memory latencies. Out-of-order techniques also tolerate main memory latencies of 100 cycles with a performance degradation less than 6%. The mechanisms used for register renaming and out-of-order issue can be used to support precise interrupts-generally a difficult problem in vector machines. When precise interrupts are implemented, there is typically less than a 10% degradation in performance. A new technique based on register renaming is targeted at dynamically eliminating spill code; this technique is shown to provide an extra speedup ranging between 1.10 and 1.20 while reducing total memory traffic by an average of 15-20%. Roger Espasa, Mateo Valero, James E. Smith 0001 |
MICRO | 1 |
| 1996 | Decoupled Vector ArchitecturesabstractThe purpose of this paper is to show that using decoupling techniques in a vector processor, the performance of vector programs can be greatly improved. Using a trace driven approach, we simulate a selection of the Perfect Club programs and compare their execution time on a conventional vector architecture and on a decoupled vector architecture. Decoupling provides a performance advantage of more than a factor of two for realistic memory latencies, and even with an ideal memory system with no latency, there is still a speedup of as much as 50%. A bypassing technique between the load/store queues is introduced and we show how it can give up to an extra speedup of 22% while also reducing total memory traffic by an average of 20%. An important part of this paper is devoted to study the tradeoffs involved in choosing an adequate size for the different queues of the architecture, so that the hardware cost of the queues can be minimized while still retaining most of the performance advantages of decoupling. Roger Espasa, Mateo Valero |
HPCA | 1 |