Shared-object system equilibria: Delay and throughput analysis

Abstract We consider shared-object systems that require their threads to fulfill the system jobs by first acquiring sequentially the objects needed for the jobs and then holding on to them until the job completion. Such systems are in the core of a variety of shared-resource allocation and synchronization systems. This work opens a new perspective to study the expected job delay and throughput analytically, given the possible set of jobs that may join the system dynamically. We identify the system dependencies that cause contention among the threads as they try to acquire the job objects. We use these observations to define the shared-object system equilibria. We note that the system is in equilibrium whenever the rate in which jobs arrive at the system matches the job completion rate. These equilibria consider not only the job delay but also the job throughput, as well as the time in which each thread blocks other threads in order to complete its job. We then further study in detail the thread work cycles and, by using a graph representation of the problem, we are able to propose procedures for finding and estimating equilibria, i.e., discovering the job delay and throughput, as well as the blocking time. To the best of our knowledge, this is a new perspective, that can provide better analytical tools for the problem. That is, our methods can be used to estimate performance measures similar to ones that can be acquired through experimentation on working systems and simulations, e.g., as job delay and throughput in (distributed) shared-object systems.

[1]  Bruno Baynat,et al.  A Product-Form Approximation Method for General Closed Queueing Networks with Several Classes of Customers , 1996, Perform. Evaluation.

[2]  Mark Moir,et al.  Nonblocking k-compare-single-swap , 2003, SPAA '03.

[3]  T. Altiok On the Phase-Type Approximations of General Distributions , 1985 .

[4]  Jeffrey P. Buzen,et al.  Computational algorithms for closed queueing networks with exponential servers , 1973, Commun. ACM.

[5]  Maurice Herlihy,et al.  The Art of Multiprocessor Programming, Revised Reprint , 2012 .

[6]  Marcel F. Neuts,et al.  Matrix-geometric solutions in stochastic models - an algorithmic approach , 1982 .

[7]  Paul G. Spirakis,et al.  Real time resource allocation in distributed systems , 1982, PODC '82.

[8]  Sridhar Ramesh,et al.  A multi-layer client-server queueing network model with non-hierarchical synchronous and asynchronous messages , 2001, Perform. Evaluation.

[9]  Richard M. Feldman,et al.  Applied Probability and Stochastic Processes , 1995 .

[10]  Nancy A. Lynch,et al.  Upper Bounds for Static Resource Allocation in a Distributed System , 1981, J. Comput. Syst. Sci..

[11]  Gunter Bolch,et al.  Queueing Networks and Markov Chains - Modeling and Performance Evaluation with Computer Science Applications, Second Edition , 1998 .

[12]  Marina Papatriantafilou,et al.  Self-tuning Reactive Distributed Trees for Counting and Balancing , 2004, OPODIS.

[13]  Gunter Bolch,et al.  Queueing Networks and Markov Chains , 2005 .

[14]  Marina Papatriantafilou,et al.  On Distributed Resource Handling: Dining, Drinking and Mobile Philosophers , 1997, OPODIS.

[15]  James R. Jackson,et al.  Jobshop-Like Queueing Systems , 2004, Manag. Sci..

[16]  Adam Wierman,et al.  Multi-Server Queueing Systems with Multiple Priority Classes , 2005, Queueing Syst. Theory Appl..

[17]  Marcin Paprzycki,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 2001, Scalable Comput. Pract. Exp..

[18]  Marina Papatriantafilou,et al.  Shared-object system equilibria: delay and throughput analysis , 2015, ICDCN.

[19]  Nancy A. Lynch,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[20]  Mor Harchol-Balter,et al.  Analysis of multi-server systems via dimensionality reduction of markov chains , 2005 .

[21]  K. Mani Chandy,et al.  Open, Closed, and Mixed Networks of Queues with Different Classes of Customers , 1975, JACM.

[22]  Tayfur Altiok,et al.  Performance analysis of manufacturing systems , 1996 .

[23]  W. J. Gordon,et al.  Closed Queuing Systems with Exponential Servers , 1967, Oper. Res..

[24]  Hector Garcia-Molina,et al.  Synchronizing a database to improve freshness , 2000, SIGMOD '00.

[25]  Maurice Herlihy,et al.  The art of multiprocessor programming , 2020, PODC '06.

[26]  Vaidyanathan Ramaswami,et al.  A logarithmic reduction algorithm for quasi-birth-death processes , 1993, Journal of Applied Probability.

[27]  Keir Fraser,et al.  A Practical Multi-word Compare-and-Swap Operation , 2002, DISC.