Automated design of programs for .NET platform using Task Parallel Library

А.Yu. Doroshenko, O.A. Yatsenko

Abstract


The necessity to improve the performance of software solving labour-intensive tasks, on the one hand, and new capabilities provided by multicore architecture of contemporary microprocessors, on the other, encourages the development of specialized software tools for automated development of parallel programs for such architectures. Further progress in improving the efficiency of multithreaded programs on .NET platform is using the task parallel library TPL. The paper proposes the further development of previously developed algebra-algorithmic tools in the direction of formalized design and synthesis of C# programs using TPL. The library raises the labour productivity of developers by simplifying the procedure of adding parallelism to a program and dynamically scales parallelism level to use all available processors in the most efficient way. The proposed approach uses high-level language based on Glushkov’s system of algorithmic algebra and the method of designing syntactically correct programs that excludes the possibility of appearance of syntactic errors during scheme design. The results of the experiment consisting in executing examples of generated parallel programs on a multicore processor are given.

Problems in programming 2020; 1: 17-24




Keywords


automated software design; algorithm algebra; multi-threading; parallel computation; software synthesis; task parallel library; TPL

References


Andon, P.I. et al. (2017) Methods of algebraic programming. Formal methods of parallel program development. Kyiv: Naukova dumka. (in Russian).

Andon, P.I. et al. (2007) Algebra-algorithmic models and methods of parallel programming. Kyiv: Akademperiodyka. (in Russian).

Zhereb K.A. The rule-based software toolkit for automation of development of applications on Microsoft.NET platform. Upravl. Sistemy i Mashiny. 2009. (4). P. 51-59. (in Russian).

Doroshenko A.Yu., Zhereb K.A., Yatsenko O.A. On complexity and coordination of computation in multithreaded programs. Problems in programming. 2007. (2). P. 41-55. (in Russian).

Doroshenko, A., Zhereb, K. & Yatsenko, O. (2013) Developing and optimizing parallel programs with algebra-algorithmic and term rewriting tools. In Proc. 9th International Conference "ICT in Education, Research, and Industrial Applications" (ICTERI 2013), Revised Selected Papers. Kherson, Ukraine, 19 22 June 2013. Berlin: Springer. 412. P. 70 92. CrossRef

Docs.microsoft.com. Task Parallel Library (TPL). [online] Available from: https://docs.microsoft.com/uk-ua/dotnet/standard/parallel-programming/task-parallel-library-tpl [Accessed 8 Jan. 2020].

Software.intel.com. Microsoft Task Parallel Library* (TPL). [online] Available from: https://software.intel.com/en-us/node/811328 [Accessed 8 Jan. 2020].

Vasyutkina I.A. (2016) Development of client-server applications in C# language. Novosibirsk: Publishing House of Novosibirsk State Technical University. (in Russian).




DOI: https://doi.org/10.15407/pp2020.01.017

Refbacks

  • There are currently no refbacks.