Avaliação de desempenho de uma plataforma de componentes paralelos - Rezende, Cenez Araújo de (2011)
In order to deal with programming-in-the-large requirements in emerging applications of High Performance Computing (HPC), it is still necessary the development of new software development tools for reconciling high level of abstraction, expressiveness and high performance. The technologies behind CBHPC (Component-Based High Performance Computing) target these requirements, looking for reuse of software parts, interoperability across execution platforms, high development productivity and easy maintenance. However, to reconcile high level of abstraction, high performance and high expressiveness for parallel programming models and patterns when building HPC applications is not trivial. For this reason, most of the current technologies fail in this context, since they adopt the traditional process-oriented perspective in the architecture of parallel programs. The HPE platform (Hash Programming Environment) sits on top of the Hash component model to support general forms of parallelism, by combining high expressiveness with high level of abstraction. The Hash component model proposes a concern-oriented perspective to parallel programming, in alternative to the traditional process-oriented approach. In this context, this dissertation is about the efficacy and efficiency of HPE for HPC applications, also validating some of its parallel programming techniques based on components. For that, a set of programs from NPB (NAS Parallel Benchmarks), a widely disseminated collection of benchmarks for evaluating the performance of parallel computing platforms, written in Fortran, C and Java, have been refactored into components aimed at the HPE platform. In such refactoring, the original structure of the benchmarks has been preserved, with minimal changes in the code that declare and initialize data structures, as well as those that describe computations and communication patterns. Using the component-based versions of the benchmarks, a systematic performance evaluation has been performed for quantifying the overheads caused strictly by the component-based structure.