Ambiguous Results when Using Parallel Class Methods within the .NET Framework

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.

References

  1. X. Fan, R. -a. Wu, P. Chen, Z. Ning and J. Li, "Parallel Computing of Large Eigenvalue Problems for Engineering Structures," 2011 International Conference on Future Computer Sciences and Application, Hong Kong, China, 2011, pp. 43-46, doi: 10.1109/ICFCSA.2011.16.
  2. Xuehui Chen, Liang Wei, Jizhe Sui, Xiaoliang Zhang and Liancun Zheng, "Solving fractional partial differential equations in fluid mechanics by generalized differential transform method," 2011 International Conference on Multimedia Technology, Hangzhou, 2011, pp. 2573-2576, doi: 10.1109/ICMT.2011.6002361.
  3. R. Landau, "Computational Physics: A Better Model for Physics Education?," in Computing in Science & Engineering, vol. 8, no. 5, pp. 22-30, Sept.-Oct. 2006, doi: 10.1109/MCSE.2006.85.
  4. H. Ali, A. Doucet and D. I. Amshah, "GSR: A New Genetic Algorithm for Improving Source and Channel Estimates," in IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 54, no. 5, pp. 1088-1098, May 2007, doi: 10.1109/TCSI.2007.893507.
  5. D. -M. Zhu, J. -w. Gu, F. -H. Yu, W. -K. Ching and T. -K. Siu, "How correlation risk in basket credit derivatives might be priced and managed?," in IMA Journal of Management Mathematics, vol. 32, no. 2, pp. 195-219, April 2020, doi: 10.1093/imaman/dpaa013.
  6. J. Xu and Y. Shi, "Financial Leasing, Optimal Financial Structure and Economic Growth: An Analysis Based on Financial Inclusion Perspective," 2019 International Conference on Economic Management and Model Engineering (ICEMME), Malacca, Malaysia, 2019, pp. 147-150, doi: 10.1109/ICEMME49371.2019.00038.
  7. S. N. Cherny and R. F. Gibadullin, "The Recognition of Handwritten Digits Using Neural Network Technology," 2022 International Conference on Industrial Engineering, Applications and Manufacturing (ICIEAM), Sochi, Russian Federation, 2022, pp. 965-970, doi: 10.1109/ICIEAM54945.2022.9787104.
  8. Albahari, Joseph. C# 10 in a Nutshell. " O'Reilly Media, Inc.", 2022.
  9. Гибадуллин Р.Ф. Потокобезопасные вызовы элементов управления в обогащенных клиентских приложениях // Программные системы и вычислительные методы. – 2022. – № 4. – С. 1-19.
  10. Rump, S.M. Fast and Parallel Interval Arithmetic. BIT Numerical Mathematics 39, 534–554 (1999). https://doi.org/10.1023/A:1022374804152.

Supplementary files

Supplementary Files
Action
1. JATS XML

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».