Skip to main content
Log in

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

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

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

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Altschul S.F., Gish W., Miller W., Myers E.W., Lipman D.: Basic local alignment search tool. J. Mol. Biol. 215, 403–410(8) (1990)

    Google Scholar 

  2. Banicescu, I., Velusamy, V.: Load balancing highly irregular computations with the adaptive factoring. In: Proceedings of the 16th International Parallel and Distributed Processing Symposium, IPDPS ’02, p. 195. IEEE Computer Society, Washington, DC, USA (2002). doi:10.1109/IPDPS.2002.1015661

  3. Bharadwaj V., Ghose D., Robertazzi T.G.: Divisible Load Theory: a new paradigm for load scheduling in distributed systems. Clust. Comput. 6, 7–17 (2003). doi:10.1023/A:1020958815308

    Article  Google Scholar 

  4. Bharadwaj V., Robertazzi T.G., Ghose D.: Scheduling Divisible Loads in Parallel and Distributed Systems. IEEE Computer Society Press, Los Alamitos, CA, USA (1996)

    Google Scholar 

  5. Boutammine, S.S., Millot D., Parrot C.: An adaptive scheduling method for grid computing. In: Euro-Par 2006 Parallel Processing, vol. 4128, pp. 188–197. Springer, Berlin, Heidelberg (2006). doi:10.1007/11823285_20

  6. Bryant, R.E.: Data-Intensive Supercomputing: The Case for DISC. Tech. rep., Carnegie Mellon University (2007)

  7. Cannataro M., Talia D., Srimani P.K.: Parallel data intensive computing in scientific and commercial applications. Parallel Comput. Parallel Data-Intensive Algorithms Appl. 28(5), 673–704 (2002). doi:10.1016/S0167-8191(02)00091-1

    Google Scholar 

  8. César E., Moreno A., Sorribes J., Luque E.: Modeling Master/Worker applications for automatic performance tuning. Parallel Comput. Algorithm Skelet. 32(7–8), 568–589 (2006). doi:10.1016/j.parco.2006.06.005

    Google Scholar 

  9. Chiba, T., den Burger, M., Kielmann, T., Matsuoka, S.: Dynamic load-balanced multicast for data-intensive applications on clouds. In: Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing, CCGRID ’10, pp. 5–14. IEEE Computer Society, Washington, DC, USA (2010). doi:10.1109/CCGRID.2010.63

  10. Chuprat, S., Baruah, S.: Scheduling divisible real-time loads on clusters with varying processor start times. In: Proceedings of the 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, pp. 15–24 (2008). doi:10.1109/RTCSA.2008.23

  11. Darling, A.E., Carey, L., Feng, W.: The design, implementation, and evaluation of mpiBLAST. In: 4th International Conference on Linux Clusters: The HPC Revolution 2003 in conjunction with ClusterWorld Conference & Expo (2003)

  12. Drozdowski M., Wolniewicz P.: Divisible load scheduling in systems with limited memory. Clust. Comput. 6, 19–29 (2003). doi:10.1023/A:1020910932147

    Article  Google Scholar 

  13. Glimcher, L., Ravi, V., Agrawal, G.: Supporting load balancing for distributed data-intensive applications. In: International Conference on High Performance Computing (HiPC ’09), pp. 235–244 (2009). doi:10.1109/HIPC.2009.5433204

  14. Hummel S.F., Schonberg E., Flynn L.E.: Factoring: a method for scheduling parallel loops. Commun. ACM 35, 90–101 (1992). doi:10.1145/135226.135232

    Article  Google Scholar 

  15. Lin H., Ma X., Feng W.C., Samatova N.: Coordinating computation and i/o in massively parallel sequence search. IEEE Trans. Parallel Distrib. Syst. 22(4), 529–543 (2011). doi:10.1109/TPDS.2010.101

    Article  Google Scholar 

  16. Lin, X., Lu, Y., Deogun, J., Goddard, S.: Real-time divisible load scheduling for cluster computing. In: Proceedings of the 13th IEEE Real Time and Embedded Technology and Applications Symposium, RTAS ’07, pp. 303–314. IEEE Computer Society, Washington, DC, USA (2007). doi:10.1109/RTAS.2007.29

  17. Lin X., Mamat A., Lu Y., Deogun J., Goddard S.: Real-time scheduling of divisible loads in cluster computing environments. J. Parallel Distrib. Comput. 70(3), 296–308 (2010). doi:10.1016/j.jpdc.2009.11.009

    Article  MATH  Google Scholar 

  18. Lu, W., Jackson, J., Barga, R.: AzureBlast: a case study of developing science applications on the cloud. In: Proceedings of the 19th ACM International Symposium on High Performance Distributed Computing, HPDC ’10, pp. 413–420. ACM, New York, NY, USA (2010). doi:10.1145/1851476.1851537

  19. Matsunaga, A., Tsugawa, M., Fortes, J.: CloudBLAST: combining mapreduce and virtualization on distributed resources for bioinformatics applications. In: Proceedings of the 2008 Fourth IEEE International Conference on eScience, ESCIENCE ’08, pp. 222–229. IEEE Computer Society, Washington, DC, USA (2008). doi:10.1109/eScience.2008.62

  20. NCBI: Blast homepage. http://blast.ncbi.nlm.nih.gov/ (2010). http://blast.ncbi.nlm.nih.gov/

  21. Oehmen C., Nieplocha J.: ScalaBLAST: a scalable implementation of BLAST for high-performance data-intensive bioinformatics analysis. IEEE Trans. Parallel Distrib. Syst. 17, 740–749 (2006). doi:10.1109/TPDS.2006.112

    Article  Google Scholar 

  22. Othman, M., Abdullah, M., Ibrahim, H., Subramaniam, S.: Adaptive divisible load model for scheduling data-intensive grid applications. In: Proceedings of the 7th International Conference on Computational Science, Part I, ICCS ’07, pp. 446–453. Springer, Berlin, Heidelberg (2007). doi:10.1007/978-3-540-69384-0_30

  23. Schatz M.C.: CloudBurst: highly sensitive read mapping with MapReduce. Bioinformatics 25(11), 1363–1369 (2009). doi:10.1093/bioinformatics/btp236

    Article  Google Scholar 

  24. Smith T.F., Waterman M.S.: Identification of common molecular subsequences. J. Mol. Biol. 147(1), 195–197 (1981)

    Article  Google Scholar 

  25. Yang, Y., Casanova, H., Drozdowski, M., Lawenda, M., Legrand, A.: On the complexity of multi-round divisible load scheduling. Research Report RR-6096, INRIA (2007). http://hal.inria.fr/inria-00123711

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Claudia Rosas.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rosas, C., Sikora, A., Jorba, J. et al. Improving Performance on Data-Intensive Applications Using a Load Balancing Methodology Based on Divisible Load Theory. Int J Parallel Prog 42, 94–118 (2014). https://doi.org/10.1007/s10766-012-0199-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-012-0199-4

Keywords

Navigation