Demo Data from EDBT 2026 / reviewers in the wild / expert
José González 0002
dblp:12/1508-2
· DBLP profile ↗
39ranked-venue papers
6as first author
0since 2021 · last 2013
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 38 · 6 first-authorApplied, interdisciplinary, general and emerging computing · 4 · 1 first-authorSoftware engineering, systems software and programming languages · 2
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
16 papers |
Memory systems · 52% Processor architecture and microarchitecture · 28% Energy-efficient computing · 11% |
Topics — the 30 heaviest of 37, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Processor architecture and microarchitecture
chip multiprocessor |
0.3 | 4 | 2012 | Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessors · ACM Trans. Archit. Code Optim. 2010 Understanding the Thermal Implications of Multi-Core Architectures · IEEE Trans. Parallel Distributed Syst. 2007 Distributed Cooperative Caching: An Energy Efficient Memory Scheme for Chip Multiprocessors · IEEE Trans. Parallel Distributed Syst. 2012 |
Memory systems › cache management › storage caching
cooperative caching |
0.3 | 2 | 2012 | Distributed Cooperative Caching: An Energy Efficient Memory Scheme for Chip Multiprocessors · IEEE Trans. Parallel Distributed Syst. 2012 Elastic cooperative caching: an autonomous dynamically adaptive memory hierarchy for chip multiprocessors · ISCA 2010 |
Memory systems
cache coherence |
0.2 | 4 | 2005 | A Two-Level Directory Architecture for Highly Scalable cc-NUMA Multiprocessors · IEEE Trans. Parallel Distributed Syst. 2005 An Architecture for High-Performance Scalable Shared-Memory Multiprocessors Exploiting On-Chip Integration · IEEE Trans. Parallel Distributed Syst. 2004 Owner prediction for accelerating cache-to-cache transfer misses in a cc-NUMA architecture · SC 2002 |
Memory systems
DRAM |
0.2 | 1 | 2013 | Thread Row Buffers: Improving Memory Performance Isolation and Throughput in Multiprogrammed Environments · IEEE Trans. Computers 2013 |
Memory systems › DRAM › DRAM microarchitecture
row buffer management |
0.2 | 1 | 2013 | Thread Row Buffers: Improving Memory Performance Isolation and Throughput in Multiprogrammed Environments · IEEE Trans. Computers 2013 |
Memory systems › memory hierarchy
cache hierarchy |
0.1 | 1 | 2012 | Distributed Cooperative Caching: An Energy Efficient Memory Scheme for Chip Multiprocessors · IEEE Trans. Parallel Distributed Syst. 2012 |
Memory systems
cache |
0.1 | 3 | 2010 | Elastic cooperative caching: an autonomous dynamically adaptive memory hierarchy for chip multiprocessors · ISCA 2010 The Design and Performance of a Conflict-Avoiding Cache · MICRO 1997 An Architecture for High-Performance Scalable Shared-Memory Multiprocessors Exploiting On-Chip Integration · IEEE Trans. Parallel Distributed Syst. 2004 |
Memory systems › non-uniform memory access
CC-NUMA |
0.1 | 3 | 2005 | A Two-Level Directory Architecture for Highly Scalable cc-NUMA Multiprocessors · IEEE Trans. Parallel Distributed Syst. 2005 An Architecture for High-Performance Scalable Shared-Memory Multiprocessors Exploiting On-Chip Integration · IEEE Trans. Parallel Distributed Syst. 2004 Owner prediction for accelerating cache-to-cache transfer misses in a cc-NUMA architecture · SC 2002 |
Parallel and multicore computing
multiprocessor system |
0.1 | 3 | 2005 | A Two-Level Directory Architecture for Highly Scalable cc-NUMA Multiprocessors · IEEE Trans. Parallel Distributed Syst. 2005 An Architecture for High-Performance Scalable Shared-Memory Multiprocessors Exploiting On-Chip Integration · IEEE Trans. Parallel Distributed Syst. 2004 A New Scalable Directory Architecture for Large-Scale Multiprocessors · HPCA 2001 |
Energy-efficient computing
thermal management |
0.1 | 2 | 2007 | Understanding the Thermal Implications of Multi-Core Architectures · IEEE Trans. Parallel Distributed Syst. 2007 Distributing the Frontend for Temperature Reduction · HPCA 2005 |
Memory systems
memory hierarchy |
0.1 | 1 | 2010 | Elastic cooperative caching: an autonomous dynamically adaptive memory hierarchy for chip multiprocessors · ISCA 2010 |
Energy-efficient computing
power management |
0.1 | 1 | 2010 | Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessors · ACM Trans. Archit. Code Optim. 2010 |
Processor architecture and microarchitecture › multithreading
simultaneous multithreading |
0.1 | 1 | 2010 | Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessors · ACM Trans. Archit. Code Optim. 2010 |
Parallel and multicore computing › parallel programming runtimes
thread management |
0.1 | 1 | 2010 | Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessors · ACM Trans. Archit. Code Optim. 2010 |
Processor architecture and microarchitecture › out-of-order execution
register renaming |
0.1 | 3 | 2004 | Late Allocation and Early Release of Physical Registers · IEEE Trans. Computers 2004 Delaying Physical Register Allocation through Virtual-Physical Registers · MICRO 1999 Virtual-Physical Registers · HPCA 1998 |
Processor architecture and microarchitecture › many-core architecture
tiled microarchitecture |
0.1 | 2 | 2012 | Distributed Cooperative Caching: An Energy Efficient Memory Scheme for Chip Multiprocessors · IEEE Trans. Parallel Distributed Syst. 2012 Elastic cooperative caching: an autonomous dynamically adaptive memory hierarchy for chip multiprocessors · ISCA 2010 |
Processor architecture and microarchitecture
branch prediction |
0.1 | 2 | 2003 | Power-Aware Control Speculation through Selective Throttling · HPCA 2003 Control-Flow Speculation through Value Prediction · IEEE Trans. Computers 2001 |
Energy-efficient computing › thermal management
dynamic thermal management |
0.1 | 1 | 2007 | Understanding the Thermal Implications of Multi-Core Architectures · IEEE Trans. Parallel Distributed Syst. 2007 |
Processor architecture and microarchitecture › front-end
front-end design |
0.1 | 1 | 2005 | Distributing the Frontend for Temperature Reduction · HPCA 2005 |
Memory systems › memory controller
memory scheduling |
0.0 | 1 | 2013 | Thread Row Buffers: Improving Memory Performance Isolation and Throughput in Multiprogrammed Environments · IEEE Trans. Computers 2013 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.0 | 3 | 2004 | Virtual-Physical Registers · HPCA 1998 Late Allocation and Early Release of Physical Registers · IEEE Trans. Computers 2004 Delaying Physical Register Allocation through Virtual-Physical Registers · MICRO 1999 |
Processor architecture and microarchitecture › branch prediction
hybrid branch predictor |
0.0 | 1 | 2001 | Control-Flow Speculation through Value Prediction · IEEE Trans. Computers 2001 |
Memory systems › shared memory
scalable shared memory |
0.0 | 1 | 2001 | A New Scalable Directory Architecture for Large-Scale Multiprocessors · HPCA 2001 |
Processor architecture and microarchitecture
value prediction |
0.0 | 1 | 2001 | Control-Flow Speculation through Value Prediction · IEEE Trans. Computers 2001 |
Processor architecture and microarchitecture
register file |
0.0 | 1 | 1999 | Delaying Physical Register Allocation through Virtual-Physical Registers · MICRO 1999 |
Parallel and multicore computing › parallel programming runtimes › thread management
thread migration |
0.0 | 1 | 2007 | Understanding the Thermal Implications of Multi-Core Architectures · IEEE Trans. Parallel Distributed Syst. 2007 |
Memory systems › cache design
cache indexing |
0.0 | 1 | 1997 | The Design and Performance of a Conflict-Avoiding Cache · MICRO 1997 |
Processor architecture and microarchitecture › clustered architecture
clustered microarchitecture |
0.0 | 1 | 2005 | Distributing the Frontend for Temperature Reduction · HPCA 2005 |
Processor architecture and microarchitecture › instruction fetch
trace cache |
0.0 | 1 | 2005 | Distributing the Frontend for Temperature Reduction · HPCA 2005 |
Processor architecture and microarchitecture › pipelining
pipeline design |
0.0 | 1 | 2003 | Power-Aware Control Speculation through Selective Throttling · HPCA 2003 |
Methods — techniques the papers use, named apart from their topics
simulation · 0.2service partitioning · 0.2issue queue prioritization · 0.1frequency/voltage scaling · 0.1dynamic adaptation · 0.1execution-driven simulation · 0.1multilayer clustering · 0.1microarchitectural simulation · 0.1cycle-level simulation · 0.0decode throttling · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | Thread Row Buffers: Improving Memory Performance Isolation and Throughput in Multiprogrammed EnvironmentsabstractThe widespread adoption of chip multiprocessors in recent years has increased the number of applications simultaneously accessing DRAM memories. Therefore, memory access patterns have also changed and this has reduced row buffer locality significantly, degrading performance and energy efficiency. Furthermore, concurrent execution of applications also has shown the need of performance isolation among threads in the memory controller to enforce a quality of service in virtualized environments. Existing DRAM memories, however, enforce a tradeoff between throughput and isolation. To solve these problems, this paper proposes the addition of Thread Row Buffers (TRBs) to DRAM memories. TRBs keep an active row per thread, thereby increasing DRAM efficiency by avoiding alternate accesses to a limited number of rows and allowing the implementation of a memory scheduler not bound to the throughput-isolation tradeoff. Thread Row Buffers with Service Partitioning (TRB-SP) increase the row hit-rate by 38 percent with respect to FR-FCFS and by 11 percent with respect to Cache DRAM. This, in turn, increases overall performance by 17 and 7 percent, respectively. TRB-SP is also able to reduce the standard deviation of the memory access time of an application by 40 percent over FR-FCFS, 31 percent over PAR-BS, and 42 percent over Cache DRAM. Enric Herrero, José González 0002, Ramon Canal, Dean M. Tullsen |
IEEE Trans. Computers | 2 |
| 2012 | Distributed Cooperative Caching: An Energy Efficient Memory Scheme for Chip MultiprocessorsabstractCurrent trends in CMPs indicate that the core count will increase in the near future. One of the main performance limiters of these forthcoming microarchitectures is the latency and high demand of the on-chip network and the off-chip memory communication. One of the main trade-offs when searching an optimal cache hierarchy is the sharing degree of cache space and its on-die distribution. Several techniques have appeared recently that optimize these parameters to get a better performance. This work provides some insight in the most promising configurations for tiled microarchitectures and shows the advantages and limitations of each of them in terms of performance and energy efficiency. This paper extends previous works by providing a complete study that evaluates different network topologies, single and multithreaded benchmarks, and single and multiprogrammed execution. In all these studies, the Distributed Cooperative Caching shows to be a promising alternative to traditional configurations for chip multiprocessors, providing a scalable and energy efficient solution. Enric Herrero, José González 0002, Ramon Canal |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2011 | Thread shuffling: combining DVFS and thread migration toreduce energy consumptions for multi-core systems
Qiong Cai, José González 0002, Grigorios Magklis, Pedro Chaparro, Antonio González 0001 |
ISLPED | 2 |
| 2010 | Power-Efficient Spilling Techniques for Chip Multiprocessors
Enric Herrero, José González 0002, Ramon Canal |
Euro-Par (1) | 2 |
| 2010 | Elastic cooperative caching: an autonomous dynamically adaptive memory hierarchy for chip multiprocessorsabstractNext generation tiled microarchitectures are going to be limited by off-chip misses and by on-chip network usage. Furthermore, these platforms will run an heterogeneous mix of applications with very different memory needs, leading to significant optimization opportunities. Existing adaptive memory hierarchies use either centralized structures that limit the scalability or software based resource allocation that increases programming complexity. Enric Herrero, José González 0002, Ramon Canal |
ISCA | 2 |
| 2010 | Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessorsabstractWe provide an analysis of thread-management techniques that increase performance or reduce energy in multicore and Simultaneous Multithreaded (SMT) cores. Thread delaying reduces energy consumption by running the core containing the critical thread at maximum frequency while scaling down the frequency and voltage of the cores containing noncritical threads. In this article, we provide an insightful breakdown of thread delaying on a simulated multi-core microprocessor. Thread balancing improves overall performance by giving higher priority to the critical thread in the issue queue of an SMT core. We provide a detailed breakdown of performance results for thread-balancing, identifying performance benefits and limitations. For those benchmarks where a performance benefit is not possible, we introduce a novel thread-balancing mechanism on an SMT core that can reduce energy consumption. We have performed a detailed study on an Intel microprocessor simulator running parallel applications. Thread delaying can reduce energy consumption by 4% to 44% with negligible performance loss. Thread balancing can increase performance by 20% or can reduce energy consumption by 23%. Ryan N. Rakvic, Qiong Cai, José González 0002, Grigorios Magklis, Pedro Chaparro, Antonio González 0001 |
ACM Trans. Archit. Code Optim. | 3 |
| 2009 | Dynamic thermal management using thin-film thermoelectric coolingabstractMulti-core architectures require Dynamic Thermal Management mechanisms (DTM) to handle (1) multiple hotspots and (2) global chip heating effect while finding the best trade-off between performance and thermal control. In that scenario Thin-Film Thermoelectric Cooling devices can be used to mitigate both effects since they provide on-die localized cooling with a dynamic and heterogeneous effect. This work proposes controlling TFTECs from the microarchitecture for an enhanced Dynamic Thermal Management in multi-core architectures. We show that by using our TFTEC-based proposals the performance is within 8% of that of a thermally-unconstrained processor. Pedro Chaparro, José González 0002, Qiong Cai, Greg Chrysler |
ISLPED | 2 |
| 2009 | A lossy 3D wavelet transform for high-quality compression of medical video
Gregorio Bernabé, José M. García 0001, José González 0002 |
J. Syst. Softw. | 3 |
| 2008 | Meeting points: using thread criticality to adapt multicore hardware to parallel regionsabstractWe present a novel mechanism, called meeting point thread characterization, to dynamically detect critical threads in a parallel region. We define the critical thread the one with the longest completion time in the parallel region. Knowing the criticality of each thread has many potential applications. In this work, we propose two applications: thread delaying for multi-core systems and thread balancing for simultaneous multi-threaded (SMT) cores. Thread delaying saves energy consumptions by running the core containing the critical thread at maximum frequency while scaling down the frequency and voltage of the cores containing non-critical threads. Thread balancing improves overall performance by giving higher priority to the critical thread in the issue queue of an SMT core. Our experiments on a detailed microprocessor simulator with the Recognition, Mining, and Synthesis applications from Intel research laboratory reveal that thread delaying can achieve energy savings up to more than 40% with negligible performance loss. Thread balancing can improve performance from 1% to 20%. Qiong Cai, José González 0002, Ryan N. Rakvic, Grigorios Magklis, Pedro Chaparro, Antonio González 0001 |
PACT | 2 |
| 2008 | Distributed cooperative cachingabstractThis paper presents the Distributed Cooperative Caching, a scalable and energy-efficient scheme to manage chip multiprocessor (CMP) cache resources. The proposed configuration is based in the Cooperative Caching framework [3] but it is intended for large scale CMPs. Both centralized and distributed configurations have the advantage of combining the benefits of private and shared caches. In our proposal, the Coherence Engine has been redesigned to allow its partitioning and thus, eliminate the size constraints imposed by the duplication of all tags. At the same time, a global replacement mechanism has been added to improve the usage of cache space. Our framework uses several Distributed Coherence Engines spread across all the nodes to improve scalability. The distribution permits a better balance of the network traffic over the entire chip avoiding bottlenecks and increasing performance for a 32-core CMP by 21% over a traditional shared memory configuration and by 57% over the Cooperative Caching scheme. Enric Herrero, José González 0002, Ramon Canal |
PACT | 2 |
| 2008 | A software-hardware hybrid steering mechanism for clustered microarchitecturesabstractClustered microarchitectures provide a promising paradigm to solve or alleviate the problems of increasing microprocessor complexity and wire delays. High- performance out-of-order processors rely on hardware-only steering mechanisms to achieve balanced workload distribution among clusters. However, the additional steering logic results in a significant increase on complexity, which actually decreases the benefits of the clustered design. In this paper, we address this complexity issue and present a novel software-hardware hybrid steering mechanism for out-of-order processors. The proposed software- hardware cooperative scheme makes use of the concept of virtual clusters. Instructions are distributed to virtual clusters at compile time using static properties of the program such as data dependences. Then, at runtime, virtual clusters are mapped into physical clusters by considering workload information. Experiments using SPEC CPU2000 benchmarks show that our hybrid approach can achieve almost the same performance as a state-of-the-art hardware-only steering scheme, while requiring low hardware complexity. In addition, the proposed mechanism outperforms state-of-the-art software-only steering mechanisms by 5% and 10% on average for 2-cluster and 4-cluster machines, respectively. Qiong Cai, Josep M. Codina, José González 0002, Antonio González 0001 |
IPDPS | 3 |
| 2008 | Efficient resources assignment schemes for clustered multithreaded processorsabstractNew feature sizes provide larger number of transistors per chip that architects could use in order to further exploit instruction level parallelism. However, these technologies bring also new challenges that complicate conventional monolithic processor designs. On the one hand, exploiting instruction level parallelism is leading us to diminishing returns and therefore exploiting other sources of parallelism like thread level parallelism is needed in order to keep raising performance with a reasonable hardware complexity. On the other hand, clustering architectures have been widely studied in order to reduce the inherent complexity of current monolithic processors. This paper studies the synergies and trade-offs between two concepts, clustering and simultaneous multithreading (SMT), in order to understand the reasons why conventional SMT resource assignment schemes are not so effective in clustered processors. These trade-offs are used to propose a novel resource assignment scheme that gets and average speed up of 17.6% versus Icount improving fairness in 24%. Fernando Latorre, José González 0002, Antonio González 0001 |
IPDPS | 2 |
| 2008 | Thread fusionabstractThis work proposes Thread Fusion as an effective way of reducing power consumption when a Simultaneous Multi-Threaded (SMT) core is executing two threads from a homogeneous parallel application. Two dynamic instances of the same static instruction, each from a different thread are merged (fused) into a single instruction, consuming half of the resources of front-end pipeline stages. When the fused instruction is executed, it is cloned and it proceeds at full bandwidth. Our simulation results show average energy reduction of 10% with less than 1% impact on performance. José González 0002, Qiong Cai, Pedro Chaparro, Grigorios Magklis, Ryan N. Rakvic, Antonio González 0001 |
ISLPED | 1 |
| 2007 | An efficient implementation of a 3D wavelet transform based encoder on hyper-threading technology
Gregorio Bernabé, Ricardo Fernández-Pascual, José M. García 0001, Manuel E. Acacio, José González 0002 |
Parallel Comput. | 5 |
| 2007 | Understanding the Thermal Implications of Multi-Core ArchitecturesabstractMulti-core architectures are becoming the main design paradigm for current and future processors. The main reason is that multi-core designs provide an effective way of overcoming ILP limitations by exploiting TLP. In addition, it is a power- and complexity-effective way of taking advantage of the huge number of transistors that can be integrated on a chip. On the other hand, today’s higher than ever power densities have made temperature one of the main limitations of microprocessor evolution. Thermal management in multi-core architectures is a fairly new area. Some works have addressed dynamic thermal management in bi/quad-core architectures. This work provides insight and explores different alternatives for thermal management in multi-core architectures with 16 cores. Schemes employing both energy reduction and activity migration are explored and improvements for thread migration schemes are proposed. Pedro Chaparro, José González 0002, Grigorios Magklis, Qiong Cai, Antonio González 0001 |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2006 | Independent front-end and back-end dynamic voltage scaling for a GALS microarchitectureabstractIn recent years, Globally Asynchronous Locally Synchronous (GALS) designs and dynamic voltage scaling (DVS) have emerged as some of the most popular approaches to address the ever increasing microprocessor energy consumption. In this work, we propose two on-line algorithms for adjusting dynamically, and independently, the voltage and frequency of the front-end and back-end domains of a novel two-domain microprocessor. We evaluate our mechanisms for both internal and external voltage regulators, and we present optimal dynamic voltage scaling results for the proposed microarchitecture. Our schemes achieve average improvement of 12% of the energy-delay2 metric, when using internal voltage regulators. Grigorios Magklis, Pedro Chaparro, José González 0002, Antonio González 0001 |
ISLPED | 3 |
| 2005 | Distributing the Frontend for Temperature ReductionabstractDue to increasing power densities, both on-chip average and peak temperatures are fast becoming a serious bottleneck in processor design. This is due to the cost of removing the heat generated, and the performance impact of dealing with thermal emergencies. So far microarchitectural techniques to control temperature have mainly focused on the processor backend (in particular the execution units), whereas the frontend has not received much attention. However, as the temperature of the backend remains controlled and the processor throughput increases, the heat dissipated by the frontend becomes more significant, and one of the major contributors to the total average temperature. This paper proposes and evaluates a distributed frontend for clustered microarchitectures that is able to reduce power density and temperature. First, a distributed mechanism for renaming and committing instructions is proposed. Second, a sub-banked trace cache with a bank hopping mechanism is presented. Finally, a method to improve the sub-banking is proposed based on a biased mapping function to distribute bank accesses to balance temperature. Pedro Chaparro, Grigorios Magklis, José González 0002, Antonio González 0001 |
HPCA | 3 |
| 2005 | A Two-Level Directory Architecture for Highly Scalable cc-NUMA MultiprocessorsabstractOne important issue the designer of a scalable shared-memory multiprocessor must deal with is the amount of extra memory required to store the directory information. It is desirable that the directory memory overhead be kept as low as possible, and that it scales very slowly with the size of the machine. Unfortunately, current directory architectures provide scalability at the expense of performance. This work presents a scalable directory architecture that significantly reduces the size of the directory for large-scale configurations of a multiprocessor without degrading performance. First, we propose multilayer clustering as an effective approach to reduce the width of directory entries. Based on this concept, we derive three new compressed sharing codes, some of them with a space complexity of O(log/sub 2/(log/sub 2/(N))) for an N-node system. Then, we present a novel two-level directory architecture to eliminate the penalty caused by compressed directories in general. The proposed organization consists of a small full-map first-level directory (which provides precise information for the most recently referenced lines) and a compressed second-level directory (which provides in-excess information for all the lines). The proposals are evaluated based on extensive execution-driven simulations (using RSIM) of a 64-node cc-NUMA multiprocessor. Results demonstrate that a system with a two-level directory architecture achieves the same performance as a multiprocessor with a big and nonscalable full-map directory, with a very significant reduction of the memory overhead. Manuel E. Acacio, José González 0002, José M. García 0001, José Duato |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2004 | Thermal-Aware Clustered MicroarchitecturesabstractAs frequencies and feature size scale faster than operating voltages, power density is increasing in each processor generation. Power density and the cost of removing the heat it generates are increasing at the same rate. Leakage is significantly increasing every process generation and it is expected to be the main source of power in the near future. Moreover, leakage power grows exponentially with temperature. This paper proposes and evaluates several techniques with two goals: reduction of average temperature in order to decrease leakage power, and reduction of peak temperature in order to reduce cooling cost. Combinations of temperature-aware steering techniques and cluster hopping are investigated in a quad-cluster superscalar microarchitecture. Combining cluster hopping with a temperature-aware steering policy results in 30% reduction in leakage power and 8% reduction in average peak temperature at the expense of a slowdown of just 5%. Pedro Chaparro, José González 0002, Antonio González 0001 |
ICCD | 2 |
| 2004 | Frontend Frequency-Voltage Adaptation for Optimal Energy-Delay^2abstractIn this paper, we present a clustered, multiple-clock domain (CMCD) microarchitecture that combines the benefits of both clustering and globally asynchronous locally synchronous (GALS) designs. We also present a mechanism for dynamically adapting the frequency and voltage of the frontend of the CMCD with the goal to optimize the energy-delay/sup 2/ product (ED2P). Our mechanism has minimal hardware cost, is entirely self-adjustable, does not depend on any thresholds, and achieves results close to optimal. We evaluate it on 16 SPEC 2000 applications and report 17.5% ED2P reduction on average (80% of the upper bound). Grigorios Magklis, José González 0002, Antonio González 0001 |
ICCD | 2 |
| 2004 | Back-end assignment schemes for clustered multithreaded processorsabstractPower consumption and wire delays are two important limiting factors for current and forthcoming processors. Monolithic designs that keep reasonable power consumption and operate at high clock frequencies are ever harder to implement. In this paper we propose a novel multithreaded clustered microarchitecture that consists of a clustered front-end capable of fetching instructions from multiple hreads and a clustered back-end where instructions are executed. This microarchitecture combines the concepts of multithreading and clustering to a tack both problems: power consumption and wire delays. A key aspect of this microarchitecture is the assignment of resources to the simultaneously running threads. We propose two back-end assignment schemes; in the Static Back-end Assignment (SBA)the back-ends are statically assigned to the front-ends, while in the Dynamic Back-end Assignment (DBA) the back-ends are dynamically assigned according to the demands of each front-end. A limit study of the potential performance of DBA shows a minor benefit compared to SBA. The causes why the DBA scheme does not perform as initially expected are investigated and the main limiting factors of this architecture are evaluated. Finally,we point out he advantages of DBA versus SBA. Fernando Latorre, José González 0002, Antonio González 0001 |
ICS | 2 |
| 2004 | Architecture of an automatically tuned linear algebra library
Javier Cuenca 0001, Domingo Giménez, José González 0002 |
Parallel Comput. | 3 |
| 2004 | Late Allocation and Early Release of Physical RegistersabstractThe register file is one of the critical components of current processors in terms of access time and power consumption. Among other things, the potential to exploit instruction-level parallelism is closely related to the size and number of ports of the register file. In conventional register renaming schemes, both register allocation and releasing are conservatively done, the former at the rename stage, before registers are loaded with values, and the latter at the commit stage of the instruction redefining the same register, once registers are not used any more. We introduce VP-LAER, a renaming scheme that allocates registers later and releases them earlier than conventional schemes. Specifically, physical registers are allocated at the end of the execution stage and released as soon as the processor realizes that there will be no further use of them. VP-LAER enhances register utilization, that is, the fraction of allocated registers having a value to be read in the future. Detailed cycle-level simulations show either a significant speedup for a given register file size or a reduction in the register file size for a given performance level, especially for floating-point codes, where the register file pressure is usually high. Teresa Monreal Arnal, Víctor Viñals, José González 0002, Antonio González 0001, Mateo Valero |
IEEE Trans. Computers | 3 |
| 2004 | An Architecture for High-Performance Scalable Shared-Memory Multiprocessors Exploiting On-Chip IntegrationabstractRecent technology improvements allow multiprocessor designers to put some key components inside the processor chip, such as the memory controller, the coherence hardware, and the network interface/router. In this paper, we exploit such integration scale, presenting a novel node architecture aimed at reducing the long L2 miss latencies and the memory overhead of using directories that characterize cc-NUMA machines and limit their scalability. Our proposal replaces the traditional directory with a novel three-level directory architecture, as well as it adds a small shared data cache to each of the nodes of a multiprocessor system. Due to their small size, the first-level directory and the shared data cache are integrated into the processor chip in every node, which enhances performance by saving accesses to the slower main memory. Scalability is guaranteed by having the second and third-level directories out of the processor chip and using compressed data structures. A taxonomy of the L2 misses, according to the actions performed by the directory to satisfy them, is also presented. Using execution-driven simulations, we show that significant latency reductions can be obtained by using the proposed node architecture, which translates into reductions of more than 30 percent in several cases in the application execution time. Manuel E. Acacio, José González 0002, José M. García 0001, José Duato |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2003 | Power-Aware Control Speculation through Selective ThrottlingabstractWith the constant advances in technology that lead to the increasing of the transistor count and processor frequency, power dissipation is becoming one of the major issues in high-performance processors. These processors increase their clock frequency by lengthening the pipeline, which puts more pressure on the branch prediction engine since branches take longer to be resolved. Branch mispredictions are responsible for around 28% of the power dissipated by a typical processor due to the useless activities performed by instructions that are squashed. This work focuses on reducing the power dissipated by mis-speculated instructions. We propose selective throttling as an effective way of triggering different power-aware techniques (fetch throttling, decode throttling or disabling the selection logic). The particular set of techniques applied to each branch is dynamically chosen depending on the branch prediction confidence level. For branches with a low confidence on the prediction, the most aggressive throttling mechanism is used whereas high confidence branch predictions trigger the least aggressive techniques. Results show that combining fetch bandwidth reduction along with select logic disabling provides the best performance both in terms of energy reduction and energy-delay improvement (14% and 9% respectively for 14 stages, and 17% and 12% respectively for 28 stages). Juan L. Aragón, José González 0002, Antonio González 0001 |
HPCA | 2 |
| 2003 | Dynamic Cluster ResizingabstractProcessor resources required for an effective execution of an application vary across different sections. We propose to take advantage of clustering to turn-off resources that do not contribute to improve performance. First, we present a simple hardware scheme to dynamically compute the energy consumed by each processor block and the energy-delay/sup 2/ product for a given interval of time. This scheme is used to compute the effectiveness of the current configuration in terms of energy-delay/sup 2/ and evaluate the benefits of increasing/decreasing the number of active issue queues. Performance evaluation shows an average energy-delay/sup 2/ product improvement of 18%, and up to 50% for some applications, in a quad-cluster architecture. José González 0002, Antonio González 0001 |
ICCD | 1 |
| 2002 | Dual path instruction processingabstractThe reasons for performance losses due to conditional branch mispredictions are first studied. Branch misprediction penalties are broken into three categories: pipeline-fill penalty, window-fill penalty, and serialization penalty. The first and third of these produce most of the performance loss, but the second is also significant. Previously proposed dual (or multi) path execution methods attempt to reduce all three penalties, but these methods are also quite complex. Most of the complexity is caused by simultaneously executing instructions from multiple paths. A good Juan L. Aragón, José González 0002, Antonio González 0001, James E. Smith 0001 |
ICS | 2 |
| 2002 | Owner prediction for accelerating cache-to-cache transfer misses in a cc-NUMA architectureabstractCache misses for which data must be obtained from a remote cache (cache-to-cache transfer misses) account for an important fraction of the total miss rate. Unfortunately, cc-NUMA designs put the access to the directory information into the critical path of 3-hop misses, which significantly penalizes them compared to SMP designs. This work studies the use of owner prediction as a means of providing cc-NUMA multiprocessors with a more efficient support for cache-to-cache transfer misses. Our proposal comprises an effective prediction scheme as well as a coherence protocol designed to support the use of prediction. Results indicate that owner prediction can significantly reduce the latency of cache-to-cache transfer misses, which translates into speed-ups on application performance up to 12%. In order to also accelerate most of those 3-hop misses that are either not predicted or mispredicted, the inclusion of a small and fast directory cache in every node is evaluated, leading to improvements up to 16% on the final performance. Manuel E. Acacio, José González 0002, José M. García 0001, José Duato |
SC | 2 |
| 2001 | Confidence Estimation for Branch Prediction Reversal
Juan L. Aragón, José González 0002, José M. García 0001, Antonio González 0001 |
HiPC | 2 |
| 2001 | A New Scalable Directory Architecture for Large-Scale MultiprocessorsabstractThe memory overhead introduced by directories constitutes a major hurdle in the scalability of cc-NUMA architectures, which makes the shared-memory paradigm unfeasible for very large-scale systems. This work is focused on improving the scalability of shared-memory multiprocessors by significantly reducing the size of the directory. We propose multilayer clustering as an effective approach to reduce the directory-entry width. Detailed evaluation for 64 processors shows that using this approach we can drastically reduce the memory overhead, while suffering a performance degradation we similar to previous compressed schemes (such as Coarse Vector). In addition, a novel two-level directory architecture is proposed in order to eliminate the penalty caused by these compressed directories. This organization consists of a small Full-Map first-level directory (which provides precise information for the most recently referenced lines) and a compressed second-level directory (which provides in-excess information). Results show that a system with this directory architecture can achieve the same performance as a multiprocessor with a big and non-scalable Full-Map directory with a very significant reduction of the memory overhead. Manuel E. Acacio, José González 0002, José M. García 0001, José Duato |
HPCA | 2 |
| 2001 | Selective Branch Prediction Reversal By Correlating with Data Values and Control FlowabstractBranch prediction is one of the main hurdles in the roadmap towards deeper pipelines and higher clock frequencies. This work presents a new approach to enhancing current branch predictors: Selective Branch Prediction Reversal. The rationale behind this proposal is the fact that many branch mispredictions can be avoided if branch prediction is selectively reversed. We present a Branch Prediction Reversal Unit (BPRU) that selectively reverses branch predictions by correlating with the predicted values of the branch inputs, in addition to recent control flow. As a case study, we have included the BPRU in an already proposed branch predictor, the Branch Predictor through Value Prediction (BPVP). The effect is a reduction by half in its original misprediction rate. We have also measured the improvement when the BPRU engine is used in a hybrid scheme composed of a BPVP and a gshare predictor. Results using immediate updates show average reductions in misprediction rate ranging from 7% to 14%. Performance evaluation of the proposed BPRU in a 20-stage superscalar processor shows an IPC improvement of up to 9%. Juan L. Aragón, José González 0002, José M. García 0001, Antonio González 0001 |
ICCD | 2 |
| 2001 | Control-Flow Speculation through Value PredictionabstractIn this paper, we introduce a new branch predictor that predicts the outcome of branches by predicting the value of their inputs and performing an early computation of their results according to the predicted values. The design of a hybrid predictor comprising the above branch predictor and a correlating branch predictor is presented. We also propose a new selector that chooses the most reliable prediction for each branch. This selector is based on the path followed to reach the branch. Results for immediate updates show significant misprediction rate reductions with respect to a conventional hybrid predictor for different size configurations. In addition, the proposed hybrid predictor with a size of 8 KB achieves the same accuracy as a conventional one of 64 KB. Performance evaluation for a dynamically scheduled superscalar processor, with realistic updates, shows a speed up of 8 percent despite its higher latency (up to four cycles). José González 0002, Antonio González 0001 |
IEEE Trans. Computers | 1 |
| 1999 | Delaying Physical Register Allocation through Virtual-Physical RegistersabstractRegister file access time represents one of the critical delays of current microprocessors, and it is expected to become more critical as future processors increase the instruction window size and the issue width. This paper presents a novel physical register management scheme that allows for a late allocation (at the end of execution) of registers. We show that it can provide significant savings in number of registers and thus, it can significantly shorten the register file access time. The approach is based on virtual-physical registers, which we presented in a previous work, extended with a new register allocation policy. This policy consists of an on-demand allocation in order to maximize the register usage, combined with a stealing mechanism that prevents older instruction from being delayed by younger ones. This shortens the average number of cycles that each physical register is allocated, and allows for an early execution of instructions since they can obtain a physical register for its destination earlier than with the conventional scheme. Early execution is especially beneficial for branches and memory operations, since the former can be resolved earlier and the latter can prefetch their data in advance. Teresa Monreal Arnal, Antonio González 0001, Mateo Valero, José González 0002, Víctor Viñals |
MICRO | 4 |
| 1998 | Virtual-Physical RegistersabstractA novel dynamic register renaming approach is proposed in this work. The key idea of the novel scheme is to delay the allocation of physical registers until a late stage in the pipeline, instead of doing it in the decode stage as conventional schemes do. In this way, the register pressure is reduced and the processor can exploit more instruction-level parallelism. Delaying the allocation of physical registers require some additional artifact to keep track of dependences. This is achieved by introducing the concept of virtual-physical registers, which do not require any storage location and are used to identify dependences among instructions that have not yet allocated a register to its destination operand. Two alternative allocation strategies have been investigated that differ in the stage where physical registers are allocated: issue or write-back. The experimental evaluation has confirmed the higher performance of the latter alternative. We have performed all evaluation of the novel scheme through a detailed simulation of a dynamically scheduled processor. The results show a significant improvement (e.g., 19% increase in IPC for a machine with 64 physical registers in each file) when compared with the traditional register renaming approach. Antonio González 0001, José González 0002, Mateo Valero |
HPCA | 2 |
| 1998 | The Potential of Data Value Speculation to Boost ILP
José González 0002, Antonio González 0001 |
International Conference on Supercomputing | 1 |
| 1997 | Memory Address Prediction for Data Speculation
José González 0002, Antonio González 0001 |
Euro-Par | 1 |
| 1997 | Virtual registersabstractThe number of physical registers is one of the critical issues of current superscalar out-of-order processors. Conventional architectures allocate, in the decoding stage, a new storage location (e.g. a physical register) for each operation that has a destination register. When an instruction is committed, it frees the physical register allocated to the previous instruction that had the same destination logical register. Thus, an additional register (i.e. in addition to the number of logical registers) is used for each instruction with a destination register from the time it is decoded until it is committed. In this paper, we propose a novel register organization that allocates physical registers when instructions complete their execution. In this way, the register pressure is significantly reduced, since the additional register is only used from the time execution completes until the instruction is committed. For some long-latency instructions (e.g. load with a cache miss) and for parts of the code with a small amount of parallelism, the savings could be very high. We have evaluated the new scheme for a superscalar processor and obtained a significant speedup. Antonio González 0001, Mateo Valero, José González 0002, Teresa Monreal Arnal |
HiPC | 3 |
| 1997 | Speculative Execution via Address Prediction and Data PrefetchingabstractData dependencies have become one of the main bottlenecks of current superscalar processors. Data speculation is gaining popularity as a mechanism to avoid the ordering imposed by data dependencies. Loads and stores are very good candidates for data speculation since their effective address has a regular behavior and then, they are highly predictable. In this paper we propose a mechanism called Address Prediction and Data Prefetching that allows load instructions to obtain their data at the decode stage. Besides, the effective address of load and store instructions is also predicted. These instructions and those dependent on them are speculatively executed. The technique has been evaluated for an out-of-order processor with a realistic configuration. The performance gain is about 19% in average and it is much higher for some benchmarks (up to 35%). 1 Introduction Dependencies among the instructions that constitute a program are becoming one of the most important bottlenecks for curren... José González 0002, Antonio González 0001 |
International Conference on Supercomputing | 1 |
| 1997 | The Design and Performance of a Conflict-Avoiding CacheabstractHigh performance architectures depend heavily on efficient multi-level memory hierarchies to minimize the cost of accessing data. This dependence will increase with the expected increases in relative distance to main memory. There have been a number of published proposals for cache conflict-avoidance schemes. We investigate the design and performance of conflict-avoiding cache architectures based on polynomial modulus functions, which earlier research has shown to be highly effective at reducing conflict miss ratios. We examine a number of practical implementation issues and present experimental evidence to support the claim that pseudo-randomly indexed caches are both effective in performance terms and practical from an implementation viewpoint. Nigel P. Topham, Antonio González 0001, José González 0002 |
MICRO | 3 |