Quantified abstract configurations of distributed systems

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.

[1]  Chris Hankin,et al.  Quantitative static analysis of distributed systems , 2005, Journal of Functional Programming.

[2]  Jérôme Feret,et al.  Occurrence Counting Analysis for the pi-Calculus , 2000, GETCO.

[3]  Joe Armstrong,et al.  Concurrent programming in ERLANG , 1993 .

[4]  Pierre America,et al.  Issues in the design of a parallel object-oriented language , 1989, Formal Aspects of Computing.

[5]  Ondrej Lhoták,et al.  Pick your contexts well: understanding object-sensitivity , 2011, POPL '11.

[6]  Elvira Albert,et al.  Cost Analysis of Java Bytecode , 2007, ESOP.

[7]  Denis Caromel,et al.  Toward a method of object-oriented concurrent programming , 1993, CACM.

[8]  Elvira Albert,et al.  Closed-Form Upper Bounds in Static Cost Analysis , 2011, Journal of Automated Reasoning.

[9]  Arnd Poetzsch-Heffter,et al.  JCoBox: Generalizing Active Objects to Concurrent Components , 2010, ECOOP.

[10]  Frank S. de Boer,et al.  Termination detection for active objects , 2012, J. Log. Algebraic Methods Program..

[11]  Rajkumar Buyya,et al.  Article in Press Future Generation Computer Systems ( ) – Future Generation Computer Systems Cloud Computing and Emerging It Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility , 2022 .

[12]  Elvira Albert,et al.  Quantified Abstractions of Distributed Systems , 2013, IFM.

[13]  Elvira Albert,et al.  Cost Analysis of Concurrent OO Programs , 2011, APLAS.

[14]  Reiner Hähnle,et al.  ABS: A Core Language for Abstract Behavioral Specification , 2010, FMCO.

[15]  John P. Gallagher,et al.  Termination analysis of logic programs through combination of type-based norms , 2007, TOPL.

[16]  Elvira Albert,et al.  Cost analysis of object-oriented bytecode programs , 2012, Theor. Comput. Sci..

[17]  Mohammad Fraiwan Al-Saleh,et al.  Properties of the Standard Deviation that are Rarely Mentioned in Classrooms , 2016 .

[18]  Elvira Albert,et al.  Object‐sensitive cost analysis for concurrent objects , 2015, Softw. Test. Verification Reliab..

[19]  Elvira Albert,et al.  Termination and Cost Analysis of Loops with Concurrent Interleavings , 2013, ATVA.

[20]  Akinori Yonezawa,et al.  Object-oriented concurrent programming ABCL/1 , 1986, OOPLSA '86.

[21]  Elvira Albert,et al.  COSTABS: a cost and termination analyzer for ABS , 2012, PEPM '12.

[22]  Francesca Levi,et al.  A New Occurrence Counting Analysis for BioAmbients , 2005, APLAS.

[23]  Elvira Albert,et al.  Comparing Cost Functions in Resource Analysis , 2009, FOPARA.

[24]  Martin Odersky,et al.  Scala Actors: Unifying thread-based and event-based programming , 2009, Theor. Comput. Sci..

[25]  Elvira Albert,et al.  Automatic Inference of Upper Bounds for Recurrence Relations in Cost Analysis , 2008, SAS.

[26]  Barbara G. Ryder,et al.  Parameterized object sensitivity for points-to analysis for Java , 2005, TSEM.

[27]  Akinori Yonezawa,et al.  Object-oriented concurrent programming in ABCL/1 , 1986, OOPSLA 1986.

[28]  Frank S. de Boer,et al.  User-defined schedulers for real-time concurrent objects , 2012, Innovations in Systems and Software Engineering.

[29]  Elvira Albert,et al.  May-Happen-in-Parallel Based Deadlock Analysis for Concurrent Objects , 2013, FMOODS/FORTE.