Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Francisco Corbera is active.

Publication


Featured researches published by Francisco Corbera.


Computers in Education | 2010

A new Moodle module supporting automatic verification of VHDL-based assignments

Eladio Gutiérrez; María A. Trenas; Julián Ramos; Francisco Corbera; Sergio Romero

This work describes a new Moodle module developed to give support to the practical content of a basic computer organization course. This module goes beyond the mere hosting of resources and assignments. It makes use of an automatic checking and verification engine that works on the VHDL designs submitted by the students. The module automatically keeps up to date information about their state, and significantly reduces the overload that a continuous assessment demands to the teacher. Additionally, this new module is oriented to promote a collaborative teamwork allowing to define student teams in a more operative way than built-in Moodle groups. The module has been designed according to the Moodle philosophy and its application can be extended to other similar subjects.


international conference on supercomputing | 1999

New shape analysis techniques for automatic parallelization of C codes

Francisco Corbera; Rafael Asenjo; Emilio L. Zapata

Automatic parallelization 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.


IEEE Transactions on Education | 2011

Use of a New Moodle Module for Improving the Teaching of a Basic Course on Computer Architecture

María A. Trenas; Julián Ramos; Eladio Gutiérrez; Sergio Romero; Francisco Corbera

This paper describes how a new Moodle module, called CTPracticals, is applied to the teaching of the practical content of a basic computer organization course. In the core of the module, an automatic verification engine enables it to process the VHDL designs automatically as they are submitted. Moreover, a straightforward modification of this engine would make it possible to extend its application to other programming languages. The module provides students with real-time knowledge of the state of their work by their accessing the result of the automatic assessment or feedback messages. Teachers have a constant global view of the status of their class and have available multiple options such as sending feedback messages to students, obtaining statistics, launching additional verifications in batch, and so on. Likewise, the module substantially improves some organizational aspects, and its design may help teachers to encourage teamwork. Its use partially frees teachers from certain routine work, saving time that can be devoted to teaching objectives and tutoring activities.


The Journal of Supercomputing | 2014

Strategies for maximizing utilization on multi-CPU and multi-GPU heterogeneous architectures

Angeles G. Navarro; Antonio Vilches; Francisco Corbera; Rafael Asenjo

This paper explores the possibility of efficiently executing a single application using multicores simultaneously with multiple GPU accelerators under a parallel task programming paradigm. In particular, we address the challenge of extending a parallel_for template to allow its exploitation on heterogeneous architectures. Due to the asymmetry of the computing resources, we propose in this work a dynamic scheduling strategy coupled with an adaptive partitioning scheme that resizes chunks to prevent underutilization and load imbalance of CPUs and GPUs. In this paper we also address the problem of the underutilization of the CPU core where a host thread operates. To solve it, we propose two different approaches: (1) a collaborative host thread strategy, in which the host thread, instead of busy-waiting for the GPU to complete, it carries out useful chunk processing; and (2) a host thread blocking strategy combined with oversubscription, that delegates on the OS the duty of scheduling threads to available CPU cores in order to guarantee that all cores are doing useful work. Using two benchmarks we evaluate the overhead introduced by our scheduling and partitioning algorithms, finding that it is negligible. We also evaluate the efficiency of the strategies proposed finding that allowing oversubscription controlled by the OS can be beneficial under certain scenarios.


IEEE Transactions on Parallel and Distributed Systems | 2004

A framework to capture dynamic data structures in pointer-based codes

Francisco Corbera; Rafael Asenjo; Emilio L. Zapata

To 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.


high performance computing and communications | 2010

Evaluation of the Task Programming Model in the Parallelization of Wavefront Problems

Antonio J. Dios; Rafael Asenjo; Angeles G. Navarro; Francisco Corbera; Emilio L. Zapata

This 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.


technical symposium on computer science education | 2008

Development of a new MOODLE module for a basic course on computer architecture

Francisco Corbera; Eladio Gutiérrez; Julián Ramos; Sergio Romero; María A. Trenas

This 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. Currently the University of Malaga is making an increasing effort oriented to the successfull implementation of the ECTS (European Credit Transfer System) system. This involves changing the teaching practices carried out traditionally [2], looking towards the developing of assessment mechanisms in order to increase the student?s active effort. In our course, in order to better guide the students, teachers should perform a functional evaluation using a simulation tool to verify whether the students? designs work or not according to the specifications. This is a very time consuming task, becoming a common bottleneck when looking for a continuous assessment of students. One key element of the new CTpractices module is the automatic checking and verification engine that keeps information about the current state of students work, supplying automatic assessment features and feedback to the student. Teachers can modify the project description and define different testing benches. The module stores historical information concerning the results of the different evaluations, extracting statistics and metrics which are very useful when determining the student workload in the context of the ETS model. Additionally, this new module is oriented to promote a collaborative teamwork allowing to define student teams in a more operative way than built-in moodle groups. Other basic aspects supported are material repository, deadlines, hosting, etc. The new module inherits a part of its functionality from a specific LMS previously developed by the authors, that has been in use from academic year 2004 [3], widely proving its usefulness. It has been re-designed according to the Moodle philosophy, making possible to easily extend its application to other similar subjects. The choice for Moodle is motivated by its modular organization based on free software like PHP and MySQL. From the developer point of view, this allows to add new modules using well-known interfaces. As Moodle is currently used by the Virtual Campus of our university, this new module breaks the isolation of the previous platform as refers to activities like forums, messages or event signaling.


IEEE Transactions on Parallel and Distributed Systems | 2016

Mapping Streaming Applications on Commodity Multi-CPU and GPU On-Chip Processors

Antonio Vilches; Angeles G. Navarro; Rafael Asenjo; Francisco Corbera; Ruben Gran; María Jesús Garzarán

In 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.


ieee international conference on high performance computing data and analytics | 2004

A new dependence test based on shape analysis for pointer-based codes

Angeles G. Navarro; Francisco Corbera; Rafael Asenjo; Adrian Tineo; Oscar G. Plata; Emilio L. Zapata

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. Basically, the novelty is that our approach carries out abstract interpretation of the statements being analyzed, and let us annotate the memory locations reached by each statement with read/write information. This information will be later used in order to find dependences in a very accurate dependence test which we introduce in this paper.


languages and compilers for parallel computing | 2000

Accurate Shape Analysis for Recursive Data Structures

Francisco Corbera; Rafael Asenjo; Emilio L. Zapata

Automatic parallelization of codes which use dynamic data structures is still a challenge. One of the first steps in such parallelization is the automatic detection of the dynamic data structure used in the code. In this paper 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 such as a doubly linked list of pointers to trees where the leaves point to additional lists. Other experiments are carried out with real codes to validate the capabilities of our compiler.

Collaboration


Dive into the Francisco Corbera's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge