Preemptive cloud resource allocation modeling of processing jobs | The Journal of Supercomputing Skip to main content
Log in

Preemptive cloud resource allocation modeling of processing jobs

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Cloud computing allows execution and deployment of different types of applications such as interactive databases or web-based services which require distinctive types of resources. These applications lease cloud resources for a considerably long period and usually occupy various resources to maintain a high quality of service (QoS) factor. On the other hand, general big data batch processing workloads are less QoS-sensitive and require massively parallel cloud resources for short period. Despite the elasticity feature of cloud computing, fine-scale characteristics of cloud-based applications may cause temporal low resource utilization in the cloud computing systems, while process-intensive highly utilized workload suffers from performance issues. Therefore, ability of utilization efficient scheduling of heterogeneous workload is one challenging issue for cloud owners. In this paper, addressing the heterogeneity issue impact on low utilization of cloud computing system, conjunct resource allocation scheme of cloud applications and processing jobs is presented to enhance the cloud utilization. The main idea behind this paper is to apply processing jobs and cloud applications jointly in a preemptive way. However, utilization efficient resource allocation requires exact modeling of workloads. So, first, a novel methodology to model the processing jobs and other cloud applications is proposed. Such jobs are modeled as a collection of parallel and sequential tasks in a Markovian process. This enables us to analyze and calculate the efficient resources required to serve the tasks. The next step makes use of the proposed model to develop a preemptive scheduling algorithm for the processing jobs in order to improve resource utilization and its associated costs in the cloud computing system. Accordingly, a preemption-based resource allocation architecture is proposed to effectively and efficiently utilize the idle reserved resources for the processing jobs in the cloud paradigms. Then, performance metrics such as service time for the processing jobs are investigated. The accuracy of the proposed analytical model and scheduling analysis is verified through simulations and experimental results. The simulation and experimental results also shed light on the achievable QoS level for the preemptively allocated processing jobs.

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

Access this article

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (Japan)

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

