GRAPHICAL REPRESENTATIONS OF MULTITHREADED APPLICATIONS

Damian GIEBAS

damian.giebas@gmail.com
Faculty of Electronics and Computer Science, Koszalin University of Technology, 75-453 Koszalin, Śniadeckich 2 (Poland)

Rafał WOJSZCZYK


Faculty of Electronics and Computer Science, Koszalin University of Technology, 75-453 Koszalin, Śniadeckich 2 (Poland)

Abstract

This article contains a brief description of existing graphical methods for presenting multithreaded applications, i.e. Control Flow Graph and Petri nets. These methods will be discussed, and then a way to represent multithreaded applications using the concurrent process system model will be presented. All these methods will be used to present the idea of a multithreaded application that includes the race condition phenomenon. In the summary, all three methods will be compared and subjected to the evaluation, which will depend on whether the given representation will allow to find the mentioned phenomenon.


Keywords:

graphical representations, Petri nets, Control Flow Graph, Concurrent Process Systems, multithreaded applications

A Brief History of Cilk. (n.d.). Retrieved September 16, 2017, from https://www.cilkplus.org/cilkhistory
  Google Scholar

Aiken, A. (October 28, 2017). Charm++. Retrieved from https://web.stanford.edu/class/cs315b/lectures/lecture11.pdf
  Google Scholar

Allen, F. E. (1970). Control Flow Analisys. Retrieved July 5, 2017, from http://sumanj.info/secure_sw_devel/p1-allen.pdf
DOI: https://doi.org/10.1145/800028.808479   Google Scholar

Banaszak, Z., Majdzik, P., & Wójcik, R. (2008). Procesy współbieżne. Modele efektywności funkcjonowania. Koszalin: Wydawnictwo Uczelniane Politechniki Koszalińskiej.
  Google Scholar

Bocewicz, G. (2013). Modele multimodalnych procesów cyklicznych. Koszalin: Wydawnictwo Uczelniane Politechniki Koszalińskiej.
  Google Scholar

Bocewicz, G., Wójcik, R., & Banaszak, Z. (2006). Harmonogramowane pracy wózków samojezdnych w warunkach ograniczonego dostępu do współdzielonych zasobów ESW (Model logicznoalgebraiczny). In Postępy robotyki: Systemy i współdziałanie robotów. Warszawa: WKiŁ.
  Google Scholar

Bull, J. M., Reid, F., & McDonnell, N. (2012). A Microbenchmark Suite for OpenMP Tasks. In: B. M. Chapman, F. Massaioli, M.S. Müller, M. Rorro (Eds), OpenMP in a Heterogeneous World. IWOMP 2012. Lecture Notes in Computer Science (271–274). Berlin, Heidelberg: Springer.
DOI: https://doi.org/10.1007/978-3-642-30961-8_24   Google Scholar

Engler, D., & Ashcraft, K. (2003). RacerX: effective, static detection of race conditions and deadlocks. ACM SIGOPS Operating Systems Review, 37(5), 237–252. doi:10.1145/1165389.945468
DOI: https://doi.org/10.1145/1165389.945468   Google Scholar

Hinnant, H. E., Dawes, B., Crowl, L., Garland, J., & Williams, A. (June 24, 2007). Multi-threading Library for Standard C++. Retrieved from http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2320.html
  Google Scholar

Intel Threading Building Blocks Documentation. (n.d.). Retrieved September 16, 2017, from https://software.intel.com/en-us/tbb-documentation
  Google Scholar

Introduction to Charm++ Concepts (n.d.). Retrieved September 16, 2017, from http://charmplusplus.org/tutorial/CharmConcepts.html ISO/IEC. (2003). Information technology - Portable Operating System Interface (POSIX) – Part 1: Base Definitions (9945-1:2003).
  Google Scholar

Lu, S., Park, S., Seo, E., & Zhou, Y. (2008). Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. In Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-XIII) (pp. 329–339). New York: ACM.
DOI: https://doi.org/10.1145/1346281.1346323   Google Scholar

Peterson, J. L. (1977). Petrie Nets. ACM Computing Surveys (CSUR), 9(3), 223-252.
DOI: https://doi.org/10.1145/356698.356702   Google Scholar

Silberschatz, A., Galvin, P. B., & Gagne, G. (2005). Operating System Concepts. USA: John Wiley & Sons
  Google Scholar

Torp, K. (November 19, 2001). Multithreading. Retrieved from http://people.cs.aau.dk/~torp/
  Google Scholar

Teaching/E02/OOP/handouts/multithreading.pdf
  Google Scholar

Voung, J. W., Jhala, R., & Lerner, S. (2007). RELAY: static race detection on millions of lines of code. In Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering (pp. 205–214). New York: ACM.
DOI: https://doi.org/10.1145/1287624.1287654   Google Scholar

Download


Published
2018-06-30

Cited by

GIEBAS, D., & WOJSZCZYK, R. (2018). GRAPHICAL REPRESENTATIONS OF MULTITHREADED APPLICATIONS. Applied Computer Science, 14(2), 20–37. https://doi.org/10.23743/acs-2018-10

Authors

Damian GIEBAS 
damian.giebas@gmail.com
Faculty of Electronics and Computer Science, Koszalin University of Technology, 75-453 Koszalin, Śniadeckich 2 Poland

Authors

Rafał WOJSZCZYK 

Faculty of Electronics and Computer Science, Koszalin University of Technology, 75-453 Koszalin, Śniadeckich 2 Poland

Statistics

Abstract views: 98
PDF downloads: 51


License

Creative Commons License

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

All articles published in Applied Computer Science are open-access and distributed under the terms of the Creative Commons Attribution 4.0 International License.


Similar Articles

1 2 3 4 5 6 7 8 9 10 > >> 

You may also start an advanced similarity search for this article.