Skip to main content

A2HA—automatic and adaptive host allocation in utility computing for bag-of-tasks

Abstract

There are increasingly more computing problems requiring lengthy parallel computations. For those without access to current cluster or grid infrastructures, a recent and proven viable solution can be found with on-demand utility computing infrastructures, such as Amazon Elastic Compute Cloud (EC2). A relevant class of such problems, Bag-of-Tasks (BoT), can be easily deployed over such infrastructures (to run on pools of virtual computers), if provided with suitable software for host allocation. BoT problems are found in several and relevant scenarios such as image rendering and software testing.

In BoT jobs, tasks are mostly independent; thus, they can run in parallel with no communication among them. The number of allocated hosts is relevant as it impacts both the speedup and the cost: if too many hosts are used, the speedup is high but this may not be cost-effective; if too few are used, the cost is low but speedup falls below expectations. For each BoT job, given that there is no prior knowledge of neither the total job processing time nor the time each task takes to complete, it is hard to determine the number of hosts to allocate. Current solutions (e.g., bin-packing algorithms) are not adequate as they require knowing in advance either the time that the next task will take to execute or, for higher efficiency, the time taken by each one of the tasks in each job considered.

Thus, we present an algorithm and heuristics that adaptively predicts the number of hosts to be allocated, so that the maximum speedup can be obtained while respecting a given predefined budget. The algorithm and heuristics were simulated against real and theoretical workloads. With the proposed solution, it is possible to obtain speedups in line with the number of allocated hosts, while being charged less than the predefined budget.

