Preview

Proceedings of the Southwest State University. Series: IT Management, Computer Science, Computer Engineering. Medical Equipment Engineering

Advanced search

Virtual Machine Software System with Support for Message Transfer Between Threads

https://doi.org/10.21869/2223-1536-2022-12-1-160-171

Abstract

The purpose of research is to analyze and simulate a software system in the form of a virtual machine with multithreading support. Modern ideas about threads and multithreading are given, types of multithreading, options for interaction between threads are considered. A conceptual model of a software system in the form of a virtual machine with support for message transfer between threads is proposed.

Methods. Threads are models of computing processes with shared and separate memory. There are two ways of thread switching: cooperative and preemptive. In the case of cooperative multithreading, control transfer planning is assigned to the programmer.

Results. As a result of computer modeling, a software system was developed that implements a virtual machine. The overall computing process is divided into the required number of threads. The main thread can create child threads and terminate them if necessary. A virtual machine allows you to exchange messages in threads.

Conclusion. The resulting software system can be used to solve various tasks that require the division of the computational process into subtasks. The virtual machine provides portability and cross-platform compatibility of the system. The exchange of messages between threads allows you to solve the problems of race states, deadlocks and synchronization.

About the Author

A. А. Chaplygin
Southwest State University
Russian Federation

Aleksandr А. Chaplygin, Cand. of Sci. (Engineering), Associate Professor of the Department of Software Engeneering

50 Let Oktyabrya str. 94, Kursk 305040



References

1. Tanenbaum E., Bos H. Sovremennye operatsionnye sistemy [Sovremennye operacionnye sistemy]. 4th ed. St. Petersburg, Piter Publ., 2015. 1120 p.

2. Andrews G. R., Schneider F. B. Concepts and Notations for Concurrent Programming. ACM Computing Surveys, 1983, vol. 15, no. 1.

3. Ben-Ari M. Principles of Concurrent Programming. Addison-Wesley, 2006.

4. Dubois M., eds. Synchronization, Coherence, and Event Ordering in Multiprocessors. Available at: http://www.semanticscholar.org>...coherence...event...in-Dibois... (accessed 11.12.2021)

5. Dubois M., Scheurich C., Briggs F. A. Memory Access Buffering in Multiprocessors. Proc. 13th Ann. Int’l. Symp. on Computer Arch., ACM, 1986, pp. 434-442.

6. Bal H. E., Tanenbaum A. S. Distributed Programming with Shared Data. Proc. 1988 Int’l. Conf. on Computer Languages, IEEE, 1988, pp. 82-91.

7. Legkov K. E., Burenin A. N. Problemy matematicheskogo opisaniya potokov upravlyayushchei informatsii v protsesse upravleniya sovremennoi infokommunikatsionnoi set'yu spetsial'nogo naznacheniya [Problems of mathematical description of control information flows in the process of managing a modern infocommunication network for special purposes]. T-COMM: Telekommunikatsii i transport = T-COMM: Telecommunications and Transport, 2014, no. 10, pp. 43-46.

8. Burenin A. N., Legkov K. E. K voprosu matematicheskogo opisaniya potokov upravlyayushchei informatsii v protsesse upravleniya sovremennoi infokommunika-tsionnoi set'yu spetsial'nogo naznacheniya [On the issue of mathematical description of control information flows in the process of managing a modern special-purpose infocommunication network]. Naukoemkie tekhnologii v kosmicheskikh issledovaniyakh zemli = High-Tech Technologies in Earth Space Research, 2013, no. 5, pp. 8-12.

9. Coffman E. System Deadlocks. ACM Computing Surveys, 1971, vol. 3, no. 2.

10. Sirotkina E. I. [Application of Windows OS thread synchronization mechanisms in the process of creating large queuing systems]. Sbornik nauchnykh trudov po materialam Mezhdunarodnoi nauchno-prakticheskoi konferentsii [Collection of scientific papers based on the materials of the international scientific and practical conference]. Moscow, Scientific world Publ., 2010, vol. 2, no. 1, pp. 91-94.

11. Zhuravlev S. Survey of Scheduling Techniques for Addressing Shared Resources in Multicore Processors. ACM Computing Surveys, 2012, vol. 45, no. 1.

12. Hoare C. A. R. Monitors, An Operating System Structuring Concept. Commun. of the ACM,, 1974, vol. 17, pp. 549-557.

13. Gupta N., Mandal S., Malave J., Mandal A., Mahapatra R. N. A Hardware Scheduler for Real Time Multiprocessor System on Chip. Proc. 23rd Int’l Conf. on VLSI Design, IEEE, 2010.

14. Dijkstra E. W. Co-operating Sequential Processes. Programming Languages; ed. by F. Genuys. New York, Academic Press, 1968b.

15. Gebhart M., Johnson D. R., Tarjan D., Keckler S. W., Dally W. J., Lindholm E., Skadron K. Energy-Efficient Mechanisms For Managing Thread Context In Throughput Processors. Proc. 38th Int’l Symp. On Computer Arch. ACM, 2011.

16. Gerber R., Binstock A. Programming with Hyper-Threading Technology. Santa Clara, CA, Intel Press, 2004.

17. Geist A., Beguelin A., Dongarra J., Jiang W., Mancheck R., Sunderram V. PVM: Parallel Virtual Machine - A User’s Guide and Tutorial for Networked Parallel Computing. Cambridge, MA, M. I. T. Press, 1994.

18. Chaplygin A. A., Malyshev A. V. Operatsionnaya sistema s yadrom na osnove virtual'noi mashiny s umen'shennym naborom komand [The operating system with the virtual machine based kernel with reduced instruction set]. Izvestiya Yugo-Zapadnogo gosudarstvennogo universiteta. Seriya: Upravlenie, vychislitel'naya tekhnika, informatika. Meditsinskoe priborostroenie = Proceedings of the Southwest State University. Series: Control, Computer Engineering, Information Science. Medical Instruments Engineering, 2020, vol. 1, рр. 8-20.

19. Gropp W., Lusk E., Skjellum A. Using MPI: Portable Parallel Programming with the Message Passing Interface. Cambridge, MA, M. I. T. Press, 1994.


Review

For citations:


Chaplygin A.А. Virtual Machine Software System with Support for Message Transfer Between Threads. Proceedings of the Southwest State University. Series: IT Management, Computer Science, Computer Engineering. Medical Equipment Engineering. 2022;12(1):160-171. (In Russ.) https://doi.org/10.21869/2223-1536-2022-12-1-160-171

Views: 153

JATS XML


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2223-1536 (Print)