E3S Web of Conferences (Jan 2023)

Integrating parallelism and asynchrony for high-performance software development

  • Zaripova Rimma,
  • Mentsiev Adam,
  • Perukhin Marat

DOI
https://doi.org/10.1051/e3sconf/202346004035
Journal volume & issue
Vol. 460
p. 04035

Abstract

Read online

This article delves into the crucial roles of parallelism and asynchrony in the development of high-performance software programs. It provides an insightful exploration into how these methodologies enhance computing systems' efficiency and performance. The discussion begins with an overview of high-performance programs and their importance in modern computing, followed by a detailed analysis of parallelism, including its hardware and software aspects, various programming models, and diverse applications in fields like computational tasks, data processing, and machine learning. The article then shifts focus to asynchrony, elaborating on its implementation through callback functions, promises, and the async/await syntax. It highlights the significant benefits of asynchrony in improving program responsiveness and efficiency, especially in I/O-bound and network-intensive operations. A critical section of the article examines the combined application of parallelism and asynchrony in different domains, notably in Graphics Processing Unit (GPU) computations, distributed systems, and web development. This combination is shown to be particularly effective in handling Big Data, where rapid and efficient data processing is essential. The article concludes by emphasizing the indispensable nature of these approaches in modern software development. Parallelism and asynchrony are not merely performance enhancement tools but are fundamental in building innovative, resilient, and scalable software solutions. This comprehensive exploration underscores the ongoing relevance of these methodologies and their potential to drive further advancements in the field of high-performance computing.