References

  1. Gandhi A, Harchol-Balter M (2011) How data center size impacts the effectiveness of dynamic power management? In: Proceedings of 49th Annual Allerton Conference on Communication, Control, and Computing, USA, Allerton. pp 1164–1169

  2. Gandhi A, Harchol-Balter M, Rajarshi D, Lefurgy C (2009) Optimal power allocation in server farms. ACM SIGMETRICS Perform Eval 37(1):157–168

    Google Scholar 

  3. Gandhi A, Harchol-Balter M, Raghunathan R, Kozuch MA (2012) Autoscale: dynamic, robust capacity management for multi-tier data centers. ACM Trans Comput Syst TOCS 30(4):14–26

    Google Scholar 

  4. Iosup A, Dumitrescu C, Epema DHJ, Li H, Wolters L (2006) How are real grids used? In: Proceeding of 7th IEEE/ACM International Conference on Grid Computing. pp 262–269

  5. Lublin U, Feitelson DG (2003) Workload on parallel supercomputers: modeling characteristics of rigid jobs. J Parallel Distrib Comput 63(11):1105–1122

    Article  MATH  Google Scholar 

  6. Alexandru I, Ostermann S, Nezih M, Yigitbasi C, Prodan R, Fahringer T, Epema D (2011) Performance analysis of cloud computing services for many-tasks large data stream processing. IEEE Trans Parallel Distrib Syst 22(6):931–945

    Article  Google Scholar 

  7. Salehi MA, Amini M, Javadi B, Buyya R (2014) Resource provisioning based on preempting VMs in distributed systems. Concurr Comput Pract Exp J 26(2):412–433

    Article  Google Scholar 

  8. Vakilinia S, Heidarpour B, Cheriet M (2016) Energy efficient resource allocation in cloud computing environments. IEEE Access J PP(99):1–13

    Google Scholar 

  9. Vakilinia S, Zhu X, Qiu D (2016) Analysis and optimization of big-data stream processing. In: Proceeding of IEEE Globecom, Washington, DC, USA

  10. Iosup A, Sonmez OO, Anoep S, Epema DHJ (2008) The performance of bags-of-tasks in large-scale distributed systems. In: Proceedings of the 17th ACM International Symposium on High Performance Distributed Computing. pp 97–108

  11. Brandwajn A, Begin T, Castel-Taleb H (2016) Performance evaluation of cloud computing centers with general arrivals and service. IEEE Trans Parallel Distrib Syst PP(99):1–8

    Google Scholar 

  12. Vakilinia S, Ali MM, Qiu D (2015) Modeling of the resource allocation in cloud computing centers. Comput Netw 91(3):453–470

    Article  Google Scholar 

  13. Khazaei H, Misic J, Misic VB, Rashwand S (2012) Analysis of a pool management scheme for cloud computing centers. IEEE Trans Parallel Distrib Syst 99(5):849–861

    Google Scholar 

  14. Khazaei H, Misic J, Misic VB (2012) Performance analysis of cloud computing centers using m/g/m/m\(+\) r queuing systems. IEEE Trans Parallel Distrib Syst 23(5):936–943

    Article  Google Scholar 

  15. Meng X, Pappas V, Zhang L (2010) Improving the scalability of data center networks with traffic-aware VM placement. In: The Proceeding of INFOCOM. pp 1–9

  16. Li Xin, Wu J, Tang Sh, Lu S (2014) Let’s stay together: towards traffic aware VM placement in data centers. In: The Proceeding of INFOCOM. pp 1842–1850

  17. Deelman E, Blythe J, Gil Y, Kesselman C, Mehta G, Patil S, Su M-H, Vahi K, Livny M (2004) Pegasus: mapping large data streams onto the grid. In: European Across Grids Conference. p 1120

  18. Ramakrishnan L, Koelbel C, Kee Y-S, Wolski R, Nurmi D, Gannon D, Obertelli G, YarKhan A, Mandal A, Huang TM, Thyagaraja K, Zagorodnov D (2009) VGrADS: Enabling e-science workflows on grids and clouds with fault tolerance. In: Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis. pp 1–12

  19. Wang L, Tao J, Kunze M, Castellanos AC, Kramer D, Karl W (2008) Stream cloud computing: early definition and experience. In: Proceeding of 10th IEEE International Conference on High Performance Computing and Communications. pp 825–830

  20. Warneke D, Kao O (2011) Exploiting dynamic resource allocation for efficient parallel data processing in the cloud. IEEE Trans Parallel Distrib Syst 22(6):985–997

    Article  Google Scholar 

  21. Deelman E, Singh G, Livny M, Berriman B, John Good (2008) The cost of doing science on the cloud: the montage example. In: Proceedings of the 2008 ACM/IEEE Conference on Supercomputing. pp 50–55

  22. Ludascher B, Altintas I, Berkley C et al (2006) Scientific workflow management and the Kepler system. Concurrency Comput: Pract Experience 18(10):1039–1065

  23. Oinn T, Addis M, Ferris J, Marvin D, Senger M, Greenwood M, Carver T, Glover K, Pocock MR, Wipat A, Li P (2004) Taverna: a tool for the composition and enactment of bioinformatics workflows. Bioinformatics 20(17):3045–3054

    Article  Google Scholar 

  24. Khojasteh H, Misic J, Misic V (2016) Prioritization of overflow tasks to improve performance of mobile cloud. IEEE Trans Cloud Comput PP(99)

  25. Sossa RM, Buyya R (2014) Deadline based resource provisioning and scheduling algorithm for large data streams on clouds. IEEE Trans Cloud Comput 2(2):222–235

    Article  Google Scholar 

  26. Yang L, Zhu X, Chen H, Wang Ji, Yin Shu, Liu X (2014) Real-time tasks oriented energy-aware scheduling in virtualized clouds. IEEE Trans Cloud Comput 2(2):168–180

    Article  Google Scholar 

  27. Yao Y, Tai J, Sheng B, Mi N (2015) LsPS: A job size-based scheduler for efficient task assignments in Hadoop. IEEE Trans Cloud Comput 3(4):411–424

    Article  Google Scholar 

  28. Zhao H, Pan M, Liu X, Li X, Fang Y (2015) Exploring fine-grained resource rental planning in cloud computing. IEEE Trans Cloud Comput 3(3):304–317

    Article  Google Scholar 

  29. Kleinrock L (1976) Queuing systems, vol I. Wiley, Hoboken

    MATH  Google Scholar 

  30. Vakilinia S (2015) Performance modeling and optimization of resource allocation in cloud computing systems. Doctoral dissertation, Concordia University

  31. Conway R, Richard W, Maxwell L, Miller L (2012) Theory of scheduling. Courier Dover Publications, New York

    MATH  Google Scholar 

  32. Shengbo Ch, Sun Y, Ulas D, Huang KL, Sinha P, Liang G, Liu X, Shroff NB (2014) When queueing meets coding: optimal-latency data retrieving scheme in storage clouds. In: Proceeding of IEEE INFOCOM

  33. Liang G, Kozat U (2013) FAST CLOUD: Pushing the envelope on delay performance of cloud storage with coding. IEEE/ACM Trans Netw 1(1):2012–2025

    Google Scholar 

  34. Simon F, Wong R, Vasilakos A (2015) Accelerated pso swarm search feature selection for data stream mining big data. IEEE Trans Serv Comput PP(99):33–45

    Google Scholar 

  35. Keilson J (2012) Markov chain models—rarity and exponentially. Springer, London

    MATH  Google Scholar 

  36. Latouche G, Ramaswami V (1999) Introduction to matrix analytic methods in stochastic modeling. J Appl Math Stoch Anal 12(4):435–436

    Article  MATH  Google Scholar 

  37. Stewart WJ (1994) Introduction to the numerical solution of markov chains. Princeton University Press, Princeton, pp 121–138

    Google Scholar 

  38. Kaufman JF (1981) Blocking in a shared resource environment. IEEE Trans Commun 29:1474–1481

    Article  Google Scholar 

  39. Vinodrai DP, McIntosh GD (2005) Virtualization of input/output devices in a logically partitioned data processing system. U.S. Patent, 6,944,847, issued

  40. Ben-Yehuda S, Liguori AN, Wasserman OL, Yassour BA (2013) Multiple layers of virtualization in a computing system. United States patent, US 8,392,916

  41. Fox A, Griffith R, Joseph A, Katz R et al. (2009) Above the clouds: a Berkeley view of cloud computing. Department of Electrical Engineering and Computer Science, University of California, Berkeley, Rep. UCB/EECS, vol 28. p 13

  42. https://cloud.google.com/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shahin Vakilinia.

