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.
? Tutorial for this page

Rafael Ubal

dblp:39/4740 · also Rafael Ubal Tena · DBLP profile ↗
← Back
22ranked-venue papers
11as first author
0since 2021 · last 2019
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 19 · 9 first-authorSoftware engineering, systems software and programming languages · 3

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
6 papers
Performance modeling and evaluation · 26% Memory systems · 22% Processor architecture and microarchitecture · 18%

Topics — the 26 heaviest of 26, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
GPUs and heterogeneous computing
multi-GPU computing
0.522019
MGPUSim: enabling multi-GPU performance modeling and optimization · ISCA 2019
UMH: A Hardware-Based Unified Memory Hierarchy for Systems with Multiple Discrete GPUs · ACM Trans. Archit. Code Optim. 2016
Performance modeling and evaluation › processor performance modeling › accelerator performance modeling
GPU performance modeling
0.412019
MGPUSim: enabling multi-GPU performance modeling and optimization · ISCA 2019
Performance modeling and evaluation › simulation › parallel architecture simulation
GPU simulation
0.412019
MGPUSim: enabling multi-GPU performance modeling and optimization · ISCA 2019
Performance modeling and evaluation
simulation
0.412019
MGPUSim: enabling multi-GPU performance modeling and optimization · ISCA 2019
Memory systems
memory hierarchy
0.212016
UMH: A Hardware-Based Unified Memory Hierarchy for Systems with Multiple Discrete GPUs · ACM Trans. Archit. Code Optim. 2016
Memory systems › virtual memory management
unified memory
0.212016
UMH: A Hardware-Based Unified Memory Hierarchy for Systems with Multiple Discrete GPUs · ACM Trans. Archit. Code Optim. 2016
Processor architecture and microarchitecture
out-of-order execution
0.222012
A Sequentially Consistent Multiprocessor Architecture for Out-of-Order Retirement of Instructions · IEEE Trans. Parallel Distributed Syst. 2012
A Complexity-Effective Out-of-Order Retirement Microarchitecture · IEEE Trans. Computers 2009
Electronic design automation
design space exploration
0.212014
Exploring the Heterogeneous Design Space for both Performance and Reliability · DAC 2014
Embedded and real-time systems
heterogeneous multi-core systems
0.212014
Exploring the Heterogeneous Design Space for both Performance and Reliability · DAC 2014
Processor architecture and microarchitecture
multicore design
0.212014
Exploring the Heterogeneous Design Space for both Performance and Reliability · DAC 2014
Hardware reliability and fault tolerance
reliability modeling
0.212014
Exploring the Heterogeneous Design Space for both Performance and Reliability · DAC 2014
Processor architecture and microarchitecture › clustered architecture
clustered microarchitecture
0.212013
Hardware-Based Generation of Independent Subtraces of Instructions in Clustered Processors · IEEE Trans. Computers 2013
Interconnection networks and networks-on-chip
inter-cluster communication
0.212013
Hardware-Based Generation of Independent Subtraces of Instructions in Clustered Processors · IEEE Trans. Computers 2013
Processor architecture and microarchitecture › instruction fetch
trace cache
0.212013
Hardware-Based Generation of Independent Subtraces of Instructions in Clustered Processors · IEEE Trans. Computers 2013
Memory systems › memory consistency
memory consistency model
0.112012
A Sequentially Consistent Multiprocessor Architecture for Out-of-Order Retirement of Instructions · IEEE Trans. Parallel Distributed Syst. 2012
Memory systems › memory consistency › memory consistency model
sequential consistency
0.112012
A Sequentially Consistent Multiprocessor Architecture for Out-of-Order Retirement of Instructions · IEEE Trans. Parallel Distributed Syst. 2012
GPUs and heterogeneous computing
GPU microarchitecture
0.112019
MGPUSim: enabling multi-GPU performance modeling and optimization · ISCA 2019
GPUs and heterogeneous computing › multi-GPU computing
multi-GPU interconnect
0.112019
MGPUSim: enabling multi-GPU performance modeling and optimization · ISCA 2019
Processor architecture and microarchitecture
superscalar processor
0.112009
A Complexity-Effective Out-of-Order Retirement Microarchitecture · IEEE Trans. Computers 2009
Memory systems
cache coherence
0.112016
UMH: A Hardware-Based Unified Memory Hierarchy for Systems with Multiple Discrete GPUs · ACM Trans. Archit. Code Optim. 2016
GPUs and heterogeneous computing › CPU-GPU heterogeneous computing
CPU-GPU memory management
0.112016
UMH: A Hardware-Based Unified Memory Hierarchy for Systems with Multiple Discrete GPUs · ACM Trans. Archit. Code Optim. 2016
Memory systems › cache coherence
directory-based coherence
0.112016
UMH: A Hardware-Based Unified Memory Hierarchy for Systems with Multiple Discrete GPUs · ACM Trans. Archit. Code Optim. 2016
Performance modeling and evaluation
performability analysis
0.112014
Exploring the Heterogeneous Design Space for both Performance and Reliability · DAC 2014
Energy-efficient computing › energy-efficient architecture
energy-efficient microarchitecture
0.012013
Hardware-Based Generation of Independent Subtraces of Instructions in Clustered Processors · IEEE Trans. Computers 2013
Memory systems › memory hierarchy
cache hierarchy
0.012012
A Sequentially Consistent Multiprocessor Architecture for Out-of-Order Retirement of Instructions · IEEE Trans. Parallel Distributed Syst. 2012
Memory systems
memory access latency
0.012012
A Sequentially Consistent Multiprocessor Architecture for Out-of-Order Retirement of Instructions · IEEE Trans. Parallel Distributed Syst. 2012

