The Emergence of Load Balancing in Distributed Systems: the SelfLet Approach

  • Nicolò M. Calcavecchia
  • Danilo Ardagna
  • Elisabetta Di Nitto
Part of the Autonomic Systems book series (ASYS)


Complex pervasive systems are typically composed of a large number of heterogeneous nodes, pervasively distributed across the environment. These systems pose several new challenges such as the need for nodes to autonomously and dynamically manage themselves in order to achieve some common goal, despite to the continuous evolution of the surrounding environment. An important research area for these systems regards the identification of proper load balancing mechanisms that, depending on the current utilization of resources at a node and on its knowledge of the neighbourhood, aim at optimizing at runtime the global system state with simple local actions without a centralized intelligence.

The SelfLet environment is a framework that provides an architectural model and a runtime infrastructure to support the development of distributed and autonomic systems. In this paper we extend the SelfLet approach by defining two optimization policies that, based on a prediction of the future load of a SelfLet node and of its neighbours, compute the most profitable autonomic load balancing action to be actuated. We show that adopting this approach, a system-wide load balancing behaviour emerges from the local actions.


Autonomic systems Distributed workload management 



Set of logical nodes of the network


SelfLet index


Set of neighbours for SelfLet n


Services offered at SelfLet n


Set of neighbours of n offering service s


Revenue received for the execution of service s at SelfLet n


Incurred cost for the execution of service s implemented by behavior b at SelfLet n


Request rate from SelfLet n i to SelfLet n j for service s


Cumulative request rate for service s at SelfLet n i


Request rate for state i of behaviour b in SelfLet n


Set of states composing the behaviour b


Index for behaviour states


Probability to go from state i to state j


Routing matrix for behaviour b


Response time threshold for service s at SelfLet n


Utilization generated by behaviour b in state i at SelfLet n


Total utilization generated by behaviour b at SelfLet n


Total utilization at SelfLet n


