Angeles Navarro

Prof. Angeles Navarro

University of Malaga
orcid

Research Focus & Metrics

Academic Career Length

27Years (2000-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
1 September 2009
Verified
Conference Paper
Closed access
ANAngeles Navarro
Angeles Navarro
Rafael AsenjoRafael Asenjo
Rafael Asenjo
STSiham Tabik
Siham Tabik
CCCalin Cascaval
Calin Cascaval
Parallel programming is a requirement in the multi-core era. One of the most promising techniques to make parallel programming available for the general users is the use of parallel programming patterns. Functional pipeline parallelism is a pattern that is well suited for many emerging applications, such as streaming and "recognition, mining and synthesis" (RMS) workloads. In this paper we develop an analytical model for pipeline parallelism based on queueing theory. The model is useful to both characterize the performance and efficiency of existing implementations and to guide the design of new pipeline algorithms. We demonstrate the usefulness of the model by characterizing and optimizing two of the PARSEC benchmarks, ferret and dedup. We identified two issues with these codes: load imbalance and I/O bottlenecks. We addressed load imbalance using two techniques: i) parallel pipeline stage collapsing; and ii) dynamic scheduling. We implemented these optimizations using pthreads and the threading building blocks (TBB) libraries. We compare the performance of different alternatives and we note that the TBB implementation based on work stealing outperforms all other variants.

13 May 2014 in The Journal of Supercomputing
Verified
Journal Article
Closed access
PDF file
ANAngeles Navarro
Angeles Navarro
AVAntonio Vilches
Antonio Vilches
FCFrancisco Corbera
Francisco Corbera
Rafael AsenjoRafael Asenjo
Rafael Asenjo

1 January 2015 in Procedia Computer Science
Verified
Journal Article
Open access
AVAntonio Vilches
Antonio Vilches
Rafael AsenjoRafael Asenjo
Rafael Asenjo
ANAngeles Navarro
Angeles Navarro
FCFrancisco Corbera
Francisco Corbera
RGRub́en Gran
Rub́en Gran
MGMaría Garzarán
María Garzarán
Commodity processors are comprised of several CPU cores and one integrated GPU. To fully exploit this type of architectures, one needs to automatically determine how to partition the workload between both devices. This is specially challenging for irregular workloads, where each iteration's work is data dependent and shows control and memory divergence. In this paper, we present a novel adaptive partitioning strategy specially designed for irregular applications running on heterogeneous CPU-GPU chips. The main novelty of this work is that the size of the workload assigned to the GPU and CPU adapts dynamically to maximize the GPU and CPU utilization while balancing the workload among the devices. Our experimental results on an Intel Haswell architecture using a set of irregular benchmarks show that our approach outperforms exhaustive static and adaptive state-of-the-art approaches in terms of performance and energy consumption

23 March 2020 in The Journal of Supercomputing
Verified
Journal Article
Closed access
PDF file
DCDenisa-Andreea Constantinescu
Denisa-Andreea Constantinescu
ANAngeles Navarro
Angeles Navarro
FCFrancisco Corbera
Francisco Corbera
Juan-Antonio Fernández-MadrigalJuan-Antonio Fernández-Madrigal
Juan-Antonio Fernández-Madrigal
Rafael AsenjoRafael Asenjo
Rafael Asenjo

13 May 2015 in IEEE Transactions on Parallel and Distributed Systems
Verified
Journal Article
Closed access
AVAntonio Vilches
Antonio Vilches
ANAngeles Navarro
Angeles Navarro
Rafael AsenjoRafael Asenjo
Rafael Asenjo
FCFrancisco Corbera
Francisco Corbera
RGRuben Gran
Ruben Gran
MGMaria J. Garzaran
Maria J. Garzaran
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.

1 October 2012
Verified
Conference Paper
Closed access
ASAlberto Sanz
Alberto Sanz
Rafael AsenjoRafael Asenjo
Rafael Asenjo
JLJuan Lopez
Juan Lopez
RLRafael Larrosa
Rafael Larrosa
ANAngeles Navarro
Angeles Navarro
BCBradford L. Chamberlain
Bradford L. Chamberlain
Chapel is a parallel programming language designed to improve the productivity and ease of use of conventional and parallel computers. This language currently delivers sub optimal performance when executing codes that perform global data re-allocation operations on distributed memory architectures. This is mainly due to data communication that is done without aggregation (one message for each remote array element). In this work, we analyze Chapel's standard Block and Cyclic distribution modules and optimize the communication routines for array assignments by performing aggregation. Thanks to the expressive power of Chapel, the compiler and runtime have enough information to do communication aggregation without user intervention. The runtime relies on the low-level GAS Net networking layer, whose versions of one-sided bulk put/get routines that support strides are particularly useful for us. Experimental results conducted on Hector (a Cray XE6) and Jaguar (Cray XK6)reveal that the implemented techniques can lead to significant reductions in communication time.