Skip to main content
Log in

Quantified abstract configurations of distributed systems

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

When reasoning about distributed systems, it is essential to have information about the different kinds of nodes that compose the system, how many instances of each kind exist, and how nodes communicate with other nodes. In this paper we present a static-analysis-based approach which is able to provide information about the questions above. In order to cope with an unbounded number of nodes and an unbounded number of calls among them, the analysis performs an abstraction of the system producing a graph whose nodes may represent (infinitely) many concrete nodes and arcs represent any number of (infinitely) many calls among nodes. The crux of our approach is that the abstraction is enriched with upper bounds inferred by resource analysis that limit the number of concrete instances that the nodes and arcs represent and their resource consumption. The information available in our quantified abstract configurations allows us to define performance indicators which measure the quality of the system. In particular, we present several indicators that assess the level of distribution in the system, the amount of communication among distributed nodes that it requires, and how balanced the load of the distributed nodes that compose the system is. Our performance indicators are given as functions on the input data sizes, and they can be used to automate the comparison of different distributed settings and guide towards finding the optimal configuration.

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. Albert E, Arenas P, Genaim S, Puebla G, Zanardini D (2007) Cost analysis of Java bytecode. In: De Nicola R (ed) Proceedings of the 16th European symposium on programming (ESOP’07). Lecture notes in computer science, vol 4421. Springer, New York, pp 157–172

  2. Albert E, Arenas P, Genaim S, Herraiz I, Puebla G (2010) Comparing cost functions in resource analysis. In: 1st International workshop on foundational and practical aspects of resource analysis (FOPARA’09). Lecture notes in computer science, vol 6234. Springer, New York, pp 1–17

  3. Albert E, Arenas P, Genaim S, Gómez-Zamalloa M, Puebla G (2011) Cost analysis of concurrent oo programs. In: Proceedings of APLAS’11. LNCS, vol 7078. Springer, New York, pp 238–254

  4. Albert E, Arenas P, Genaim S, Gómez-Zamalloa M, Puebla G (2012) COSTABS: a cost and termination analyzer for ABS. In: Proceedings of PEPM’12. ACM Press, New York, pp 151–154

  5. Albert E, Arenas P, Genaim S, Puebla G, Zanardini D (2012) Cost analysis of object-oriented bytecode programs. Theor Comput Sci (Spec Issue Quant Asp Program Lang) 413(1): 142–159

    MathSciNet  Google Scholar 

  6. Albert E, Arenas P, Genaim S, Puebla G (2008) Automatic inference of upper bounds for recurrence relations in cost analysis. In: Proceedings of SAS’08. Lecture notes in computer science, vol 5079. Springer, New York, pp 221–237

  7. Albert E, Arenas P, Genaim S, Puebla G (2011) Closed-form upper bounds in static cost analysis. J Autom Reason 46(2): 161–203

    Article  MathSciNet  Google Scholar 

  8. Albert E, Correas J, Puebla G, Román-Díez G (2013) Quantified abstractions of distributed systems. In: Proceedings of iFM’13. LNCS, vol 7940. Springer, New York, pp 285–300

  9. Albert E, Flores-Montoya A, Genaim S, Martin-Martin E (2013) Termination and cost analysis of loops with concurrent interleavings. In: ATVA’13, LNCS, vol 8172. Springer, New York, pp 349–364

  10. America P (1989) Issues in the design of a parallel object-oriented language. Form Asp Comput 1: 366–411

    Article  MATH  Google Scholar 

  11. Albert E, Arenas P, Correas J, Gómez-Zamalloa M, Genaim S, Puebla G, Román-Díez G (2012) Object-sensitive cost analysis for concurrent objects. http://costa.ls.fi.upm.es/papers/costa/AlbertACGGPRtr.pdf. Accessed 15 May 2014

  12. Al-Saleh MF, Yousif AE (2009) Properties of the standard deviation that are rarely mentioned in classrooms. Austrian J Stat 38(3): 193–202

    Google Scholar 

  13. Armstrong J, Virding R, Wistrom C, Williams M (1996) Concurrent programming in Erlang. Prentice Hall, USA

    Google Scholar 

  14. Bruynooghe M, Codish M, Gallagher J, Genaim S, Vanhoof W (2007) Termination analysis of logic programs through combination of type-based norms. TOPLAS 29(2): 10

    Article  Google Scholar 

  15. Bjørk J, de Boer FS, Broch Johnsen E, Schlatte R, Tapia Tarifa SL (2013) User-defined schedulers for real-time concurrent objects. ISSE 9(1): 29–43

    Google Scholar 

  16. Buyya R, Yeo CS, Venugopal S, Broberg J, Brandic I (2009) Cloud computing and emerging IT platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gener Comput Syst 25(6): 599–616

    Article  Google Scholar 

  17. Caromel D (1993) Towards a method of object-oriented concurrent programming. Commun ACM 36(9): 90–102

    Article  Google Scholar 

  18. de Boer FS, Grabe I, Steffen M (2012) Termination detection for active objects. J Log Algebr Program 81(4): 541–557

    Article  MathSciNet  Google Scholar 

  19. Di Pierro A, Hankin C, Wiklicky H (2005) Quantitative static analysis of distributed systems. J Funct Program 1: 37–81

    MathSciNet  Google Scholar 

  20. Feret J (2001) Occurrence counting analysis for the pi-calculus. Electron Notes Theor Comput Sci 39(2): 1–18

    Article  Google Scholar 

  21. Flores-Montoya A, Albert E, Genaim S (2013) May-happen-in-parallel based deadlock analysis for concurrent objects. In: FORTE’13. LNCS. Springer, New York, pp 273–288

  22. Gori R, Levi F (2005) A new occurrence counting analysis for bioambients. In: APLAS. LNCS, vol 3780. Springer, New York, pp 381–400

  23. Haller P, Odersky M (2009) Scala actors: unifying thread-based and event-based programming. Theor Comput Sci 410(2–3): 202–220

    Article  MathSciNet  Google Scholar 

  24. Johnsen EB, Hähnle R, Schäfer J, Schlatte R, Steffen M (2012) ABS: a core language for abstract behavioral specification. In: Proceedings of FMCO’10 (revised papers). LNCS, vol 6957. Springer, New York, pp 142–164

  25. Milanova A, Rountev A, Ryder BG (2005) Parameterized object sensitivity for points-to analysis for Java. ACM Trans Softw Eng Methodol 14: 1–41

    Article  Google Scholar 

  26. Smaragdakis Y, Bravenboer M, Lhoták O (2011) Pick your contexts well: understanding object-sensitivity. In: Proceedings of POPL’11. ACM, New York, pp 17–30

  27. Schäfer J, Poetzsch-Heffter A (2010) JCobox: generalizing active objects to concurrent components. In: Proceedings of ECOOP’10. LNCS. Springer, New York, pp 275–299

  28. Yonezawa A, Briot JP, Shibayama E (1986) Object-oriented concurrent programming ABCL/1. In: Proceedings of OOPLSA’86. ACM, New York, pp 258–268

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Elvira Albert.

Additional information

Einar Broch Johnsen, Luigia Petre, and Michael Butler

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Albert, E., Correas, J., Puebla, G. et al. Quantified abstract configurations of distributed systems. Form Asp Comp 27, 665–699 (2015). https://doi.org/10.1007/s00165-014-0321-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-014-0321-z

Keywords

Navigation