Abstract
Interactions amongst different processes in concurrent software are governed by a protocol. The blocking I/O operations involved in a protocol may temporarily suspend the execution of some processes in an application. Scheduling consists of the allocation of available processors to the appropriate non-suspended processes in an application, such that some specified criteria (e.g., shortest execution time or highest throughput) are met. We use a generic, game-theoretic scheduling framework to find optimal non-preemptive schedules for an application. We then show how such schedules themselves can be encoded as protocols, which in our framework, can be composed with the original application protocol. The resulting composed protocol restricts the number of ready processes to the number of available processors, which enables standard preemptive schedulers of modern operating-systems to closely approximate the behavior and the performance of the optimal non-preemptive scheduler of the application. We evaluate our work by comparing the throughput of two versions of a cyclo-static dataflow network: one version with the usual protocol, and the other version with a restricted protocol.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
A Borel set is a subset of \(\varSigma ^\omega \) obtained from languages of safety automata by repeated complements and countable intersections.
References
Alur, R., Dill, D.: Automata for modeling real-time systems. In: Paterson, M.S. (ed.) ICALP 1990. LNCS, vol. 443, pp. 322–335. Springer, Heidelberg (1990). https://doi.org/10.1007/BFb0032042
Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14(3), 329–366 (2004). https://doi.org/10.1017/S0960129504004153
Arbab, F.: Abstract behavior types: a foundation model for components and their composition. Sci. Comput. Program. 55(1–3), 3–52 (2005). https://doi.org/10.1016/j.scico.2004.05.010
Arbab, F.: Proper protocol. In: Ábrahám, E., Bonsangue, M., Johnsen, E.B. (eds.) Theory and Practice of Formal Methods. LNCS, vol. 9660, pp. 65–87. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-30734-3_7
Bamakhrama, M.A.M.: On hard real-time scheduling of cyclo-static dataflow and its application in system-level design. Ph.D. thesis, Leiden University (2014)
Bloem, R., Greimel, K., Henzinger, T.A., Jobstmann, B.: Synthesizing robust systems. In: Proceedings of FMCAD, pp. 85–92. IEEE (2009). https://doi.org/10.1109/FMCAD.2009.5351139
Brim, L., Chaloupka, J., Doyen, L., Gentilini, R., Raskin, J.: Faster algorithms for mean-payoff games. Formal Methods Syst. Des. 38(2), 97–118 (2011). https://doi.org/10.1007/s10703-010-0105-x
Comin, C., Rizzi, R.: Improved pseudo-polynomial bound for the value problem and optimal strategy synthesis in mean payoff games. Algorithmica 77(4), 995–1021 (2017). https://doi.org/10.1007/s00453-016-0123-1
Dokter, K., Arbab, F.: Exposing latent mutual exclusion by work automata. In: Mousavi, M.R., Sgall, J. (eds.) TTCS 2017. LNCS, vol. 10608, pp. 59–73. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-68953-1_6
Dokter, K., Jongmans, S.-S., Arbab, F.: Scheduling games for concurrent systems. In: Lluch Lafuente, A., Proença, J. (eds.) COORDINATION 2016. LNCS, vol. 9686, pp. 84–100. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-39519-7_6
Ehrenfeucht, A., Mycielski, J.: Positional strategies for mean payoff games. Int. J. Game Theory 8(2), 109–113 (1979)
van Glabbeek, R.J.: On the expressiveness of higher dimensional automata. Theor. Comput. Sci. 356(3), 265–290 (2006). https://doi.org/10.1016/j.tcs.2006.02.012
Goubault, E.: Schedulers as abstract interpretations of higher-dimensional automata. In: Proceedings of the of PEPM, pp. 134–145. ACM (1995)
Martin, D.A.: Borel determinacy. Ann. Math. 363–371 (1975)
Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)
Pratt, V.R.: Modeling concurrency with geometry. In: Wise, D.S. (ed.) Proceedings of POPL, pp. 311–322. ACM Press (1991). https://doi.org/10.1145/99583.99625
Acknowledgements
We thank Benjamin Lion for his suggestion to use the overflow semantics for the buffers in the CSDF graph and the anonymous reviewers of FSEN 2021 for their constructive comments.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 IFIP International Federation for Information Processing
About this paper
Cite this paper
Dokter, K., Arbab, F. (2021). Protocol Scheduling. In: Hojjat, H., Massink, M. (eds) Fundamentals of Software Engineering. FSEN 2021. Lecture Notes in Computer Science(), vol 12818. Springer, Cham. https://doi.org/10.1007/978-3-030-89247-0_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-89247-0_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-89246-3
Online ISBN: 978-3-030-89247-0
eBook Packages: Computer ScienceComputer Science (R0)