Abstract
We study the problem of thread allocation in asynchronous distributed real-time and embedded systems. Each distributed node handles a limited set of resources, in particular a limited thread pool. Different methods can be invoked concurrently in each node, either by external agents or as a remote call during the execution of a method. In this pa- per we study thread allocation under a WaitOnConnection strategy, in which each nested upcall made while a thread is waiting must be made in a different thread.
We study protocols that control the allocation of threads to guarantee the absence of deadlocks. First, we introduce a computational model in which we formally describe the different protocols and their desired properties. Then, we study two scenarios: a single agent performing sequential calls, and multiple agents with unrestricted concurrency. For each scenario we present (1) algorithms to compute the minimum amount of resources to avoid deadlocks, and (2) run-time protocols that control the allocation of these resources.
This research was supported in part by NSF grants CCR-01-21403, CCR-02-20134, CCR-02-09237, CNS-0411363, and CCF-0430102, by ARO grant DAAD19-01-1- 0723, and by NAVY/ONR contract N00014-03-1-0939.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Araki, T., Sugiyama, Y., Kasami, T.: Complexity of the deadlock avoidance problem. In: 2nd IBM Symposium on Mathematical Foundations of Computer Science, pp. 229–257 (1971)
Aswathanarayana, T., Subramonian, V., Niehaus, D., Gill, C.: Design and performance of configurable endsystem scheduling mechanisms. In: Proceedings of 11th IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS (2005)
Banaszak, Z.A., Krogh, B.H.: Deadlock avoidance in exible manufacturing systems with concurrently competing processow. IEEE Transactions on Robotics and Automation 6(6), 724–734 (1990)
Center for Distributed Object Computing. nORB–Special Purpose Middleware for Networked Embedded Systems. Washington University, http://deuce.doc.wustl.edu/nORB/
Dijkstra, E.W.: Cooperating sequential processes. Technical Report EWD 123, Technological University, Eindhoven, the Netherlands (1965)
Gill, C.D., Gossett, J.M., Loyall, J.P., Schmidt, D.C., Corman, D., Schantz, R.E., Atighetchi, M.: Integrated Adaptive QoS Management in Middleware: An Empirical Case Study. Journal of Real-time Systems 24 (2005)
Habermann, A.N.: Prevention of system deadlocks. Communications of the ACM 12, 373–377 (1969)
Havender, J.W.: Avoiding deadlock in multi-tasking systems. IBM Systems Journal 2, 74–84 (1968)
Holt, R.C.: Some deadlock properties of computer systems. ACM Computing Surveys 4, 179–196 (1972)
Institute for Software Integrated Systems. The ACE ORB (TAO). Vanderbilt University, http://www.dre.vanderbilt.edu/TAO/
Lynch, N.A.: Distributed Algorithms. Morgan Kaugmann, San Francisco (1996)
Manna, Z., Pnueli, A.: Temporal Verification of Reactive Sytems: Safety. Springer, Heidelberg (1995)
Merlin, P.M., Schweitzer, P.J.: Deadlock avoidance in store-and-forward networks I: Store-and-forward deadlock. IEEE Transactions on Communications 28(3) (March 1980)
Reveliotis, S.A., Lawley, M.A., Ferreira, P.M.: Polynomial complexity deadlock avoidance policies for sequential resource allocation systems. IEEE Transactions on Automatic Control 42(10), 1344–1357 (1997)
Schmidt, D.C.: Evaluating Architectures for Multi-threaded CORBA Object Request Brokers. Communications of the ACM Special Issue on CORBA 41(10) (October 1998)
Schmidt, D.C., Stal, M., Rohnert, H., Buschmann, F.: Pattern- Oriented Software Architecture: Patterns for Concurrent and Networked Objects, vol. 2. Wiley & Sons, New York (2000)
Subramonian, V., Gill, C.D.: A generative programming framework for adaptive middleware. In: Proceedings of the 37th Hawaii International Conference on System Sciences (HICSS 2004). IEEE, Los Alamitos (2004)
Subramonian, V., Gill, C.D.: Middleware Design and Implementation for Networked Embedded Systems. In: Zurawski, R. (ed.) Embedded Systems Handbook ch. 30, pp. 1–17. CRC Press, Boca Raton (2005)
Subramonian, V., Gill, C.D., Sánchez, C., Sipma, H.B.: Composable timed automata models for real-time embedded systems middleware. Washington University CSE Department Technical Report 2005-29, http://www.cse.seas.wustl.edu/techreportfiles/getreport.asp? 440
Subramonian, V., Xing, G., Gill, C.D., Lu, C., Cytron, R.: Middleware specialization for memory-constrained networked embedded systems. In: Proceedings of 10th IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS (2004)
Xing, K.-Y., Hu, B.-S., Chen, H.-X.: Deadlock avoidance policy for petri-net modeling of exible manufacturing systems with shared resources. IEEE Transactions on Automatic Control 41(2), 289–295 (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 IFIP International Federation for Information Processing
About this paper
Cite this paper
Sánchez, C., Sipma, H.B., Subramonian, V., Gill, C., Manna, Z. (2005). Thread Allocation Protocols for Distributed Real-Time and Embedded Systems. In: Wang, F. (eds) Formal Techniques for Networked and Distributed Systems - FORTE 2005. FORTE 2005. Lecture Notes in Computer Science, vol 3731. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11562436_13
Download citation
DOI: https://doi.org/10.1007/11562436_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29189-3
Online ISBN: 978-3-540-32084-5
eBook Packages: Computer ScienceComputer Science (R0)