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.
Similar content being viewed by others
References
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
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
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
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
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
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
Albert E, Arenas P, Genaim S, Puebla G (2011) Closed-form upper bounds in static cost analysis. J Autom Reason 46(2): 161–203
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
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
America P (1989) Issues in the design of a parallel object-oriented language. Form Asp Comput 1: 366–411
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
Al-Saleh MF, Yousif AE (2009) Properties of the standard deviation that are rarely mentioned in classrooms. Austrian J Stat 38(3): 193–202
Armstrong J, Virding R, Wistrom C, Williams M (1996) Concurrent programming in Erlang. Prentice Hall, USA
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
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
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
Caromel D (1993) Towards a method of object-oriented concurrent programming. Commun ACM 36(9): 90–102
de Boer FS, Grabe I, Steffen M (2012) Termination detection for active objects. J Log Algebr Program 81(4): 541–557
Di Pierro A, Hankin C, Wiklicky H (2005) Quantitative static analysis of distributed systems. J Funct Program 1: 37–81
Feret J (2001) Occurrence counting analysis for the pi-calculus. Electron Notes Theor Comput Sci 39(2): 1–18
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
Gori R, Levi F (2005) A new occurrence counting analysis for bioambients. In: APLAS. LNCS, vol 3780. Springer, New York, pp 381–400
Haller P, Odersky M (2009) Scala actors: unifying thread-based and event-based programming. Theor Comput Sci 410(2–3): 202–220
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
Milanova A, Rountev A, Ryder BG (2005) Parameterized object sensitivity for points-to analysis for Java. ACM Trans Softw Eng Methodol 14: 1–41
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
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
Yonezawa A, Briot JP, Shibayama E (1986) Object-oriented concurrent programming ABCL/1. In: Proceedings of OOPLSA’86. ACM, New York, pp 258–268
Author information
Authors and Affiliations
Corresponding author
Additional information
Einar Broch Johnsen, Luigia Petre, and Michael Butler
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-014-0321-z