A2HA—automatic and adaptive host allocation in utility computing for bag-of-tasks
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.
KeywordsCloud computing Scheduling heuristics Resource allocation Bag-of-tasks
- 1.Amazon Web Services LLC (2011) Amazon elastic compute cloud (amazon ec2). http://aws.amazon.com/ec2
- 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.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.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
- 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
- 13.Enomaly Inc (2008) Enomaly: Elastic computing. http://enomalism.com
- 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.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.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
- 20.Message Passing Interface Forum (1994) MPI: a message-passing interface standard. Tech rep, University of Tennessee, Knoxville, TN, USAGoogle Scholar
- 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
- 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.Persistence of Vision Raytracer Pty Ltd (2008) Persistence of vision raytracer. http://www.povray.org/
- 26.Python Software Foundation (2008) Python programming language. http://python.org/
- 29.SimPy Developer Team: Simpy homepage (2009) http://simpy.sourceforge.net/
- 31.Viale E (2010) Yasrt—yet another simple raytracer. http://www.yasrt.org/