VLDB 2026 Research / reviewers in the wild / expert
Ayose Falcón
dblp:19/4364
· DBLP profile ↗
8ranked-venue papers
4as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 6 · 2 first-authorSoftware engineering, systems software and programming languages · 3 · 3 first-author
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
3 papers |
Processor architecture and microarchitecture · 93% Hardware reliability and fault tolerance · 7% |
Topics — the 11 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Processor architecture and microarchitecture › instruction fetch
decoded instruction cache |
0.1 | 1 | 2009 | DIA: A Complexity-Effective Decoding Architecture · IEEE Trans. Computers 2009 |
Processor architecture and microarchitecture › front-end
instruction decoding |
0.1 | 1 | 2009 | DIA: A Complexity-Effective Decoding Architecture · IEEE Trans. Computers 2009 |
Processor architecture and microarchitecture
instruction fetch |
0.1 | 1 | 2009 | DIA: A Complexity-Effective Decoding Architecture · IEEE Trans. Computers 2009 |
Processor architecture and microarchitecture
branch prediction |
0.1 | 2 | 2009 | Prophet/Critic Hybrid Branch Prediction · ISCA 2004 DIA: A Complexity-Effective Decoding Architecture · IEEE Trans. Computers 2009 |
Hardware reliability and fault tolerance
fault tolerance bounds |
0.0 | 1 | 2004 | A Low-Complexity, High-Performance Fetch Unit for Simultaneous Multithreading Processors · HPCA 2004 |
Processor architecture and microarchitecture › instruction fetch
fetch architecture |
0.0 | 1 | 2004 | A Low-Complexity, High-Performance Fetch Unit for Simultaneous Multithreading Processors · HPCA 2004 |
Processor architecture and microarchitecture › branch prediction
hybrid branch predictor |
0.0 | 1 | 2004 | Prophet/Critic Hybrid Branch Prediction · ISCA 2004 |
Processor architecture and microarchitecture › multithreading
simultaneous multithreading |
0.0 | 1 | 2004 | A Low-Complexity, High-Performance Fetch Unit for Simultaneous Multithreading Processors · HPCA 2004 |
Processor architecture and microarchitecture › instruction fetch
trace cache |
0.0 | 1 | 2004 | A Low-Complexity, High-Performance Fetch Unit for Simultaneous Multithreading Processors · HPCA 2004 |
Processor architecture and microarchitecture › branch prediction
branch history |
0.0 | 1 | 2004 | Prophet/Critic Hybrid Branch Prediction · ISCA 2004 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.0 | 1 | 2004 | A Low-Complexity, High-Performance Fetch Unit for Simultaneous Multithreading Processors · HPCA 2004 |
Methods — techniques the papers use, named apart from their topics
simulation · 0.0prophet/critic prediction · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Shared resource aware scheduling on power-constrained tiled many-core processors
Sudhanshu Shekhar Jha, Wim Heirman, Ayose Falcón, Jordi Tubella, Antonio González 0001, Lieven Eeckhout |
J. Parallel Distributed Comput. | 3 |
| 2009 | DIA: A Complexity-Effective Decoding ArchitectureabstractFast instruction decoding is a true challenge for the design of CISC microprocessors implementing variable-length instructions. A well-known solution to overcome this problem is caching decoded instructions in a hardware buffer. Fetching already decoded instructions avoids the need for decoding them again, improving processor performance. However, introducing such special--purpose storage in the processor design involves an important increase in the fetch architecture complexity. In this paper, we propose a novel decoding architecture that reduces the fetch engine implementation cost. Instead of using a special-purpose hardware buffer, our proposal stores frequently decoded instructions in the memory hierarchy. The address where the decoded instructions are stored is kept in the branch prediction mechanism, enabling it to guide our decoding architecture. This makes it possible for the processor front end to fetch already decoded instructions from the memory instead of the original nondecoded instructions. Our results show that using our decoding architecture, a state-of-the-art superscalar processor achieves competitive performance improvements, while requiring less chip area and energy consumption in the fetch architecture than a hardware code caching mechanism. Oliverio J. Santana, Ayose Falcón, Alex Ramírez, Mateo Valero |
IEEE Trans. Computers | 2 |
| 2008 | An Adaptive Synchronization Technique for Parallel Simulation of Networked ClustersabstractComputer clusters are a very cost-effective approach for high performance computing, but simulating a complete cluster is still an open research problem. The obvious approach—to parallelize individual node simulators—is complex and slow. Combining individual parallel simulators implies synchronizing their progress of time. This can be accomplished with a variety of parallel discrete event simulation techniques, but unfortunately any straightforward approach introduces a synchronization overhead causing up two orders of magnitude of slowdown with respect to the simulation speed of an individual node. In this paper we present a novel adaptive technique that automatically adjusts the synchronization boundaries. By dynamically relaxing accuracy over the least interesting computational phases we dramatically increase performance with a marginal loss of precision. For example, in the simulation of an 8-node cluster running NAMD (a parallel molecular dynamics application) we show an acceleration factor of 26x over the deterministic "ground truth" simulation, at less than a 1% accuracy error. Ayose Falcón, Paolo Faraboschi, Daniel Ortega |
ISPASS | 1 |
| 2007 | Combining Simulation and Virtualization through Dynamic SamplingabstractThe high speed and faithfulness of state-of-the-art virtual machines (VMs) make them the ideal front-end for a system simulation framework. However, VMs only emulate the functional behavior and just provide the minimal timing for the system to run correctly. In a simulation framework supporting the exploration of different configurations, a timing backend is still necessary to accurately determine the performance of the simulated target. As it has been extensively researched, sampling is an excellent approach for fast timing simulation. However, existing sampling mechanisms require capturing information for every instruction and memory access. Hence, coupling a standard sampling technique to a VM implies disabling most of the "tricks" used by a VM to accelerate execution, such as the caching and linking of dynamically compiled code. Without code caching, the performance of a VM is severely impacted. In this paper we present a novel dynamic sampling mechanism that overcomes this problem and enables the use of VMs for timing simulation. By making use of the internal information collected by the VM during functional simulation, we can quickly assess important characteristics of the simulated applications (such as phase changes), and activate or deactivate the timing simulation accordingly. This allows us to run unmodified OS and applications over emulated hardware at near-native speed, yet providing a way to insert timing measurements that yield a final accuracy similar to state-of-the-art sampling methods Ayose Falcón, Paolo Faraboschi, Daniel Ortega |
ISPASS | 1 |
| 2006 | Branch predictor guided instruction decodingabstractFast instruction decoding is a challenge for the design of CISC microprocessors. A well-known solution to overcome this problem is using a trace cache. It stores and fetches already decoded instructions, avoiding the need for decoding them again. However, implementing a trace cache involves an important increase in the fetch architecture complexity. In this paper, we propose a novel decoding architecture that reduces the fetch engine implementation cost. Instead of using a special-purpose buffer like the trace cache, our proposal stores frequently decoded instructions in the memory hierarchy. The address where the decoded instructions are stored is kept in the branch prediction mechanism, enabling it to guide our decoding architecture. This makes it possible for the processor front-end to fetch already decoded instructions from memory instead of the original non-decoded instructions. Our results show that an 8-wide superscalar processor achieves an average 14% performance improvement by using our decoding architecture. This improvement is comparable to the one achieved by using the more complex trace cache, while requiring 16% less chip area and 21% less energy consumption in the fetch architecture. Oliverio J. Santana, Ayose Falcón, Alex Ramírez, Mateo Valero |
PACT | 2 |
| 2005 | A Complexity-Effective Simultaneous Multithreading ArchitectureabstractDifferent applications may exhibit radically different behaviors and thus have very different requirements in terms of hardware support. In simultaneous multithreading (SMT) architectures, the hardware is shared among multiple running applications in order to better profit from it. However, current architectures are designed for the common case, and try to satisfy a number of different application classes with a single design. That is, current designs are usually overdesigned for most cases, obtaining high performance, but wasting a lot of resources to do so. In this paper we present an alternative SMT architecture, the heterogeneously distributed SMT (hdSMT). Our architecture is based in a novel combination of SMT and clustering techniques in a heterogeneity-aware fashion. The hardware is designed to match the heterogeneous application behavior with the statically and heterogeneously partitioned resources. Such a design is aimed for minimizing the amount of resources wasted to achieve a given performance rate. On top of our statically partitioned architecture, we propose a heuristic policy to map threads to clusters so that each cluster matches the characteristics of the running threads and overall hardware usage is optimized. We compare our hdSMT architecture with a monolithic SMT processor, where all threads compete for the same resources, and with a homogeneous clustered SMT, where resources are statically and equally partitioned across clusters. Our results show that hdSMT architectures obtain an average improvement of 13% and 14% in optimizing performance per area over monolithic SMT and homogeneously clustered SMT respectively. Carmelo Acosta, Ayose Falcón, Alex Ramírez, Mateo Valero |
ICPP | 2 |
| 2004 | A Low-Complexity, High-Performance Fetch Unit for Simultaneous Multithreading ProcessorsabstractSimultaneous multithreading (SMT) is an architectural technique that allows for the parallel execution of several threads simultaneously. Fetch performance has been identified as the most important bottleneck for SMT processors. The commonly adopted solution has been fetching from more than one thread each cycle. Recent studies have proposed a plethora of fetch policies to deal with fetch priority among threads, trying to increase fetch performance. We demonstrate that the simultaneous sharing of the fetch unit, apart from increasing the complexity of the fetch unit, can be counterproductive in terms of performance. We evaluate the use of high-performance fetch units in the context of SMT. Our new fetch architecture proposal allows us to feed an 8-way processor fetching from a single thread each cycle, reducing complexity, and increasing the usefulness of proposed fetch policies. Our results show that using new high-performance fetch units, like the FTB or the stream fetch, provides higher performance than fetching from two threads using common SMT fetch architectures. Furthermore, our results show that our design obtains better average performance for any kind of workloads (both ILP and memory bounded benchmarks), in contrast to previously proposed solutions. Ayose Falcón, Alex Ramírez, Mateo Valero |
HPCA | 1 |
| 2004 | Prophet/Critic Hybrid Branch PredictionabstractThis paper introduces the prophet/critic hybrid conditional branch predictor, which has two component predictors that play the role of either prophet or critic. The prophet is a conventional predictor that uses branch history to predict the direction of the current branch. Further accesses of the prophet yield predictions for the branches following the current one. Predictions for the current branch and the ones that follow are collectively known as the branch's future. They are actually a prophecy, or predicted branch future. The critic uses both the branch's history and future to give a critique of the prophet's prediction fo the current branch. The critique, either agree or disagree, is used to generate the final prediction for the branch. Our results show an 8K + 8K byte prophet/critic hybrid has 39% fewer mispredicts than a 16K byte 2Bc - gskew predictor-a predictor similar to that of the proposed Compaq* Alpha* EV8 processor - across a wide range of applications. The distance between pipeline flushes due to mispredicts increases from one flush per 418 micro-operations (uops) to one per 680 uops. For gcc, the percentage of mispredicted branches drops from 3.11% to 1.23%. On a machine based on the Intel/spl reg/ Pentium/spl reg/ 4 processor, this improves uPC (Uops Per Cycle) by 7.8% (18% for gcc) and reduces the number of uops fetched (along both correct and incorrect paths) by 8.6%. Ayose Falcón, Jared Stark, Alex Ramírez, Konrad Lai, Mateo Valero |
ISCA | 1 |