Skip to main content
Log in

Weighted fair share scheduling for loosely controlled concurrent event systems

  • Special Issue Paper
  • Published:
Service Oriented Computing and Applications Aims and scope Submit manuscript

Abstract

In asynchronous event systems, the production of an event is decoupled from its consumption via an event queue. The loose coupling of such systems allows great flexibility as to where and when within the system the event handler of a given event is actually executed, allowing them to scale with increasing number of processors on a given node or across multiple nodes in a distributed system. Although this flexibility is useful in heterogeneous distributed systems, such as SOA, it may appear not to be well suited for real-time systems, which require an upper bound on how long an event can remain unhandled in a queue. However, we show how the weighted fair scheduling algorithms developed for QoS (quality of service) routing can be adapted to event queues to bound the delay between production and consumption. We achieve this, despite the fact that the underlying execution environment is only weakly controlled, through the use of predictive techniques on a calibrated model of the event system. Our choice of algorithms and data structures is driven in part by the highly concurrent nature of the system. We show how a weighted fair scheduler can be built on a lock-free concurrent priority queue. We analyze the performance of various such queues proposed in the literature and show that a very simple linear quantizing queue yields the best performance.

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.

Similar content being viewed by others

References

  1. Rooney S, Garcés-Erice L (2008) Predicting performance on a loosely controlled event system. In: Proceedings of 32nd annual IEEE international computer software and applications conference (COMPSAC’08). Turku, Finland, pp 1136–1142

  2. Rooney S, Bauer D, Garcés-Erice L (2008) Building a practical event-scheduler for a multi-processor architecture. In: Proceedings of high performance computing and simulation conference (HPCS). Nicosia, Cyprus, pp 311–318

  3. Dragicevic K, Bauer D (2008) A survey of concurrent priority queue algorithms. In: Proceedings of IEEE international symposium on parallel and distributed processing (IPDPS’08). Miami, pp 1–6

  4. Tenenbaum A, van Renesse R (1988) A critique of the remote procedure call paradigm. In: Proceedings of European teleinformatics conference (EUTECO). Vienna, pp 775–783

  5. Welsh M, Culler D, Brewer E (2001) SEDA: an architecture for well-conditioned, scalable internet services. SIGOPS Oper Syst Rev 35(5): 230–243

    Article  Google Scholar 

  6. Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. J ACM 20(1): 46–61

    Article  MATH  MathSciNet  Google Scholar 

  7. Demers A, Keshav S, Shenker S (1989) Analysis and simulation of a fair queueing algorithm. In: Proceedings of the symposium on communications architectures & protocols (SIGCOMM’89). ACM Press, New York, pp 1–12

  8. Yin N (1996) Max– min fairness vs. MCR guarentee on bandwidth allocation for ABR. In: Proceedings of the IEEE ATM’96 workshop. San Franciso, pp 25–27

  9. Michael MM, Scott ML (1996) Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In: Proceedings of the 15th ACM symposium on principles of distributed computing (PODC’96). pp 267–275

  10. Huang Q (1991) An evaluation of concurrent priority queue algorithms. Technical report, Massachusetts Institute of Technology. MIT Cambridge, MA

    Google Scholar 

  11. Hunt GC, Michael MM, Parthasarathy S, Scott ML (1994) An efficient algorithm for concurrent priority queue heaps. Technical Report TR560. University of Rochester, Rochester

    Google Scholar 

  12. Shavit N, Zemach A (1999) Scalable concurrent priority queue algorithms. In: Proceedings of the 18th annual ACM symposium on principles of distributed computing (PODC’99). ACM Press, New York, pp 113–122

  13. Sundell H, Tsigas P (2003) Fast and lock-free concurrent priority queues for multi-thread systems. In: Proceedings of the 17th international parallel and distributed processing symposium (IPDPS’03). IEEE Press, Nice

  14. Herlihy MP, Wing JM (1990) Linearizability: a correctness condition for concurrent objects. ACM Trans Program Lang Syst 12(3): 463–492

    Article  Google Scholar 

  15. Lamport L (1979) How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans Comput 28(9): 690–691

    Article  MATH  Google Scholar 

  16. Shavit N, Touitou D (1995) Software transactional memory. In: Proceedings of the 14th annual ACM symposium on principles of distributed computing (PODC’95). ACM Press, Ontario, pp 204–213

  17. Herlihy M, Luchangco V, Moir M (2006) A flexible framework for implementing software transactional memory. In: Proceedings of the 21st annual ACM SIGPLAN conference on object-oriented programming systems, languages and applications (OOPSLA’06). ACM Press, Portland, pp 253–262

  18. Bacon DF, Konuru R, Murthy C, Serrano M (1998) Thin locks: featherweight synchronization for Java. In: SIGPLAN conference on programming language design and implementation. Montreal, pp 258–268

  19. Kuhn HW (1955) The Hungarian method for the assignment problem. Naval Res Logistics Q 2: 83–97

    Article  Google Scholar 

  20. Box GEP, Jenkins GM, Reinsel GC (2008) Time series analysis, forecasting and control. Wiley, Hoboken

    MATH  Google Scholar 

  21. Jain AK, Murty MN, Flynn PJ (1999) Data clustering: a review. ACM Comput Surv 31(3): 264–323

    Article  Google Scholar 

  22. Quinlan JR (1986) Induction of decision trees. Mach Learn 1(1): 81–106

    Google Scholar 

  23. Ali S, Kim JK, Siegel HJ, Maciejewski AA, Yu Y, Gundala SB, Gertphol S, Prasanna VK (2002) Greedy heuristics for resource allocation in dynamic distributed real-time heterogeneous computing systems. In: Proceedings of the international conference on parallel and distributed processing techniques and applications (PDPTA’02). CSREA Press, Las Vegas, pp 519–530

  24. Li P, Ravindran B, Wang J, Konowicz G (2003) Choir: a real-time middleware architecture supporting benefit-based proactive resource allocation. In: Proceedings of the sixth IEEE international symposium on object-oriented real-time distributed computing (ISORC’03). IEEE Computer Society, Washington, DC, pp 292–299

  25. Roy N, Shankaran N, Schmidt DC (2006) Bulls-Eye—a resource provisioning service for enterprise distributed real-time and embedded systems. In: OTM conferences, vol 2. pp 1843–1861

  26. Shankaran N, Balasubramanian J, Schmidt D, Biswas G, Lardieri P, Mulholland E, Damiano T (2006) A framework for (re)deploying components in distributed real-time and embedded systems. In: Proceedings of the 2006 ACM symposium on applied computing (SAC’06). ACM, New York, pp 737–738

  27. Rosu D, Schwan K, Yalamanchili S, Jha R (1997) On adaptive resource allocation for complex real-time applications. In: Proceedings of the 18th IEEE real-time systems symposium (RTSS ’97). IEEE Computer Society, Washington, DC, pp 320–329

  28. Eide E, Stack T, Regehr J, Lepreau J (2004) Dynamic CPU management for real-time, middleware-based systems. In: Proceedings of 10th IEEE real-time and embedded technology and applications symposium. Toronto, pp 286–295

  29. Abeni L, Cucinotta T, Lipari G, Marzario L, Palopoli L (2005) QoS management through adaptive reservations. Real-Time Syst 29(2-3): 131–155

    Article  MATH  Google Scholar 

  30. Abdelwahed S, Neema S, Loyall JP, Shapiro R (2003) A hybrid control design for QoS management. In: IEEE real-time systems symposium (RTSS’03). Cancun, pp 366–369

  31. Dean J, Ghemawat S (2008) MapReduce: simplified data processing on large clusters. Commun ACM 51(1): 107–113

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Luis Garcés-Erice.

Additional information

This article is partially based on previously published papers by the authors. See references [1–3].

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rooney, S., Garcés-Erice, L., Dragičević, K. et al. Weighted fair share scheduling for loosely controlled concurrent event systems. SOCA 4, 45–62 (2010). https://doi.org/10.1007/s11761-010-0054-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11761-010-0054-7

Keywords

Navigation