Methods — techniques the papers use, named apart from their topics

simulation · 0.5NMOESI coherence protocol · 0.2performance modeling · 0.2design space exploration · 0.2validation buffer architecture · 0.1register reclamation · 0.1nonspeculative out-of-order commit · 0.1checkpointing avoidance · 0.1
YearPublicationVenuePosition
2019 MGPUSim: enabling multi-GPU performance modeling and optimization
abstract
The rapidly growing popularity and scale of data-parallel workloads demand a corresponding increase in raw computational power of Graphics Processing Units (GPUs). As single-GPU platforms struggle to satisfy these performance demands, multi-GPU platforms have started to dominate the high-performance computing world. The advent of such systems raises a number of design challenges, including the GPU microarchitecture, multi-GPU interconnect fabric, runtime libraries, and associated programming models. The research community currently lacks a publicly available and comprehensive multi-GPU simulation framework to evaluate next-generation multi-GPU system designs.
Yifan Sun 0002, Trinayan Baruah, Saiful A. Mojumder, Shi Dong 0002, Shane Treadway, Yuhui Bao, Spencer Hance, Carter McCardwell, Vincent Zhao, Harrison Barclay, Amir Kavyan Ziabari, Zhongliang Chen, Rafael Ubal, José L. Abellán, John Kim 0001, Ajay Joshi, David R. Kaeli
ISCA14
2017 TwinKernels: an execution model to improve GPU hardware scheduling at compile time
Zhongliang Chen, Amir Kavyan Ziabari, Rafael Ubal, David R. Kaeli
CGO4
2017 Hardware Support for Scratchpad Memory Transactions on GPU Architectures
Alejandro Villegas, Rafael Asenjo, Angeles G. Navarro, Oscar G. Plata, Rafael Ubal, David R. Kaeli
Euro-Par5
2017 Multi2Sim Kepler: A detailed architectural GPU simulator
abstract
Presilicon simulation is one of the key toolsets for computer architects to evaluate and optimize their future designs. As Graphics Processing Units (GPUs) have become the platform of choice in many computing communities due to their impressive processing capabilities, computer architecture researchers need a simulation framework that allows them to quantitatively consider design tradeoffs. In this paper, we present the Multi2Sim Kepler simulator framework, a new detailed GPU microarchitecture performance simulator that supports NVIDIA's Kepler shader assembly (SASS) code execution. The toolset provides a disassembler, a functional simulator and a detailed cycle-based simulator. We provide insight into the architecture of the NVIDIA Kepler GPU, describing the details of the streaming multiprocessor, front-end and instruction pipelines. We compare the performance of this new simulator against an NVIDIA K20X, a high-end Kepler device. We also evaluate the performance of NVIDIA's CUDA benchmark suite on our GPU performance simulator.
Xun Gong 0011, Rafael Ubal, David R. Kaeli
ISPASS2
2016 UMH: A Hardware-Based Unified Memory Hierarchy for Systems with Multiple Discrete GPUs
abstract
In this article, we describe how to ease memory management between a Central Processing Unit (CPU) and one or multiple discrete Graphic Processing Units (GPUs) by architecting a novel hardware-based Unified Memory Hierarchy (UMH). Adopting UMH, a GPU accesses the CPU memory only if it does not find its required data in the directories associated with its high-bandwidth memory, or the NMOESI coherency protocol limits the access to that data. Using UMH with NMOESI improves performance of a CPU-multiGPU system by at least 1.92 × in comparison to alternative software-based approaches. It also allows the CPU to access GPUs modified data by at least 13 × faster.
Amir Kavyan Ziabari, Yifan Sun 0002, Yenai Ma, Dana Schaa, José L. Abellán, Rafael Ubal, John Kim 0001, Ajay Joshi, David R. Kaeli
ACM Trans. Archit. Code Optim.6
2015 Leveraging Silicon-Photonic NoC for Designing Scalable GPUs
abstract
Silicon-photonic link technology promises to satisfy the growing need for high bandwidth, low-latency and energy-efficient network-on-chip (NoC) architectures. While silicon-photonic NoC designs have been extensively studied for future many-core systems, their use in massively-threaded GPUs has received little attention to date. In this paper, we first analyze an electrical NoC which connects different cache levels (L1 to L2) in a contemporary GPU memory hierarchy. Evaluating workloads from the AMD SDK run on the Multi2sim GPU simulator finds that, apart from limits in memory bandwidth, an electrical NoC can significantly hamper performance and impede scalability, especially as the number of compute units grows in future GPU systems.
Amir Kavyan Ziabari, José L. Abellán, Rafael Ubal, Chao Chen 0003, Ajay Joshi, David R. Kaeli
ICS3
2014 Exploring the Heterogeneous Design Space for both Performance and Reliability
abstract
As we move into a new era of heterogeneous multi-core systems, our ability to tune the performance and understand the reliability of both hardware and software becomes more challenging. Given the multiplicity of different design trade-offs in hardware and software, and the rate of introduction of new architectures and hardware/software features, it becomes difficult to properly model emerging heterogeneous platforms.
Rafael Ubal, Dana Schaa, Perhaad Mistry, Yash Ukidave, Zhongliang Chen, Gunar Schirner, David R. Kaeli
DAC1
2014 Efficient Register Renaming and Recovery for High-Performance Processors
abstract
Modern superscalar processors implement register renaming using either random access memory (RAM) or content-addressable memories (CAM) tables. The design of these structures should address both access time and misprediction recovery penalty. Although direct-mapped RAMs provide faster access times, CAMs are more appropriate to avoid recovery penalties. The presence of associative ports in CAMs, however, prevents them from scaling with the number of physical registers and pipeline width, negatively impacting performance, area, and energy consumption at the rename stage. In this paper, we present a new hybrid RAM-CAM register renaming scheme, which combines the best of both approaches. In a steady state, a RAM provides fast and energy-efficient access to register mappings. On misspeculation, a low-complexity CAM enables immediate recovery. Experimental results show that in a four-way state-of-the-art superscalar processor, the new approach provides almost the same performance as an ideal CAM-based renaming scheme, while dissipating only between 17% and 26% of the original energy and, in some cases, consuming less energy than purely RAM-based renaming schemes. Overall, the silicon area required to implement the hybrid RAM-CAM scheme does not exceed the area required by conventional renaming mechanisms.
Salvador Petit, Rafael Ubal, Julio Sahuquillo, Pedro López 0001
IEEE Trans. Very Large Scale Integr. Syst.2
2013 Hardware-Based Generation of Independent Subtraces of Instructions in Clustered Processors
abstract
Multicore chips are currently dominating the microprocessor market as designs that improve performance and sustain power consumption. However, complex core features must be still considered to provide good performance for existing sequential applications. An effective approach to reduce core complexity without dramatically sacrificing performance is to distribute critical processor structures by using clustered microarchitectures. In these designs, communication latency among clusters is a critical performance bottleneck, and a good steering algorithm is required to reduce intercluster communication. In this paper, we propose a new energy-efficient microarchitectural approach that reduces intercluster communication by detecting and generating independent chains of instructions, referred to as subtraces, from the execution of sequential programs. The devised mechanism has been modeled on an x86-based trace-cache processor, where subtraces are built in the fill unit, stored in a trace cache, and individually steered to different clusters. Experimental results show that the proposal reaches performance speedups around 7 and 15 percent for point-to-point and bus-based interconnects, respectively, while achieving energy savings of up to 12 percent.
Rafael Ubal, Julio Sahuquillo, Salvador Petit, Pedro López 0001, José Duato
IEEE Trans. Computers1
2012 Multi2Sim: a simulation framework for CPU-GPU computing
abstract
Accurate simulation is essential for the proper design and evaluation of any computing platform. Upon the current move toward the CPU-GPU heterogeneous computing era, researchers need a simulation framework that can model both kinds of computing devices and their interaction. In this paper, we present Multi2Sim, an open-source, modular, and fully configurable toolset that enables ISA-level simulation of an x86 CPU and an AMD Evergreen GPU. Focusing on a model of the AMD Radeon 5870 GPU, we address program emulation correctness, as well as architectural simulation accuracy, using AMD's OpenCL benchmark suite. Simulation capabilities are demonstrated with a preliminary architectural exploration study, and workload characterization examples. The project source code, benchmark packages, and a detailed user's guide are publicly available at www.multi2sim.org.
Rafael Ubal, Byunghyun Jang, Perhaad Mistry, Dana Schaa, David R. Kaeli
PACT1
2012 Page-Based Memory Allocation Policies of Local and Remote Memory in Cluster Computers
abstract
Main memory latencies have a strong impact on the overall execution time of the applications. The need of efficiently scheduling the costly DRAM memory resources in the different motherboards is a major concern in cluster computers. Most of these systems implement remote access capabilities which allow the OS to access to remote memory. In this context, efficient scheduling becomes even more critical since remote memory accesses may be several orders of magnitude higher than local accesses. These systems typically support interleaved memory at cache-block granularity. In contrast, in this paper we explore the impact on the system performance when allocating memory at OS page granularity. Experimental results show that simply supporting interleaved memory at OS page granularity is a feasible solution that does not impact on the performance of most of the benchmarks. Based on this observation we investigated the reasons of performance drops in those benchmarks showing unacceptable performance when working at page granularity. The results of this analysis lead us to propose two memory allocation policies, namely on-demand (OD) and Most-accessed in-local (Mail). The OD policy first places the requested pages in local memory, once this memory region is full, the subsequent memory pages are placed in remote memory. This policy shows good performance when the most accessed pages are requested and allocated before than the least accessed ones, which as proven in this work, is the most common case. This simple policy reaches performance improvements by 25% in some benchmarks with respect to a typical block interleaving memory system. Nevertheless, this strategy has poor performance when a noticeable amount of the least accessed pages are requested before than the most accessed ones. This performance drawback is solved by the Mail allocation policy by using profile information to guide the allocation of new pages. This scheme always outperforms the baseline block interleaving policy and, in some cases, improves the performance of the OD policy by 25%.
Monica Serrano, Salvador Petit, Julio Sahuquillo, Rafael Ubal, Houcine Hassan, José Duato
ICPADS4
2012 A Sequentially Consistent Multiprocessor Architecture for Out-of-Order Retirement of Instructions
abstract
Out-of-order retirement of instructions has been shown to be an effective technique to increase the number of in-flight instructions. This form of runtime scheduling can reduce pipeline stalls caused by head-of-line blocking effects in the reorder buffer (ROB). Expanding the width of the instruction window can be highly beneficial to multiprocessors that implement a strict memory model, especially when both loads and stores encounter long latencies due to cache misses, and whose stalls must be overlapped with instruction execution to overcome the memory latencies. Based on the Validation Buffer (VB) architecture (a previously proposed out-of-order retirement, checkpoint-free architecture for single processors), this paper proposes a cost-effective, scalable, out-of-order retirement multiprocessor, capable of enforcing sequential consistency without impacting the design of the memory hierarchy or interconnect. Our simulation results indicate that utilizing a VB can speed up both relaxed and sequentially consistent in-order retirement in future multiprocessor systems by between 3 and 20 percent, depending on the ROB size.
Rafael Ubal, Julio Sahuquillo, Salvador Petit, Pedro López 0001, David R. Kaeli
IEEE Trans. Parallel Distributed Syst.1
2010 Exploiting subtrace-level parallelism in clustered processors
abstract
No abstract available.
Rafael Ubal, Julio Sahuquillo, Salvador Petit, Pedro López 0001, José Duato
PACT1
2010 Out-of-order retirement of instructions in sequentially consistent multiprocessors
abstract
Out-of-order retirement of instructions has been shown to be an effective technique to increase the number of in-flight instructions. This form of runtime scheduling can reduce pipeline stalls caused by head-of-line blocking effects in the reorder buffer (ROB). Wide instruction windows are very beneficial to multiprocessors that implement a strict memory model, especially when both loads and stores encounter long latencies due to cache misses, and whose stalls must be overlapped with instruction execution to overcome the memory gap. In this paper, the Validation Buffer (VB) multiprocessor architecture is proposed as a cost-effective, checkpoint-free, scalable approach to retire instructions out of program order, while still enforcing sequential consistency, and without impacting the memory hierarchy or interconnect. Experimental results show that utilizing the Validation Buffer can speed up both release and sequentially consistent in-order retirement in future multiprocessor systems by between 3% and 20%, depending on the ROB size.
Rafael Ubal, Julio Sahuquillo, Salvador Petit, Pedro López 0001, David R. Kaeli
ICCD1
2009 An Efficient Low-Complexity Alternative to the ROB for Out-of-Order Retirement of Instructions
abstract
Current superscalar processors use a reorder buffer (ROB) to support speculation, precise exceptions, and register reclamation. Instructions are retired from this structure in program order, which may lead to significant performance degradation if a long latency operation blocks the ROB head. In this paper, a checkpoint-free out-of-order commit architecture is proposed, which replaces the ROB with a small structure called validation buffer (VB) from which instructions are retired as soon as their speculative state is resolved. An aggressive register reclamation mechanism targeted to this microarchitecture is also devised. Experimental results show that the VB microarchitecture is much more efficient than a ROB-based microprocessor. For example, a 32-entry VB provides similar performance to a 256-entry ROB, while reducing the utilization of other major processor structures.
Salvador Petit, Rafael Ubal, Julio Sahuquillo, Pedro López 0001, José Duato
DSD2
2009 Paired ROBs: A Cost-Effective Reorder Buffer Sharing Strategy for SMT Processors
Rafael Ubal, Julio Sahuquillo, Salvador Petit, Pedro López 0001
Euro-Par1
2009 A power-aware hybrid RAM-CAM renaming mechanism for fast recovery
abstract
Modern superscalar processors implement register renaming by using either RAM or CAM tables. The design of these structures should address their access time and misprediction recovery penalty. While direct-mapped RAMs provide faster access times, CAMs are more appropriate to avoid recovery penalties. Although they are more complex and slower, CAMs usually match the processor cycle in current designs. However, they do not scale with the number of physical registers and the pipeline width. In this paper we present a new hybrid RAM-CAM register renaming scheme, which combines the best of both approaches. In a steady state, a RAM provides the current mappings quickly; on mispeculation, a low-complexity CAM enables immediate recovery and further register renaming. Compared to an ideal CAM in a 4-way state-of-the-art superscalar microprocessor, and for almost the same performance (1% slowdown) and area (95% of the ideal CAM size), the proposed scheme consumes about 90% less dynamic energy.
Salvador Petit, Rafael Ubal, Julio Sahuquillo, Pedro López 0001
ICCD2
2009 A Complexity-Effective Out-of-Order Retirement Microarchitecture
abstract
Current superscalar processors commit instructions in program order by using a reorder buffer (ROB). The ROB provides support for speculation, precise exceptions, and register reclamation. However, committing instructions in program order may lead to significant performance degradation if a long latency operation blocks the ROB head. Several proposals have been published to deal with this problem. Most of them retire instructions speculatively. However, as speculation may fail, checkpoints are required in order to rollback the processor to a precise state, which requires both extra hardware to manage checkpoints and the enlargement of other major processor structures, which, in turn, might impact the processor cycle. This paper focuses on out-of-order commit in a nonspeculative way, thus, avoiding checkpointing. To this end, we replace the ROB with a validation buffer (VB) structure. This structure keeps dispatched instructions until they are nonspeculative or mispeculated, which allows an early retirement. By doing so, the performance bottleneck is largely alleviated. An aggressive register reclamation mechanism targeted to this microarchitecture is also devised. As experimental results show, the VB structure is much more efficient than a typical ROB since, with only 32 entries, it achieves a performance close to an in-order commit microprocessor using a 256-entry ROB.
Salvador Petit, Julio Sahuquillo, Pedro López 0001, Rafael Ubal, José Duato
IEEE Trans. Computers4
2008 The impact of out-of-order commit in coarse-grain, fine-grain and simultaneous multithreaded architectures
abstract
Multithreaded processors in their different organizations (simultaneous, coarse grain and fine grain) have been shown as effective architectures to reduce the issue waste. On the other hand, retiring instructions from the pipeline in an out-of-order fashion helps to unclog the ROB when a long latency instruction reaches its head. This further contributes to maintain a higher utilization of the available issue bandwidth. In this paper, we evaluate the impact of retiring instructions out of order on different multithreaded architectures and different instruction fetch policies, using the recently proposed Validation Buffer microarchitecture as baseline out-of-order commit technique. Experimental results show that, for the same performance, out-of-order commit permits to reduce multithread hardware complexity (e.g., fine grain multithreading with a lower number of supported threads).
Rafael Ubal, Julio Sahuquillo, Salvador Petit, Pedro López 0001, José Duato
IPDPS1
2007 VB-MT: Design Issues and Performance of the Validation Buffer Microarchitecture for Multithreaded Processors
Rafael Ubal, Julio Sahuquillo, Salvador Petit, Pedro López 0001, José Duato
PACT1
2007 Multi2Sim: A Simulation Framework to Evaluate Multicore-Multithreaded Processors
abstract
Current microprocessors are based in complex designs, integrating different components on a single chip, such as hardware threads, processor cores, memory hierarchy or interconnection networks. The permanent need of evaluating new designs on each of these components motivates the development of tools which simulate the system working as a whole. In this paper, we present the Multi2Sim simulation framework, which models the major components of incoming systems, and is intended to cover the limitations of existing simulators. A set of simulation examples is also included for illustrative purposes.
Rafael Ubal, Julio Sahuquillo, Salvador Petit, Pedro López 0001
SBAC-PAD1
2006 Applying the zeros switch-off technique to reduce static energy in data caches
abstract
Zeros switch-off is a leakage energy reduction technique applicable to cache memories. It works at the cache word level by removing the power supply of all or part of its most significant bytes when they store a zero, taking advantage of the high percentage of zero data bits in common programs. Experimental results, obtained by using the SPEC2000 benchmarks suite, show that the average leakage energy savings reach 60.3% with no IPC loss indeed. The proposed technique can be combined with other existing energy reduction techniques, reaching, on average, 67.3% savings with 0.5% IPC losses
Rafael Ubal, Julio Sahuquillo, Salvador Petit, Pedro López 0001
SBAC-PAD1