Appendices

Appendix A

Standard deviation of the ith workflow processing time is obtained by

$$\begin{aligned} \sigma _i =\left( {\left[ {\frac{\partial ^{2}\mathop {\prod }\nolimits _{r=1}^R \mathcal {P}\left( s \right) ^{N_r^i }}{\partial s^{2}}-\left( {\frac{\partial \mathop {\prod }\nolimits _{r=1}^R \mathcal {P}\left( s \right) ^{N_r^i }}{\partial s}} \right) ^{2}} \right] |_{s=0} } \right) ^{0.5} \end{aligned}$$

Proof

Parallel flow i delay is equal to,

$$\begin{aligned} d_T^i =\mathop {\sum }\limits _{r=1}^R \mathop {\sum }\limits _{j=1}^{N_r^i } T_{r\left( j \right) }^i \end{aligned}$$

where \(N_r \left( i \right) \), \(T_{r\left( j \right) }^i \) denote number of class r super-tasks of flow i and service time of the jth class r super-task of flow i. The probability distribution of service time of class r super-task, \(p_{T_r } \left( t \right) \), is calculated in [30],

$$\begin{aligned} p_{(T_r )} (t)=r\mu e^{-\mu t}\mu (1-e^{-\mu t})^{r-1} \end{aligned}$$

