Gibadullin R.F., Viktorov I.V. —
Ambiguous Results when Using Parallel Class Methods within the .NET Framework
// Software systems and computational methods. – 2023. – ¹ 2.
– P. 1 - 14.
DOI: 10.7256/2454-0714.2023.2.39801
URL: https://en.e-notabene.ru/itmag/article_39801.html
Read the article
Abstract: Parallel programming is a way of writing programs that can run in parallel on multiple processors or cores. This allows programs to process large amounts of data or perform more complex calculations in a reasonable amount of time than would be possible on a single processor. The advantages of parallel programming: increased performance, load sharing, processing large amounts of data, improved responsiveness, increased reliability. In general, parallel programming has many advantages that can help improve the performance and reliability of software systems, especially with the increasing complexity of computational tasks and data volumes. However, parallel programming can also have its own complexities related to synchronization management, data races, and other aspects that require additional attention and experience on the part of the programmer. When testing parallel programs, it is possible to get ambiguous results. For example, this can happen when we optimize concatenation of float- or double-type data by means of For or ForEach methods of the Parallel class. Such behavior of a program makes you doubt about the thread safety of the written code. Such a conclusion can be incorrect and premature. The article reveals a possible reason for ambiguity of the results received by a parallel program and offers a concise solution of the question.
Gibadullin R.F. —
Thread-safe Control Calls in Enriched Client Applications
// Software systems and computational methods. – 2022. – ¹ 4.
– P. 1 - 19.
DOI: 10.7256/2454-0714.2022.4.39029
URL: https://en.e-notabene.ru/itmag/article_39029.html
Read the article
Abstract: When the first version of the .NET Framework was released, there was a pattern in enriched client applications that focused on message processing loops, where an embedded queue was used to pass execution units from worker threads. A generalized ISynchronizeInvoke solution was then developed in which the source thread could queue a delegate to the destination thread and, as an optional option, wait for that delegate to complete. After asynchronous page support was introduced into the ASP.NET architecture, the ISynchronizeInvoke pattern did not work because asynchronous ASP.NET pages are not mapped to a single thread. This was the reason for creating an even more generalized solution – SynchronizationContext, which is the subject of the research. The article uses practical examples to show how to update UI elements from worker threads without breaking thread-safety of the user application. Solutions proposed in this aspect are: using Beginlnvoke or Invoke methods to put this delegate into the UI thread message queue; capturing the UI thread synchronization context via the Current property of the SynchronizationContext class; using the deprecated BackgroundWorker class, which provides an implicit capture of the UI thread synchronization context. The peculiarity of implementation of the SynchronizationContext abstract class in ASP.NET platform is not left unnoticed. Practical recommendations on the use of marshalling mechanism on the example of development of multiclient chat with a centralized server are formulated.
Gibadullin R.F. —
Organization of secure data transmission in a sensor network based on AVR microcontrollers
// Cybernetics and programming. – 2018. – ¹ 6.
– P. 80 - 86.
DOI: 10.25136/2644-5522.2018.6.24048
URL: https://en.e-notabene.ru/kp/article_24048.html
Read the article
Abstract: The subject of the research is the implementation of the AES encryption algorithm based on AVR microcontrollers to provide secure data transmission in the sensor network. The sensor network is a network technique for the implementation of Ubiquitous computing environment. It is wireless network environment that consists of the many sensors of lightweight and low-power. Though sensor network provides various capabilities, it is unable to ensure the secure authentication between nodes. Eventually it causes the losing reliability of the entire network and many secure problems. Therefore, encryption algorithm for the implementation of reliable sensor network environments is required to the applicable sensor network. In this paper, the author proposes the solution of reliable sensor network to analyze the communication efficiency through measuring performance of AES encryption algorithm by plaintext size, and cost of operation per hop according to the network scale.