Improving Performance on Data-Intensive Applications Using a Load Balancing Methodology Based on Divisible Load Theory

  • Authors:
  • Claudia Rosas;Anna Sikora;Josep Jorba;Andreu Moreno;Eduardo César

  • Affiliations:
  • Universitat Autonoma de Barcelona, Bellaterra, Spain 08193;Universitat Autonoma de Barcelona, Bellaterra, Spain 08193;Universitat Oberta de Catalunya, Barcelona, Spain 08018;Escola Universitaria Salesiana de Sarria, Barcelona, Spain 08017;Universitat Autonoma de Barcelona, Bellaterra, Spain 08193

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Data-intensive applications are those that explore, query, analyze, and, in general, process very large data sets. Generally, these applications can be naturally implemented in parallel but, in many cases, these implementations show severe performance problems mainly due to load imbalances, inefficient use of available resources, and improper data partition policies. It is worth noticing that the problem becomes more complex when the conditions causing these problems change at run time. This paper proposes a methodology for dynamically improving the performance of certain data-intensive applications based on: adapting the size and number of data partitions, and the number of processing nodes, to the current application conditions in homogeneous clusters. To this end, the processing of each exploration is monitored and gathered data is used to dynamically tune the performance of the application. The tuning parameters included in the methodology are: (i) the partition factor of the data set, (ii) the distribution of the data chunks, and (iii) the number of processing nodes to be used. The methodology assumes that a single execution includes multiple related explorations on the same partitioned data set, and that data chunks are ordered according to their processing times during the application execution to assign first the most time consuming partitions. The methodology has been validated using the well-known bioinformatics tool--BLAST--and through extensive experimentation using simulation. Reported results are encouraging in terms of reducing total execution time of the application (up to a 40 % in some cases).