References

  1. 1.

    Amazon Web Services LLC (2011) Amazon elastic compute cloud (amazon ec2). http://aws.amazon.com/ec2

  2. 2.

    Anderson DP (2007) Local scheduling for volunteer computing. In: IEEE international parallel and distributed processing symposium, IPDPS 2007, 26–30 March 2007, pp 1–8

    Google Scholar 

  3. 3.

    Anderson DP, Fedak G (2006) The computational and storage potential of volunteer computing. In: IEEE/ACM international symposium on cluster computing and the grid

    Google Scholar 

  4. 4.

    Barham P, Dragovic B, Fraser K, Hand S, Harris TL, Ho A, Neugebauer R, Pratt I, Warfield A (2003) Xen and the art of virtualization. In: Scott ML, Peterson LL (eds) SOSP. ACM, New York, pp 164–177

    Google Scholar 

  5. 5.

    Bouteiller A, Bouziane HL, Hérault T, Lemarinier P, Cappello F (2006) Hybrid preemptive scheduling of mpi applications on the grids. Int J High Perform Comput Appl 20:77–90. Special issue

    Article  Google Scholar 

  6. 6.

    Bucur S, Ureche V, Zamfir C, Candea G (2011) Parallel symbolic execution for automated real-world software testing. In: Proceedings of the sixth conference on computer systems, EuroSys’11. ACM, New York, pp 183–198. http://doi.acm.org/10.1145/1966445.1966463

    Google Scholar 

  7. 7.

    Buyya R, Abramson D, Giddy J, Stockinger H (2002) Economic models for resource management and scheduling in grid computing. Concurr Comput, Pract Exp 14(13–15):1507–1542

    MATH  Article  Google Scholar 

  8. 8.

    Buyya R, Abramson D, Venugopal S (2005) The grid economy. Proc IEEE 93(3):698–714

    Article  Google Scholar 

  9. 9.

    Casanova H, Legrand A, Zagorodnov D, Berman F (2000) Heuristics for scheduling parameter sweep applications in grid environments. In: Proceedings 9th heterogeneous computing workshop, HCW 2000, pp 349–363

    Google Scholar 

  10. 10.

    Chunlin L, Layuan L (2006) QoS based resource scheduling by computational economy in computational grid. Inf Process Lett 98(3):119–126

    MATH  MathSciNet  Article  Google Scholar 

  11. 11.

    Coffman E Jr, Garey M, Johnson D (1978) An application of bin-packing to multiprocessor scheduling. SIAM J Comput 7:1

    MATH  MathSciNet  Article  Google Scholar 

  12. 12.

    Csirik J, Woeginger GJ (2002) Resource augmentation for online bounded space bin packing. J Algorithms 44(2):308–320

    MATH  MathSciNet  Article  Google Scholar 

  13. 13.

    Enomaly Inc (2008) Enomaly: Elastic computing. http://enomalism.com

  14. 14.

    Evangelinos C, Hill CN (2008) Cloud computing for parallel scientific hpc applications: feasibility of running coupled atmosphere-ocean climate models on amazon’s ec2. In: Proceedings of cloud computing and its applications. http://www.cca08.org

    Google Scholar 

  15. 15.

    Figueiredo R, Dinda P, Fortes J (2003) A case for grid computing on virtual machines. In: Proceedings 23rd international conference on distributed computing systems, pp 550–559. doi:10.1109/ICDCS.2003.1203506

    Google Scholar 

  16. 16.

    Foster IT, Freeman T, Keahey K, Scheftner D, Sotomayor B, Zhang X (2006) Virtual clusters for grid communities. In: CCGRID. IEEE Computer Society, Los Alamitos, pp 513–520

    Google Scholar 

  17. 17.

    Hoffa C, Mehta G, Freeman T, Deelman E, Keahey K, Berriman B, Good J (2008) On the use of cloud computing for scientific workflows. In: IEEE international conference on eScience, vol 0, pp 640–645. http://doi.ieeecomputersociety.org/10.1109/eScience.2008.167

    Google Scholar 

  18. 18.

    Lee CB, Schwartzman Y, Hardy J, Snavely A (2005) Are user runtime estimates inherently inaccurate? In: Job scheduling strategies for parallel processing, 10th international workshop, JSSPP 2004. Springer, Berlin

    Google Scholar 

  19. 19.

    Li C, Li L (2007) Utility-based QoS optimisation strategy for multi-criteria scheduling on the grid. J Parallel Distrib Comput 67(2):142–153

    MATH  Article  Google Scholar 

  20. 20.

    Message Passing Interface Forum (1994) MPI: a message-passing interface standard. Tech rep, University of Tennessee, Knoxville, TN, USA

  21. 21.

    Mu’alem AW, Feitelson DG (2001) Utilization predictability, workloads, and user runtime estimates in scheduling the ibm sp2 with backfilling. IEEE Trans Parallel Distrib Syst 12(6):529–543

    Article  Google Scholar 

  22. 22.

    Netto M, Calheiros R, Silva R, De Rose C, Northfleet C, Cirne W (2005) Transparent resource allocation to exploit idle cluster nodes in computational grids. In: First international conference on e-science and grid computing

    Google Scholar 

  23. 23.

    Nurmi D, Wolski R, Grzegorczyk C, Obertelli G, Soman S, Youseff L, Zagorodnov D (2008) The eucalyptus open-source cloud-computing system. In: Proceedings of cloud computing and its applications. http://www.cca08.org

    Google Scholar 

  24. 24.

    Olivier S, Huan J, Liu J, Prins J, Dinan J, Sadayappan P, Tseng CW (2007) Uts: an unbalanced tree search benchmark. In: Almási G, Cascaval C, Wu P (eds) Languages and compilers for parallel computing. Lecture notes in computer science, vol 4382. Springer, Berlin, pp 235–250. doi:10.1007/978-3-540-72521-3-18

    Google Scholar 

  25. 25.

    Persistence of Vision Raytracer Pty Ltd (2008) Persistence of vision raytracer. http://www.povray.org/

  26. 26.

    Python Software Foundation (2008) Python programming language. http://python.org/

  27. 27.

    Rose CAFD, Ferreto T, Calheiros RN, Cirne W, Costa LB, Fireman D (2008) Allocation strategies for utilization of space-shared resources in bag of tasks grids. Future Gener Comput Syst 24(5):331–341

    Article  Google Scholar 

  28. 28.

    Silva JN, Veiga L, Ferreira P (2008) Heuristic for resources allocation on utility computing infrastructures. In: Proceedings of the 6th international workshop on Middleware for grid computing, MGC’08. ACM, New York, pp 9:1–9:6. http://doi.acm.org/10.1145/1462704.1462713

    Google Scholar 

  29. 29.

    SimPy Developer Team: Simpy homepage (2009) http://simpy.sourceforge.net/

  30. 30.

    Sotomayor B, Keahey K, Foster IT (2008) Combining batch execution and leasing using virtual machines. In: Parashar M, Schwan K, Weissman JB, Laforenza D (eds) HPDC. ACM, New York, pp 87–96

    Google Scholar 

  31. 31.

    Viale E (2010) Yasrt—yet another simple raytracer. http://www.yasrt.org/

  32. 32.

    Zhou D, Lo V (2004) Cluster computing on the fly: resource discovery in a cycle sharing peer-to-peer system. In: IEEE international symposium on cluster computing and the grid, 2004. CCGrid 2004, pp 66–73

    Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Paulo Ferreira.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Silva, J.N., Veiga, L. & Ferreira, P. A2HA—automatic and adaptive host allocation in utility computing for bag-of-tasks. J Internet Serv Appl 2, 171–185 (2011). https://doi.org/10.1007/s13174-011-0033-z

Download citation

Keywords

  • Cloud computing
  • Scheduling heuristics
  • Resource allocation
  • Bag-of-tasks