Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.

Roger Espasa

dblp:38/6361 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
vector processor
0.142002
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.112008
Larrabee: a many-core x86 architecture for visual computing · ACM Trans. Graph. 2008
GPUs and heterogeneous computing
GPU architecture
0.112005
Shader Performance Analysis on a Modern GPU Architecture · MICRO 2005
Memory systems
memory hierarchy
0.112005
Conflict-Free Accesses to Strided Vectors on a Banked Cache · IEEE Trans. Computers 2005
Memory systems › cache › cache organization
multibanked data cache
0.112005
Conflict-Free Accesses to Strided Vectors on a Banked Cache · IEEE Trans. Computers 2005
Processor architecture and microarchitecture
vector processing
0.112005
Conflict-Free Accesses to Strided Vectors on a Banked Cache · IEEE Trans. Computers 2005
Processor architecture and microarchitecture › multithreading
simultaneous multithreading
0.022001
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.012004
Link-Time Path-Sensitive Memory Redundancy Elimination · HPCA 2004
Program analysis › static analysis
pointer analysis
0.012004
Link-Time Path-Sensitive Memory Redundancy Elimination · HPCA 2004
Processor architecture and microarchitecture
instruction set architecture
0.021999
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.012002
Three-dimensional memory vectorization for high bandwidth media memory systems · MICRO 2002
Processor architecture and microarchitecture › instruction set architecture
vector extension
0.012002
Tarantula: A Vector Extension to the Alpha Architecture · ISCA 2002
Processor architecture and microarchitecture › vector processing
vector memory access
0.012002
Three-dimensional memory vectorization for high bandwidth media memory systems · MICRO 2002
Processor architecture and microarchitecture › SIMD
SIMD instructions
0.011999
Exploiting a New Level of DLP in Multimedia Applications · MICRO 1999
Processor architecture and microarchitecture
branch prediction
0.011998
Dataflow Analysis of Branch Mispredictions and Its Application to Early Resolution of Branch Outcomes · MICRO 1998
Processor architecture and microarchitecture
value prediction
0.011998
Dataflow Analysis of Branch Mispredictions and Its Application to Early Resolution of Branch Outcomes · MICRO 1998
Processor architecture and microarchitecture
multithreading
0.011997
Multithreaded Vector Architectures · HPCA 1997
Processor architecture and microarchitecture
out-of-order execution
0.011997
Out-of-Order Vector Architectures · MICRO 1997
Processor architecture and microarchitecture › out-of-order execution
register renaming
0.011997
Out-of-Order Vector Architectures · MICRO 1997
Processor architecture and microarchitecture › vector processor
vector-thread architecture
0.011997
Multithreaded Vector Architectures · HPCA 1997
GPUs and heterogeneous computing
GPU performance analysis
0.012005
Shader Performance Analysis on a Modern GPU Architecture · MICRO 2005
Performance modeling and evaluation › performance evaluation methodology
simulation and benchmarking
0.012005
Shader Performance Analysis on a Modern GPU Architecture · MICRO 2005
Compilers and program optimization › interprocedural optimization
link-time optimization
0.012004
Link-Time Path-Sensitive Memory Redundancy Elimination · HPCA 2004
Embedded and real-time systems
multimedia applications
0.021999
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.012002
Three-dimensional memory vectorization for high bandwidth media memory systems · MICRO 2002
High-performance computing
scientific computing systems
0.012002
Tarantula: A Vector Extension to the Alpha Architecture · ISCA 2002
Performance modeling and evaluation › simulation › discrete-event simulation
trace-driven simulation
0.021997
Multithreaded Vector Architectures · HPCA 1997
Decoupled Vector Architectures · HPCA 1996
Processor architecture and microarchitecture › SIMD
SIMD extensions
0.012001
DLP + TLP Processors for the Next Generation of Media Workloads · HPCA 2001
Parallel and multicore computing
dataflow computing
0.011998
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.011997
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
YearPublicationVenuePosition
2021 Accelerating ML Recommendation with over a Thousand RISC-V/Tensor Processors on Esperanto's ET-SoC-1 Chip
abstract
The 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
HCS2
2010 Larrabee: A Many-Core Intel Architecture for Visual Computing
Roger Espasa
HiPEAC1
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 computing
abstract
This 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 architectures
abstract
The 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
ISPASS5
2005 A Single (Unified) Shader GPU Microarchitecture for Embedded Systems
Victor Moya Del Barrio, Jordi Roca, Agustín Fernández, Roger Espasa
HiPEAC5
2005 Shader Performance Analysis on a Modern GPU Architecture
abstract
This 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
MICRO5
2005 Conflict-Free Accesses to Strided Vectors on a Banked Cache
abstract
With 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. Computers2
2004 Link-Time Path-Sensitive Memory Redundancy Elimination
abstract
Optimizations 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
HPCA2
2003 Load redundancy elimination on executable code
abstract
Abstract 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 Architecture
abstract
Tarantula 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
ISCA1
2002 Three-dimensional memory vectorization for high bandwidth media memory systems
abstract
Vector 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
MICRO2
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-Par4
2001 Load Redundancy Elimination on Executable Code
Manel Fernández, Roger Espasa, Saumya K. Debray
Euro-Par2
2001 DLP + TLP Processors for the Next Generation of Media Workloads
abstract
Future 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
HPCA2
2001 A cost effective architecture for vectorizable numerical and multimedia applications
abstract
This 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
SPAA3
1999 Adding a vector unit to a superscalar processor
abstract
The 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 Supercomputing3
1999 Exploiting a New Level of DLP in Multimedia Applications
abstract
This 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
MICRO2
1999 MOM: a Matrix SIMD Instruction Set Architecture for Multimedia Applications
abstract
MOM 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
SC2
1999 A Simulation Study of Decoupled Vector Architectures
Roger Espasa, Mateo Valero
J. Supercomput.1
1998 Vector Architectures: Past, Present and Future
abstract
Vector 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 Supercomputing1
1998 A Performance Study of Out-of-order Vector Architectures and Short Registers
abstract
7'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 Supercomputing2
1998 Dataflow Analysis of Branch Mispredictions and Its Application to Early Resolution of Branch Outcomes
abstract
The 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
MICRO3
1997 Simultaneous multithreaded vector architecture: merging ILP and DLP for high performance
abstract
Shows 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
HiPC1
1997 Multithreaded Vector Architectures
abstract
The 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
HPCA1
1997 A Victim Cache for Vector Registers
abstract
In 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 Supercomputing1
1997 Out-of-Order Vector Architectures
abstract
Register 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
MICRO1
1996 Decoupled Vector Architectures
abstract
The 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
HPCA1