Abstract
Recently, new libraries, such as Grand Central Dispatch (GCD), have been proposed to directly harness the power of multicore platforms and to make the development of concurrent software more accessible to software engineers. When using such a library, the programmer writes so-called blocks, which are chunks of code, and dispatches them using synchronous or asynchronous calls to several types of waiting queues. A scheduler is then responsible for dispatching those blocks among the available cores. Blocks can synchronize via a global memory. In this article, we propose Queue-Dispatch Asynchronous Systems as a mathematical model that faithfully formalizes the synchronization mechanisms and behavior of the scheduler in those systems. We study in detail their relationships to classical formalisms such as pushdown systems, Petri nets, Fifo systems, and counter systems. Our main technical contributions are precise worst-case complexity results for the Parikh coverability problem and the termination problem for several subclasses of our model. We also consider an extension of Qdas with a fork-join mechanism. Adding fork-join to any of the subclasses that we have identified leads to undecidability of the coverability problem. This motivates the study of over-approximations. Finally, we consider handmade abstractions as a practical way of verifying programs that cannot be faithfully modeled by decidable subclasses of Qdas.
- Apple. 2009. DispatchWebServer in Mac Developper Library. Retreived from https://developer.apple.com/library/mac/.Google Scholar
- Apple. 2010. Grand Central Dispatch (GCD) Reference. Technical Report.Google Scholar
- Apple. 2011. Concurrency Programming Guide. Technical Report.Google Scholar
- A. Bouajjani and M. Emmi. 2012. Analysis of recursively parallel programs. In Proceedings of POPL’12. 203--214. Google Scholar
Digital Library
- A. Bouajjani, J. Esparza, and O. Maler. 1997. Reachability analysis of pushdown automata: Application to model-checking. In Proceedings of CONCUR’97 (LNCS), Vol. 1243. Springer, 135--150. Google Scholar
Digital Library
- D. Brand and P. Zafiropulo. 1983. On communicating finite-state machines. Journal of the ACM 30, 2 (1983), 323--342. Google Scholar
Digital Library
- P. Cousot and R. Cousot. 1977. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In POPL’77. ACM, New York, NY, 238--252. DOI:http://dx.doi.org/10.1145/512950.512973 Google Scholar
Digital Library
- J. Esparza. 1998. Decidability and complexity of Petri net problems—an introduction. In Lectures on Petri nets I. LNCS, Vol. 1491. Springer. Google Scholar
Digital Library
- J. Esparza, D. Hansel, P. Rossmanith, and S. Schwoon. 2000. Efficient algorithms for model checking pushdown systems. In Proceedings of CAV’00 (LNCS), Vol. 1855. Springer, 232--247. Google Scholar
Digital Library
- P. Ganty and R. Majumdar. 2012. Algorithmic verification of asynchronous programs. TOPLAS 34, 1 (2012). Google Scholar
Digital Library
- P. Ganty, R. Majumdar, and A. Rybalchenko. 2009. Verifying liveness for asynchronous programs. In Proceedings of POPL’09. ACM, 102--113. Google Scholar
Digital Library
- G. Geeraerts, A. Heußner, M. Praveen, and J.-F. Raskin. 2013b. ω-Petri nets. In Proceedings of Petri Nets 2013 (LNCS), Vol. 7927. Springer, 49--69. Google Scholar
Digital Library
- G. Geeraerts, A. Heußner, and J.-F. Raskin. 2013a. Queue-dispatch asynchronous systems. In Proceedings of ACSD’13. IEEE, 150--159. Google Scholar
Digital Library
- A. Heußner, J. Leroux, A. Muscholl, and G. Sutre. 2012. Reachability analysis of communicating pushdown systems. Logical Methods in Computer Science 8, 3 (2012).Google Scholar
- S. Schwoon J. Esparza, and A. Kučera. 2003. Model checking LTL with regular valuations for pushdown systems. Information and Computation 186, 2 (2003), 355--376. Google Scholar
Digital Library
- R. Jhala and R. Majumdar. 2007. Interprocedural analysis of asynchronous programs. In Proceedings of POPL’07. ACM, 339--350. Google Scholar
Digital Library
- J. Kochems and C.-H. L. Ong. 2013. Safety verification of asynchronous pushdown systems with shaped stacks. In Proceedings of CONCUR’13 (LNCS), Vol. 8052. SV, 288--302. Google Scholar
Digital Library
- S. La Torre, P. Madhusudan, and G. Parlato. 2008. Context-bounded analysis of concurrent queue systems. In Proceedings of TACAS’08 (LNCS), Vol. 4963. Springer, 299--314. Google Scholar
Digital Library
- libdispatch. 2013. Project Web Page. Retrieved from http://libdispatch.macosforge.org/.Google Scholar
- R. Lipton. 1976. The Reachability Problem Requires Exponential Space. Technical Report 62. Yale University.Google Scholar
- M. Minsky. 1967. Computation: Finite and Infinite Machines. Prentice Hall Int. Google Scholar
Digital Library
- mist2. 2014. Tool repository and web page. (2014). https://github.com/pierreganty/mist.Google Scholar
- QDAS. 2014. mist2 Example Code. Retrieved from http://www.swt-bamberg.de/aheussner/research/qdas.html.Google Scholar
- C. Rackoff. 1978. The covering and boundedness problem for vector addition systems. Theoretical Computer Science 6 (1978), 233--231.Google Scholar
Cross Ref
- K. Sen and M. Viswanathan. 2006. Model checking multithreaded programs with asynchronous atomic methods. In Proceedings of CAV’06 (LNCS), Vol. 4144. 300--314. Google Scholar
Digital Library
- SPIN. 2014. Project Web Page. Retrieved from http://www.spinroot.com.Google Scholar
Index Terms
On the Verification of Concurrent, Asynchronous Programs with Waiting Queues
Recommendations
Queue Lengths and Waiting Times for Multiserver Queues with Abandonment and Retrials
We consider a Markovian multiserver queueing model with time dependent parameters where waiting customers may abandon and subsequently retry. We provide simple fluid and diffusion approximations to estimate the mean, variance, and density for both the ...
Waiting time distributions in the accumulating priority queue
We are interested in queues in which customers of different classes arrive to a service facility, and where performance targets are specified for each class. The manager of such a queue has the task of implementing a queueing discipline that results in ...
Computing queue length and waiting timedistributions in finite-buffer discrete-time multiserver queues with late and early arrivals
This paper presents modelling and analysis of discrete-time multiserver finite-buffer queue with general interarrival and geometric service time. Using the supplementary variable technique, and considering the remaining interarrival time as a ...






Comments