Modelo unificado de padrões paralelos elásticos para implementação de aplicações - Andrade, Cristiane de (2023)
Currently, all computers feature some level of usable parallelism. Modern systems are explicitly equipped with hardware support for this functionality, including multiple nodes, cores, CPUs, and accelerators. However, software development for parallel computers is challenging due to the variety of considerations programmers must address during the creation process. In addition to hardware-related challenges, the dynamic nature of applications, subject to unexpected load variations, is common in the context of High Performance Computing (HPC). In this regard, parallel patterns have been proposed to mitigate some complexities. Nevertheless, there is a notable absence of standards addressing the design and construction of elastic applications. Thus, this work aims to expand upon existing standards in the literature by proposing a model for application development and patterns that incorporate support for elasticity. The objective is to assist the developer in all phases of designing and implementing parallel applications. Additionally, the work encompasses a review of some frameworks that can be employed to implement elastic applications. Finally, this work demonstrates the application of this model and the proposed elastic patterns in defining the architecture of applications used in HPC. This study advances towards a programming mindset that recognizes the importance of dealing with different offerings and variations of hardware and software, a crucial aspect for the next generation of HPC applications.