Then, its associated Laplace transform is given by

$$\begin{aligned} \mathcal {P}\left( s \right) =\frac{s\varGamma \left( {r+1} \right) \varGamma \left( {\frac{s}{\mu }} \right) }{\mu \varGamma \left( {r+\frac{s}{\mu }+1} \right) }-1 \end{aligned}$$

where \(\varGamma \) represents the gamma function. Then, Laplace transform of \(d_T^i \) is l by

$$\begin{aligned} D_T^i \left( s \right) =\mathop {\prod }\limits _{r=1}^R \mathcal {P}\left( s \right) ^{N_r^i } \end{aligned}$$

Hence, the average of the \(d_T^i \) is given by

$$\begin{aligned} E\left[ {d_T^i } \right] =-\frac{\partial D_T^i \left( s \right) }{\partial s}|_{s=0} =\mathop {\sum }\limits _{r=1}^R N_r^i \bar{T}_r \end{aligned}$$

Standard deviation of flow \(i,\sigma _i \) also could be found by calculating

$$\begin{aligned} \sigma _i =\left( {\left[ {\frac{\partial ^{2}D_T \left( s \right) }{\partial s^{2}}-\left( {\frac{\partial D_T \left( s \right) }{\partial s}} \right) ^{2}} \right] |_{s=0} } \right) ^{0.5} \end{aligned}$$

Substituting \(D_T \left( s \right) \) accomplishes the proof. \(\square \)

Appendix B

Lemma 1 Proof Average probability of task successful execution without failure is given by

$$\begin{aligned}&pr(task\,departure\,|\,no\,failure)pr\left( {no\,failure} \right) \\&\quad =\int pr(task\,departure\,|\,no\,failure)p_{x}(t)dt \end{aligned}$$

which id equal to

$$\begin{aligned} =\mathop {\int }\nolimits _0^{\infty } \mu e^{-\mu t}p_x (t)dt=\mathop {\int }\nolimits _0^{\infty } \mu e^{-\mu t}e^{-xt} dt=\frac{\mu }{\mu +x} \end{aligned}$$

\(\square \)

Proposition 1 Proof The average time that it takes for the failure to happen during time execution can be obtained through solving following integral,

$$\begin{aligned} \mathop {\int }\nolimits _0^\infty t\,pr (task\,execution\,|\,failure)pr\left( {failure} \right) dt \end{aligned}$$

By substituting \(pr\left( {failure} \right) =xe^{-xt}\) and \(pr(task\,execution\,|\,failure)=\mu e^{-\mu t}\), the average time for having a failure in the system is given by

$$\begin{aligned} \bar{\tau }_2 =\mathop {\int }\limits _0^\infty txe^{-xt}\mu e^{-\mu t}dt=\frac{x\mu }{\left( {x+\mu } \right) ^{2}} \end{aligned}$$

\(\square \)

Appendix C

Theorem 1 Proof PGF of the number of occupied CCRUs by stream tasks, \(P\left( z \right) \) is given by

$$\begin{aligned} P\left( z \right) =e^{\int \frac{\varLambda \left( z \right) -\varLambda \left( 1 \right) }{\mu \left( {z-1} \right) }\partial z}=e^{\frac{-\sum \lambda _r \mathop {\sum }\nolimits _{i=1}^r \frac{1}{i}+\sum \lambda _r \mathop {\sum }\nolimits _{i=1}^r \frac{z^{i}}{i}}{\mu }} \end{aligned}$$

\(\square \)

Proof

Equilibrium equations in relation to Fig. 3, could be written as follows:

