The Omniscient Garbage Collector: A Resource Analysis Framework

The notion of resource plays a central role in concurrent systems. In its purest form a resource is simply a unique identity one can create, use and ultimately destruct. In this paper we propose a simple yet effective characterization of resource usages and develop for it a complete analysis framework. We address qualitative issues such as the classification of resources and whether two systems exhibit similar patterns of resource usages -- namely equivalent resource profiles. From the quantitative point of view, we develop the omniscient garbage collector (OGC), which decides precisely when a resource can be reclaimed or reused. This allows to bound precisely the number of resources consumed by a given system. To illustrate the approach, we study experimentally the resource consumption of pi-calculus processes using a prototype analysis tool. We propose two different resource abstractions for pi-processes: one based on the labelled transitions for open systems, and another one for closed systems. The latter notably provides a refined view of behaviors, less opaque than reductions. Beyond this experiment, the proposed framework is quite generic and can apply to many different formalisms and situations.

[1]  Raheel Ahmad,et al.  The π-Calculus: A theory of mobile processes , 2008, Scalable Comput. Pract. Exp..

[2]  Rupak Majumdar,et al.  A Theory of Name Boundedness , 2013, CONCUR.

[3]  Gian Luigi Ferrari,et al.  Nominal Automata for Resource Usage Control , 2012, CIAA.

[4]  Tommy R. Jensen,et al.  Graph Coloring Problems , 1994 .

[5]  Raymond R. Devillers,et al.  A Petri Net Interpretation of Open Reconfigurable Systems , 2013, Fundam. Informaticae.

[6]  Roberto M. Amadio,et al.  On Decidability of the Control Reachability Problem in the Asynchronous pi-Calculus , 2002, Nord. J. Comput..

[7]  Silvano Dal-Zilio,et al.  Resource control for synchronous cooperative threads , 2006, Theor. Comput. Sci..

[8]  Naoki Kobayashi,et al.  Resource Usage Analysis for the Pi-Calculus , 2006, VMCAI.

[9]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[10]  Andrew D. Gordon,et al.  Notes on Nominal Calculi for Security and Mobility , 2000, FOSAD.

[11]  Marco Pistore,et al.  Verifying Mobile Processes in the HAL Environment , 1998, CAV.

[12]  Marco Pistore,et al.  Checking Bisimilarity for Finitary pi-Calculus , 1995, CONCUR.

[13]  Orna Grumberg,et al.  Variable Automata over Infinite Alphabets , 2010, LATA.

[14]  Fernando Rosa-Velardo,et al.  Decidability Problems in Petri Nets with Names and Replication , 2010, Fundam. Informaticae.

[15]  Gregory J. Chaitin Register allocation and spilling via graph coloring (with retrospective) , 1982 .