Total predicted utilization at SelfLet n


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    OSGi Alliance: OSGi Alliance Specifications.
  2. [2]
    Andreolini, M., Casolari, S., Colajanni, M.: Models and framework for supporting runtime decisions in web-based systems. ACM Trans. Web 2(3), 1–43 (2008) CrossRefGoogle Scholar
  3. [3]
    Andreolini, M., Casolari, S., Colajanni, M.: Autonomic request management algorithms for geographically distributed internet-based systems. In: SASO 2008, pp. 171–180 (2008) Google Scholar
  4. [4]
    Agarwal, M., Bhat, V., Liu, H., Matossian, V., Putty, V., Schmidt, C., Zhang, G., Zhen, L., Parashar, M., Khargharia, B., Hariri, S.: Automate: enabling autonomic applications on the grid. In: Autonomic Computing Workshop, 2003, pp. 48–57, June 2003 Google Scholar
  5. [5]
    Anthony, R.: Emergence: a paradigm for robust and scalable distributed applications. In: Proceedings of the 1st International Conference on Autonomic Computing (2004) Google Scholar
  6. [6]
    Ardagna, D., Trubian, M., Zhang, L.: Sla based resource allocation policies in autonomic environments. J. Parallel Distrib. Comput. 67(3), 259–270 (2007) MATHCrossRefGoogle Scholar
  7. [7]
    Babaoğlu, Ö., Meling, H., Montresor, A.: Anthill: A framework for the development of agent-based peer-to-peer systems. In: International Conference on Distributed Computing Systems, p. 15 (2002) Google Scholar
  8. [8]
    Babaoglu, O., Meling, H., Montresor, A.: Anthill: A framework for the development of agent-based peer-to-peer systems, pp. 15–22 (2002) Google Scholar
  9. [9]
    Balasubramaniam, S., Botvich, D., Donnelly, W., Strassner, J.: A biologically inspired policy based management system for survivability in autonomic networks, pp. 160–168, Sept. 2007 Google Scholar
  10. [10]
    Barbagallo, D., Di Nitto, E., Dubois, D., Mirandola, R.: A bio-inspired algorithm for energy optimization in a self-organizing data center. In: Weyns, D., Malek, S., de Lemos, R., Andersson, J. (eds.) Self-Organizing Architectures. Lecture Notes in Computer Science, vol. 6090, pp. 127–151. Springer, Berlin/Heidelberg (2010). doi: 10.1007/978-3-642-14412-7_7 CrossRefGoogle Scholar
  11. [11]
    Berns, A., Ghosh, S.: Dissecting Self-* Properties. In: Proceedings of SASO, pp. 10–19 (2009) Google Scholar
  12. [12]
    Bindelli, S., Nitto, E.D., Mirandola, R., Tedesco, R.: Building autonomic components: the SelfLets approach. In: Proc. ASE—Workshops, pp. 17–24 (2008) Google Scholar
  13. [13]
    Bindelli, S., Di Nitto, E., Furia, C., Rossi, M.: Using compositionality to formally model and analyze systems built of a high number of components. In: 5th IEEE International Conference on Engineering of Complex Computer Systems. IEEE Computer Society, Los Alamitos (2010) Google Scholar
  14. [14]
    Beckers, R., Holl, O.E., Deneubourg, J.L.: From local actions to global tasks: Stigmergy. In: Collective Robotics. Proceedings Artificial Life IV MA, pp. 181–189. MIT Press, Cambridge (1994) Google Scholar
  15. [15]
    Bennani, M., Menascé, D.: Resource allocation for autonomic data centers using analytic performance models. In: IEEE Int’l Conf. on Autonom. Computing (2005) Google Scholar
  16. [16]
    Bolch, G., Greiner, S., de Meer, H., Trivedi, K.: Queueing Networks and Markov Chains. Wiley, New York (1998) MATHCrossRefGoogle Scholar
  17. [17]
    Calcavecchia, N., Di Nitto, E.: Incorporating prediction models in the SelfLet framework: a plugin approach. In: 1st International Workshop on Run-Time Models for Self-managing Systems and Applications Google Scholar
  18. [18]
    Camazine, S., Deneubourg, J.L., Franks, N.R., Sneyd, J., Theraulaz, G., Bonabeau, E.: Self-organization in Biological Systems. Princeton University Press, Princeton (2001) Google Scholar
  19. [19]
    Casolari, S., Andreolini, M., Colajanni, M.: Runtime prediction models for web-based system resources. In: IEEE International Symposium on Modeling, Analysis and Simulation of Computers and Telecommunication Systems, 2008. MASCOTS (2008) Google Scholar
  20. [20]
    Cugola, G., Picco, G.P.: Reds: A reconfigurable dispatching system. In: Proc. of the 6th Int. Workshop on Software Engineering and Middleware SEM06, pp. 9–16. ACM, New York (2006) CrossRefGoogle Scholar
  21. [21]
    Detrain, C., Deneubourg, J., Pasteels, J.: Information Processing in Social Insects. Birkäuser, Basel (1999) Google Scholar
  22. [22]
    Devescovi, D., Di Nitto, E., Dubois, D., Mirandola, R.: Self-organization algorithms for autonomic systems in the selflet approach. In: Autonomics ’07: Proceedings of the 1st International Conference on Autonomic Computing and Communication Systems, pp. 1–10, ICST, Brussels, Belgium (2007). ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering) Google Scholar
  23. [23]
    Devescovi, D., Di Nitto, E., Mirandola, R.: An infrastructure for autonomic system development: the selflet approach. In: Proc. ASE, pp. 449–452 (2007) Google Scholar
  24. [24]
    Di Nitto, E., Dubois, D., Mirandola, R.: Self-aggregation algorithms for autonomic systems, pp. 120–128, Dec. 2007 Google Scholar
  25. [25]
    Di Nitto, E., Dubois, D., Mirandola, R., Saffre, F., Tateson, R.: Self-aggregation techniques for load balancing in distributed systems, pp. 489–490, Oct. 2008 Google Scholar
  26. [26]
    Dolev, S., Tzachar, N.: Empire of colonies: Self-stabilizing and self-organizing distributed algorithm. Theor. Comput. Sci. 410(6–7), 514–532 (2009) MATHCrossRefMathSciNetGoogle Scholar
  27. [27]
  28. [28]
    Erdogmus, H.: Cloud computing: Does nirvana hide behind the nebula? IEEE Softw. 26(2), 4–6 (2009) CrossRefGoogle Scholar
  29. [29]
    Felber, P., Kaldewey, T., Weiss, S.: Proactive hot spot avoidance for web server dependability. In: SRDS ’04: Proceedings of the 23rd IEEE International Symposium on Reliable Distributed Systems, pp. 309–318. IEEE Computer Society, Washington (2004) CrossRefGoogle Scholar
  30. [30]
    Feng, H., Liu, Z., Xia, C.H., Zhang, L.: Load shedding and distributed resource control of stream processing networks. Perform. Eval. 64(9–12), 1102–1120 (2007). Performance 2007, 26th International Symposium on Computer Performance, Modeling, Measurements, and Evaluation CrossRefGoogle Scholar
  31. [31]
    Ganek, A.G., Corbi, T.A.: The dawning of the autonomic computing era. IBM Syst. J. 42(1), 5–18 (2003) CrossRefGoogle Scholar
  32. [32]
    Huebscher, M.C., McCann, J.A.: A survey of autonomic computing–degrees, models, and applications. ACM Comput. Surv. 40(3), 7 (2008) CrossRefGoogle Scholar
  33. [33]
    IBM. An Architectural Blueprint for Autonomic Computing, 4th edn. (2006) Google Scholar
  34. [34]
    IBM. Autonomic computing manifesto Google Scholar
  35. [35]
    Irmert, F., Fischer, T., Meyer-Wegener, K.: Runtime adaptation in a service-oriented component model. In: Proceedings of SEAMS, pp. 49–56 (2008) Google Scholar
  36. [36]
    Kirtane, S., Martin, J.: Application performance prediction in autonomic systems. In: Proceedings of the 44th Annual Southeast Regional Conference, pp. 566–572. ACM, New York (2006) CrossRefGoogle Scholar
  37. [37]
    Kleinrock, L.: Queuing Systems, vol. I. Wiley, New York (1975) Google Scholar
  38. [38]
    Liu, Z., Squillante, M., Wolf, J.L.: On maximizing service-level-agreement profits. In: Proc. of ACM Electronic Commerce Conference, October 2001 Google Scholar
  39. [39]
    Linner, D., Pfeffer, H., Jacob, C., Kress, A., Krüssel, S., Steglich, S.: SmartWare: framework for autonomic application services. In: Proceedings of Autonomics, pp. 17–23 (2008) Google Scholar
  40. [40]
    Menascé, D.A., Dubey, V.: Utility-based QoS Brokering in Service Oriented Architectures. In: IEEE International Conference on Web Services Proceedings, pp. 422–430 (2007) Google Scholar
  41. [41]
    Panzeri, M.: Studio di un approccio per la realizzazione di agenti autonomici in reti di sensori wireless. Master’s thesis, Politecnico Di Milano (2008) Google Scholar
  42. [42]
    Peper, C., Schneider, D.: Component engineering for adaptive ad-hoc systems. In: Proceedings of SEAMS, pp. 49–56 (2009) Google Scholar
  43. [43]
    Powers, R., Goldszmidt, M., Cohen, I.: Short term performance forecasting in enterprise systems. In: KDD ’05: Proceedings of the Eleventh ACM SIGKDD International Conference on Knowledge Discovery in Data Mining, pp. 801–807. ACM, New York (2005) CrossRefGoogle Scholar
  44. [44]
    Ranjan, S., Knightly, E.: High-performance resource allocation and request redirection algorithms for web clusters. IEEE Trans. Parall. Distrib. Syst. 19(9), 1186–1200 (2008) CrossRefGoogle Scholar
  45. [45]
    Reich, C., Banholzer, M., Buyya, R., Bubendorfer, K.: Engineering an autonomic container for WSRF-based web services. In: Proceedings of ADCOM, pp. 277–282 (2007) Google Scholar
  46. [46]
    Shackleton, M., Marrow, P.: Editorial, special issue on nature-inspired computation. BT Technol. J. 18(4), 9–11 (2000) CrossRefGoogle Scholar
  47. [47]
    Rolia, J., Cherkasova, L., McCarthy, C.: Configuring workload manager control parameters for resource pools. In: 10th IEEE NOMS, Vancouver, Canada, April 2006 Google Scholar
  48. [48]
    Shen, W.-M., Salemi, B., Will, P.: Hormone-inspired adaptive communication and distributed control for conro self-reconfigurable robots. IEEE Trans. Robot. Autom. 18(5), 700–712 (2002) CrossRefGoogle Scholar
  49. [49]
    Tang, C., Steinder, M., Spreitzer, M., Pacifici, G.: A scalable application placement controller for enterprise data centers. In: WWW2007 (2007) Google Scholar
  50. [50]
    Urgaonkar, B., Pacifici, G., Shenoy, P., Spreitzer, M., Tantawi, A.: Analytic modeling of multitier internet applications. ACM Trans. Web 1(1), 2 (2007) CrossRefGoogle Scholar
  51. [51]
    Vilalta, R., Apte, C.V., Hellerstein, J.L., Ma, S., Weiss, S.M.: Predictive algorithm in the management of computer systems. IBM Syst. J. 41(3), 461–474 (2002) CrossRefGoogle Scholar
  52. [52]
    Wolf, J., Bansal, N., Hildrum, K., Parekh, S., Rajan, D., Wagle, R., Wu, K.-L., Fleischer, L.: Soda: an optimizing scheduler for large-scale stream-based distributed computer systems. In: Middleware ’08: Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware, pp. 306–325. Springer, New York (2008) Google Scholar
  53. [53]
  54. [54]
    Xi, W., Tan, X., Baras, J.: A stochastic algorithm for self-organization of autonomous swarms, pp. 765–770, Dec. 2005 Google Scholar
  55. [55]
    De Wolf, T., Holvoet, T.: Emergence as a general architecture for distributed autonomic computing (2004) Google Scholar

Copyright information

© Springer Basel AG 2010

Authors and Affiliations

  • Nicolò M. Calcavecchia
    • 1
  • Danilo Ardagna
    • 1
  • Elisabetta Di Nitto
    • 1
  1. 1.Dipartimento di Elettronica e InformazionePolitecnico di MilanoMilanoItaly

Personalised recommendations