$$\begin{aligned} \left\{ \begin{array}{l@{\quad }l} \left( \mathop {\sum }\nolimits _{r=1}^R \lambda _r \right) p_0 =\mu p_1&{} k=0 \\ \left( {\mathop {\sum }\nolimits _{r=1}^R \lambda _r +k\mu } \right) p_k =\left( {k+1} \right) \mu p_{k+1} +\mathop {\sum }\nolimits _{r=1}^R p_{k-r} \lambda _r &{} k>0 \\ \end{array}\right. \end{aligned}$$

After multiplying to \(z^{k}\) and summing over k, we have:

$$\begin{aligned}&\mathop {\sum }\limits _{k=1}^S \left( {\mathop {\sum }\limits _{r=1}^R \lambda _r +j\mu } \right) p_k z^{k}=\mathop {\sum }\limits _{k=1}^S \left( {k+1} \right) \mu p_{k+1} z^{k} +\mathop {\sum }\limits _{k=1}^\infty \mathop {\sum }\limits _{r=1}^R p_{k-r} \lambda _r z^{k} \end{aligned}$$

Taking out \(z^{r}\) from the internal sigma leads to:

$$\begin{aligned}&\mathop {\sum }\limits _{k=1}^\infty \left( {\mathop {\sum }\limits _{r=1}^R \lambda _r +k\mu } \right) p_k z^{k}=\mathop {\sum }\limits _{k=1}^S \left( {k+1} \right) \mu p_{k+1}z^{k}+\left( {\mathop {\sum }\limits _{r=1}^R \lambda _r z^{r}\mathop {\sum }\limits _{k=r}^S p_{k-r} z^{k-r}} \right) \end{aligned}$$

Let us define \(\varLambda \left( z \right) =\mathop {\sum }\nolimits _{r=1}^R \lambda _r z^{r}\) and \(P\left( z \right) =\mathop {\sum }\nolimits _{k=0}^S p_k z^{k}\); then, with the substitution of the variable \({k}''\), we obtain:

$$\begin{aligned} \varLambda \left( 1 \right) \left( {P\left( z \right) -p_0 } \right) +z\mu p\left( z \right) =\mu \left( {P\left( z \right) -p_1 } \right) +\varLambda \left( z \right) P\left( z \right) \end{aligned}$$
(36)

(36) can be simplified to:

$$\begin{aligned} \left( {\varLambda \left( 1 \right) -\varLambda \left( z \right) } \right) P\left( z \right) +\left( {z-1} \right) \mu P\left( z \right) =\varLambda \left( 1 \right) p_0 -\mu p_1 \end{aligned}$$
(37)

From GBE it can be found that \(\varLambda \left( 1 \right) p_0 -\mu p_1 =0\). Hence, after solving the first order differential equation,

$$\begin{aligned} P\left( z \right) =e^{\int \frac{\varLambda \left( z \right) -\varLambda \left( 1 \right) }{\mu \left( {z-1} \right) }\partial z} \end{aligned}$$

where \(\frac{\varLambda \left( z \right) -\varLambda \left( 1 \right) }{z-1}=\frac{\mathop {\sum }\nolimits _{r=1}^R \lambda _r (z^{r}-1)}{z-1}=\mathop {\sum }\nolimits _{r=1}^R \lambda _r \left( {\mathop {\sum }\nolimits _{i=0}^{r-1} z^{i}} \right) \), the constant part of the PGF is obtained by applying the \(P\left( z \right) |_{z=1} =1\) condition. Then we have,

$$\begin{aligned} P\left( z \right) =e^{\frac{\left( {-\mathop {\sum }\nolimits _{r=1}^R \lambda _r \mathop {\sum }\nolimits _{i=1}^r \frac{1}{i}} \right) +\left( {\mathop {\sum }\nolimits _{r=1}^R \lambda _r \mathop {\sum }\nolimits _{i=1}^r \frac{z^{i}}{i}} \right) }{\mu }} \end{aligned}$$

which completes the proof. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Vakilinia, S., Cheriet, M. Preemptive cloud resource allocation modeling of processing jobs. J Supercomput 74, 2116–2150 (2018). https://doi.org/10.1007/s11227-017-2226-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-017-2226-0

Keywords

Navigation