Demo Data from VLDB 2026 / reviewers in the wild / expert
Francisco Corbera
dblp:71/3409
· DBLP profile ↗
20ranked-venue papers
4as first author
2since 2021 · last 2021
0000-0003-0466-7729ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 19 · 3 first-author · 2 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 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
1 paper |
GPUs and heterogeneous computing · 33% Parallel and multicore computing · 33% Reconfigurable computing and FPGAs · 33% | |
| Software engineering, system software, and programming languages
1 paper |
Program analysis · 87% Compilers and program optimization · 13% |
Topics — the 6 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
GPUs and heterogeneous computing › CPU-GPU heterogeneous computing
CPU-GPU scheduling |
0.2 | 1 | 2016 | Mapping Streaming Applications on Commodity Multi-CPU and GPU On-Chip Processors · IEEE Trans. Parallel Distributed Syst. 2016 |
Parallel and multicore computing
parallel scheduling |
0.2 | 1 | 2016 | Mapping Streaming Applications on Commodity Multi-CPU and GPU On-Chip Processors · IEEE Trans. Parallel Distributed Syst. 2016 |
Reconfigurable computing and FPGAs › application mapping
streaming application mapping |
0.2 | 1 | 2016 | Mapping Streaming Applications on Commodity Multi-CPU and GPU On-Chip Processors · IEEE Trans. Parallel Distributed Syst. 2016 |
Program analysis › static analysis
pointer analysis |
0.0 | 1 | 2004 | A Framework to Capture Dynamic Data Structures in Pointer-Based Codes · IEEE Trans. Parallel Distributed Syst. 2004 |
Program analysis › static analysis › pointer analysis
shape analysis |
0.0 | 1 | 2004 | A Framework to Capture Dynamic Data Structures in Pointer-Based Codes · IEEE Trans. Parallel Distributed Syst. 2004 |
Compilers and program optimization
memory optimization |
0.0 | 1 | 2004 | A Framework to Capture Dynamic Data Structures in Pointer-Based Codes · IEEE Trans. Parallel Distributed Syst. 2004 |
Methods — techniques the papers use, named apart from their topics
runtime adaptation · 0.2analytical modeling · 0.2static analysis · 0.0reference shape graph · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Efficient heterogeneous matrix profile on a CPU + High Performance FPGA with integrated HBMabstractIn this work, we study the problem of efficiently executing a state-of-the-art time series algorithm class – SCAMP – on a heterogeneous platform comprised of CPU + High Performance FPGA with integrated HBM (High Bandwidth Memory). The geometry of the algorithm (a triangular matrix walk) and the FPGA capabilities pose two challenges. First, several replicated IPs can be instantiated in the FPGA fabric, so load balance is an issue not only at system-level (CPU+FPGA), but also at device-level (FPGA IPs). And second, the data that each one of these IPs accesses must be carefully placed among the HBM banks in order to efficiently exploit the memory bandwidth offered by the banks while optimizing power consumption. To tackle the first challenge we propose a novel hierarchical scheduler named Fastfit, to efficiently balance the workload in the heterogeneous system while ensuring near-optimal throughput. Our scheduler consists of a two level scheduling engine: (1) the system-level scheduler, which leverages an analytical model of the FPGA pipeline IPs, to find the near-optimal FPGA chunk size that guarantees optimal FPGA throughput; and (2) a geometry-aware device-level scheduler, which is responsible for the effective partitioning of the FPGA chunk into sub-chunks assigned to each FPGA IP. To deal with the second challenge we propose a methodology based on a model of the HBM bandwidth usage that allows us to set the minimum number of active banks that ensure the maximum aggregated memory bandwidth for a given number of IPs. Through exhaustive evaluation we validate the accuracy of our models, the efficiency of our intra-device partition strategies and the performance and energy efficiency of our Fastfit heterogeneous scheduler, finding that it outperforms state-of-the-art previous schedulers by achieving up to 99.4% of ideal performance. Jose Carlos Romero, Angeles G. Navarro, Antonio Vilches, Andrés Rodríguez Moreno, Francisco Corbera, Rafael Asenjo |
Future Gener. Comput. Syst. | 5 |
| 2021 | Efficiency and productivity for decision making on low-power heterogeneous CPU+GPU SoCs
Denisa-Andreea Constantinescu, Angeles G. Navarro, Francisco Corbera, Juan-Antonio Fernández-Madrigal, Rafael Asenjo |
J. Supercomput. | 3 |
| 2020 | Parallel multiprocessing and scheduling on the heterogeneous Xeon+FPGA platform
Andrés Rodríguez Moreno, Angeles G. Navarro, Rafael Asenjo, Francisco Corbera, Ruben Gran Tejero, Darío Suárez Gracia, José L. Núñez-Yáñez |
J. Supercomput. | 4 |
| 2019 | Exploring heterogeneous scheduling for edge computing with CPU and FPGA MPSoCs
Andrés Rodríguez Moreno, Angeles G. Navarro, Rafael Asenjo, Francisco Corbera, Ruben Gran Tejero, Darío Suárez Gracia, José L. Núñez-Yáñez |
J. Syst. Archit. | 4 |
| 2016 | Mapping Streaming Applications on Commodity Multi-CPU and GPU On-Chip ProcessorsabstractIn this paper, we consider the problem of efficiently executing streaming applications on commodity processors composed of several cores and an on-chip GPU. Streaming applications, such as those in vision and video analytic, consist of a pipeline of stages and are good candidates to take advantage of this type of platforms. We also consider that characteristics of the input may change while the application is running. Therefore, we propose a framework that adaptively finds the optimal mapping of the pipeline stages. The core of the framework is an analytical model coupled with information collected at runtime used to dynamically map each pipeline stage to the most efficient device, taking into consideration both performance and energy. Our experimental results show that for the evaluated applications running on two different architectures, our model always predicts the best configuration among the evaluated alternatives, and significantly reduces the amount of information that needs to be collected at runtime. This best configuration has, on the average, 20 percent higher throughput than the configuration recommended by a baseline state of the art approach, while the ratio throughput/energy is 43 percent higher. We have measured improvements in throughput and throughput/energy of up-to 81 and 204 percent, respectively, when the model is used to adapt to a video that changes from low to high definition. Antonio Vilches, Angeles G. Navarro, Rafael Asenjo, Francisco Corbera, Ruben Gran Tejero, María Jesús Garzarán |
IEEE Trans. Parallel Distributed Syst. | 4 |
| 2014 | A case study of different task implementations for multioutput stages in non-trivial parallel pipeline applications
Angeles G. Navarro, Rafael Asenjo, Francisco Corbera, Antonio J. Dios, Emilio L. Zapata |
Parallel Comput. | 3 |
| 2014 | Strategies for maximizing utilization on multi-CPU and multi-GPU heterogeneous architectures
Angeles G. Navarro, Antonio Vilches, Francisco Corbera, Rafael Asenjo |
J. Supercomput. | 3 |
| 2013 | Efficient floating-point representation for balanced codes for FPGA devicesabstractWe propose a floating-point representation to deal efficiently with arithmetic operations in codes with a balanced number of additions and multiplications for FPGA devices. The variable shift operation is very slow in these devices. We propose a format that reduces the variable shifter penalty. It is based on a radix-64 representation such that the number of the possible shifts is considerably reduced. Thus, the execution time of the floating-point addition is highly optimized when it is performed in an FPGA device, which compensates for the multiplication penalty when a high radix is used, as experimental results have shown. Consequently, the main problem of previous specific high-radix FPGA designs (no speedup for codes with a balanced number of multiplications and additions) is overcome with our proposal. The inherent architecture supporting the new format works with greater bit precision than the corresponding single precision (SP) IEEE-754 standard. Julio Villalba, Javier Hormigo, Francisco Corbera, Mario A. González, Emilio L. Zapata |
ICCD | 3 |
| 2012 | A data dependence test based on the projection of paths over shape graphs
Angeles G. Navarro, Francisco Corbera, Rafael Asenjo, Rosa Castillo, Emilio L. Zapata |
J. Parallel Distributed Comput. | 2 |
| 2011 | High-level template for the task-based parallel wavefront patternabstractGiven the arrival of multicore processors, it has become a matter of urgency to introduce parallel programming into mainstream computing. In emerging applications, a class of computational problem that poses a challenge to the programmers is the wavefront pattern. A particular characteristic of this pattern is multi-dimensional streaming of the computations that must follow a dependence pattern. The modern software stack for multicore systems offers task-based programming libraries like TBB (Threading Building Blocks), that allow an execution model based on lightweight asynchronous tasks. We suggest that TBB provides useful features to improve the scalability of these kinds of codes but at the cost of leaving some low-level task management details to the programmer. In this paper, we discuss such low-level task management issues and incorporate them into a high-level TBB-based template. The goal of the template is to improve the programmer's productivity such that a nonexpert user can easily code complex wavefront problems without having to deal with task creation, synchronization or scheduling mechanisms. With our template, the user only has to specify a definition file with the wavefront dependence pattern and the function that each task has to execute. In addition, we describe our experience with the TBB template when coding four complex real wavefront problems. In these experiments, we found that the template implementations reduced the programming effort from 25% to 50% at a cost of increasing the overhead up to 5% when compared to manual implementations of the same problem. Antonio J. Dios, Rafael Asenjo, Angeles G. Navarro, Francisco Corbera, Emilio L. Zapata |
HiPC | 4 |
| 2010 | Evaluation of the Task Programming Model in the Parallelization of Wavefront ProblemsabstractThis paper analyzes the applicability of the task programming model in the parallelization of generic wave front problems. Computations on this type of problems are characterized by a data dependency pattern across a data space, which can produce a variable number of independent tasks through the traversal of such space. Precisely, we think that it is better to formulate the parallelization of this wave front-based programs in terms of logical tasks, instead of threads for several reasons: more efficient matching of computations to available resources, faster start-up and creation task times, improved load balancing and higher level thinking. To implement the parallel wave front we have used two state-of-the art task libraries: TBB and OpenMP 3.0. In this work, we highlight the differences between both implementations, from a programmer standpoint and from the performance point of view. For it, we conduct several experiments to identify the factors that can limit the performance on each case. Besides, we present in the paper a wave front template based on tasks, template that makes easier the coding of parallel wave front codes. We have validated this template with three real dynamic programming algorithms, finding that the TBB-coded template always outperforms the OpenMP based-one. Antonio J. Dios, Rafael Asenjo, Angeles G. Navarro, Francisco Corbera, Emilio L. Zapata |
HPCC | 4 |
| 2008 | Parallelizing irregular C codes assisted by interprocedural shape analysisabstractIn the new multicore architecture arena, the problem of improving the performance of a code is more in the software side than in the hardware one. However, optimizing irregular dynamic data structure based codes for such architectures is not easy, either by hand or compiler assisted. Regarding this last approach, shape analysis is a static technique that achieves abstraction of dynamic memory and can help to disambiguate, quite accurately, memory references in programs that create and traverse recursive data structures. This kind of analysis has promising applicability for accurate data dependence tests in loops or recursive functions that traverse dynamic data structures. However, support for interprocedural programs in shape analysis is still a challenge, especially in the presence of recursive functions. In this work we present a novel fully context-sensitive interprocedural shape analysis algorithm that supports recursion and can be used to uncover parallelism. Our approach is based on three key ideas: i) intraprocedural support based on "coexistent links sets" to precisely describe the memory configurations during the abstract interpretation of the C code; ii) interprocedural support based on "recursive flow links" to trace the state of pointers in previous calls; and Hi) annotations of the read/written heap locations during the program analysis. We present preliminary experiments that reveal that our technique compares favorably with related work, and obtains precise memory abstractions in a variety of recursive programs that create and manipulate dynamic data structures. We have also implemented a data dependence test over our interprocedural shape analysis. With this test we have obtained promising results, automatically detecting parallelism in three C codes, which have been successfully parallelized. Rafael Asenjo, Rosa Castillo, Francisco Corbera, Angeles G. Navarro, Adrian Tineo, Emilio L. Zapata |
IPDPS | 3 |
| 2008 | Development of a new MOODLE module for a basic course on computer architectureabstractThis work describes a new Moodle module, CTpractices, developed to give support to the practical content of a basic computer organization course. Within a constructivist pedagocical aproach Moodle (Modular Object-Oriented Dynamic Learning Environment)[1], a very popular Learning Management Systema (LMS), provides a highly configurable web-based interface that includes a wide range of activities which are, in general, sufficient for a standard course. Nevertheless, when dealing with specific subjects, some functional features are missed, as it is the case when teaching a basic course on computer architecture, an essential topic in the computer science curricula. It involves practical assignments consisting on the design and simulation of elementary processors by means of CAD tools making use of schematic or VHDL design entries. Francisco Corbera, Eladio Gutiérrez, Julián Ramos, Sergio Romero 0001, María A. Trenas |
ITiCSE | 1 |
| 2007 | Detecting loop-carried dependences in programs with dynamic data structures
Angeles G. Navarro, Francisco Corbera, Adrian Tineo, Rafael Asenjo, Emilio L. Zapata |
J. Parallel Distributed Comput. | 2 |
| 2006 | Towards a Versatile Pointer Analysis Framework
Rosa Castillo, Adrian Tineo, Francisco Corbera, Angeles G. Navarro, Rafael Asenjo, Emilio L. Zapata |
Euro-Par | 3 |
| 2005 | A Novel Approach for Detecting Heap-Based Loop-Carried DependencesabstractThe problem of data dependences in pointer-based codes is crucial to various compiler optimizations. The approach presented in this paper focus on detecting data dependences induced by heap-directed pointers on loops that access dynamic data structures. Knowledge about the shape of the data structure accessible from a heap-directed pointer provides critical information for disambiguating heap accesses originating from it. Our approach is based on a previously developed shape analysis that maintains topological information of the connections among the different nodes (memory locations) in the data structure. As a novelty, our approach carries out abstract interpretation of the statements being analyzed, annotating memory locations with read/write information. This information will be later used in a very accurate dependence test, which we describe in this paper. We also discuss its application to three different programs: the sparse matrix-vector product, mst from Olden and twolf from the SPEC CPU2000 suite. Adrian Tineo, Francisco Corbera, Angeles G. Navarro, Rafael Asenjo, Emilio L. Zapata |
ICPP | 2 |
| 2005 | On the parallelization of irregular and dynamic programs
Oscar G. Plata, Rafael Asenjo, Eladio Gutiérrez, Francisco Corbera, Angeles G. Navarro, Emilio L. Zapata |
Parallel Comput. | 4 |
| 2004 | A Framework to Capture Dynamic Data Structures in Pointer-Based CodesabstractTo successfully exploit all the possibilities of current computer/multicomputer architectures, optimization compiling techniques are a must. However, for codes based on pointers and dynamic data structures, these optimization techniques have to be necessarily carried out after identifying the characteristics and properties of the data structure used in the code. We describe the framework and the analyzer we have implemented to capture complex data structures generated, traversed, and modified in codes based on pointers. Our method assigns a reduced set of reference shape graph (RSRSG) to each statement to approximate the shape of the data structure after the execution of such a statement. With the properties and operations that define the behavior of our RSRSG, the method can accurately detect complex recursive data structures such as a doubly linked list of pointers to trees where the leaves point to additional lists. Several experiments are carried out with real codes to validate the capabilities of our analyzer. Francisco Corbera, Rafael Asenjo, Emilio L. Zapata |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 2001 | Progressive Shape Analysis for Real C CodesabstractDynamic and pointer-based data structures are widely used in symbolic or irregular C codes. However there is still a lack of compiler techniques to deal with the automatic optimization of such codes. In this paper we take a first step towards this final objective: the automatic identification of the data structure used in the code. More precisely, we describe the framework and the compiler we have implemented to capture complex data structures generated, traversed, and modified in C codes. Our method assigns a reduced set of reference shape graphs (RSRSG) to each sentence to approximate the shape of the data structure after the execution of such a sentence. With the properties and operations that define the behavior of our RSRSG, the method can accurately detect complex recursive data structures. The compiler makes a progressive analysis in which the level of detail is increased during the analysis when needed. Several experiments are carried out with complex data structures to validate the capabilities of our compiler. Francisco Corbera, Rafael Asenjo, Emilio L. Zapata |
ICPP | 1 |
| 1999 | New shape analysis techniques for automatic parallelization of C codesabstractAutomaticparallelization of codes with complex data structures is becoming very important.These complex, and often, recursive data structures are widely used in scientific computing.Shape analysis is one of the key steps in the automatic parallelization of such codes.In this paper we extend the Static Shape Graph (SSG) method to enable the successful and accurate detection of complex doubly linked structures.In addition, these techniques have been implemented in a compiler, which has been validated for several C codes.In particular, we present the results the compiler achieves for the C sparse LU factorization algorithm.The output SSG for this case study perfectly describes the complex data structure used during the LU code.'This work was supported by the Francisco Corbera, Rafael Asenjo, Emilio L. Zapata |
International Conference on Supercomputing | 1 |