Journal of Internet Services and Applications

, Volume 2, Issue 2, pp 171–185 | Cite as

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

Open Access
SI: Cloud Computing

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.

Keywords

Cloud computing Scheduling heuristics Resource allocation Bag-of-tasks 

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–8Google 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 gridGoogle 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–177Google 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 issueCrossRefGoogle 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.1966463CrossRefGoogle 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–1542MATHCrossRefGoogle Scholar
  8. 8.
    Buyya R, Abramson D, Venugopal S (2005) The grid economy. Proc IEEE 93(3):698–714CrossRefGoogle 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–363Google Scholar
  10. 10.
    Chunlin L, Layuan L (2006) QoS based resource scheduling by computational economy in computational grid. Inf Process Lett 98(3):119–126MATHMathSciNetCrossRefGoogle Scholar
  11. 11.
    Coffman E Jr, Garey M, Johnson D (1978) An application of bin-packing to multiprocessor scheduling. SIAM J Comput 7:1MATHMathSciNetCrossRefGoogle Scholar
  12. 12.
    Csirik J, Woeginger GJ (2002) Resource augmentation for online bounded space bin packing. J Algorithms 44(2):308–320MATHMathSciNetCrossRefGoogle 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.orgGoogle 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.1203506Google 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–520Google 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.167Google 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, BerlinGoogle 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–153MATHCrossRefGoogle Scholar
  20. 20.
    Message Passing Interface Forum (1994) MPI: a message-passing interface standard. Tech rep, University of Tennessee, Knoxville, TN, USAGoogle Scholar
  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–543CrossRefGoogle 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 computingGoogle 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.orgGoogle 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-18CrossRefGoogle 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–341CrossRefGoogle 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.1462713Google 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–96CrossRefGoogle 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–73CrossRefGoogle Scholar

Copyright information

© The Brazilian Computer Society 2011

Authors and Affiliations

  • João Nuno Silva
    • 1
  • Luís Veiga
    • 1
  • Paulo Ferreira
    • 1
  1. 1.INESC ID, Instituto Superior TécnicoTechnical University of LisbonLisbonPortugal

Personalised recommendations