Skip to main content
Log in

A Truthful Mechanism for Value-Based Scheduling in Cloud Computing

  • Published:
Theory of Computing Systems Aims and scope Submit manuscript

Abstract

We introduce a novel pricing and resource allocation approach for batch jobs on cloud systems. In our economic model, users submit jobs with a value function that specifies willingness to pay as a function of job due dates. The cloud provider in response allocates a subset of these jobs, taking into advantage the flexibility of allocating resources to jobs in the cloud environment. Focusing on social-welfare as the system objective (especially relevant for private or in-house clouds), we construct a resource allocation algorithm which provides a small approximation factor that approaches 2 as the number of servers increases. An appealing property of our scheme is that jobs are allocated non-preemptively, i.e., jobs run in one shot without interruption. This property has practical significance, as it avoids significant network and storage resources for checkpointing. Based on this algorithm, we then design an efficient truthful-in-expectation mechanism, which significantly improves the running complexity of black-box reduction mechanisms that can be applied to the problem, thereby facilitating its implementation in real systems.

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.

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. For tractability, we assume that the assignment y j is a continuous decision variable. In practice, non-integer allocations will have to be translated to integer ones, for example by processor sharing within each time interval. The precise ways of how to implement such techniques are beyond the scope of the present paper.

References

  1. Archer, A., Tardos, É.: Truthful mechanisms for one-parameter agents. In: FOCS, pp. 482–491 (2001)

    Google Scholar 

  2. Babaioff, M., Kleinberg, R., Slivkins, A.: Truthful mechanisms with implicit payment computation. In: EC, pp. 43–52 (2010)

    Google Scholar 

  3. Bar-Noy, A., Bar-Yehuda, R., Freund, A., Naor, J., Schieber, B.: A unified approach to approximating resource allocation and scheduling. J. ACM 48, 1069–1090 (2001)

    Article  MathSciNet  Google Scholar 

  4. Bar-Noy, A., Guha, S., Naor, J., Schieber, B.: Approximating the throughput of multiple machines in real-time scheduling. SIAM J. Comput. 31(2), 331–352 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  5. Bei, X., Huang, Z.: Bayesian incentive compatibility via fractional assignments. In: SODA (2011)

    Google Scholar 

  6. Brucker, P.: Scheduling Algorithms, 4th edn. Springer, Berlin (2004)

    Book  MATH  Google Scholar 

  7. Chawla, S., Immorlica, N., Lucier, B.: On the impossibility of black-box transformations in mechanism design. CoRR abs/1109.2067 (2011)

  8. Dughmi, S., Roughgarden, T.: Black-box randomized reductions in algorithmic mechanism design. In: FOCS, pp. 775–784 (2010)

    Google Scholar 

  9. Hartline, J.D., Lucier, B.: Bayesian algorithmic mechanism design. In: STOC, pp. 301–310 (2010)

    Google Scholar 

  10. Hartline, J.D., Kleinberg, R., Malekian, A.: Bayesian incentive compatibility via matchings. In: SODA (2011)

    Google Scholar 

  11. Lavi, R., Swamy, C.: Truthful and near-optimal mechanism design via linear programming. In: FOCS, pp. 595–604 (2005)

    Google Scholar 

  12. Lavi, R., Swamy, C.: Truthful mechanism design for multi-dimensional scheduling via cycle monotonicity. In: EC (2007)

    Google Scholar 

  13. Lawler, E.L.: A dynamic programming algorithm for preemptive scheduling of a single machine to minimize the number of late jobs. Ann. Oper. Res. 26, 125–133 (1991)

    Article  MathSciNet  Google Scholar 

  14. Nisan, N., Ronen, A.: Algorithmic mechanism design. In: STOC (1999)

    Google Scholar 

  15. Nisan, N., Roughgarden, T., Tardos, É., Vazirani, V.V.: Algorithmic Game Theory. Cambridge University Press, Cambridge (2007)

    Book  MATH  Google Scholar 

  16. Phillips, C.A., Uma, R.N., Wein, J.: Off-line admission control for general scheduling problems. In: SODA, pp. 879–888 (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jonathan Yaniv.

Additional information

A preliminary version of this work appeared in the proceedings of the 4th Symposium on Algorithmic Game Theory (SAGT 2011).

Part of this work was done while visiting Microsoft Research. This research was supported in part by the Google Inter-university center for Electronic Markets and Auctions. Also supported by ISF grants 1366/07 and 954/11.

Appendix: The Configuration LP: A Different View of the LP Formulation

Appendix: The Configuration LP: A Different View of the LP Formulation

We present further insights on the choice of (6). An alternative formulation of BFS is its representation as a configuration LP. For every job j and every allocation \(a_{j}\in\mathcal{A}_{j}\) we have a variable z j (a j ) representing whether job j has been fully allocated according to a j or not. The configuration LP is defined as follows:

The first constraints allow us to choose at most one allocation per job and the second constraints are capacity constraints. Note that since allocations are defined over the reals, the number of allocations in a set \(\mathcal{A}_{j}\) is uncountable. However, the following proposition shows that (LP-D), is actually an efficient representation of (CONF-LP-D).

Proposition 1

The optimal values of fractional social welfare of (LP-D) and (CONF-LP-D) are equal.

Proof

Consider a solution y of the relaxed linear program and recall that \(x_{j}=\frac{1}{D_{j}}\sum_{t}y_{j} (t )\). For every job j we construct an allocation a j matching the values {y j (t)} by setting: \(a_{j} (t )=\frac{y_{j} (t )}{x_{j}}\). This gives us a feasible allocation, since ∑ t a j (t)=D j and a j (t)≤k j for every \(t\in\mathcal{T}_{j}\) by (6). Now, set z j (a j )=x j and z j (a)=0 for every \(a\in\mathcal{A}_{j}\setminus \{ a_{j} \} \). It is easy to see that z is a feasible solution of the configuration LP.

In the opposite direction, consider a solution z of the configuration LP. Define for every \(t\in\mathcal{T}_{j}\):

where \(x_{j}=\sum_{a\in\mathcal{A}_{j}}z_{j} (a )\). Notice that a j is a feasible allocation, since a j (t)≤k j for every \(t\in\mathcal{T}_{j}\) and since:

By the definition of a j , the total capacity taken by a j is identical to the capacity taken by allocations according to z. Moreover, the contribution of a j to the objective function is the sum of contributions by allocations in \(\mathcal{A}_{j}\). To conclude, we translate a j to its matching vector y j by setting y j (t)=a j (t)⋅x j for every \(t\in\mathcal{T}_{j}\). □

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jain, N., Menache, I., Naor, J.(. et al. A Truthful Mechanism for Value-Based Scheduling in Cloud Computing. Theory Comput Syst 54, 388–406 (2014). https://doi.org/10.1007/s00224-013-9449-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00224-013-9449-0

Keywords

Navigation