Published February 28, 2013 | Version v1
Working paper Open

Analysis and Optimization of a Hybrid Linear Equation Solver using Task-Based Parallel Programming Models

Creators

  • 1. BSC, Barcelona Supercomputing Center, Jordi Girona, 29, Barcelona, 08034, Spain

Description

This paper describes a methodology and tools to analyze and optimize the performance of task-based parallel applications. For illustrative purposes, a cutting-edge implementation of the Jacobi method aimed to address software challenges at exascale computers is evaluated. Specifically, the analysis was carried out on synchronous and asynchronous task-based implementations of the Jacobi method. The methodology consists of three basic steps: (i) performance analysis; (ii) prediction; and (iii) implementation. First, by instrumenting and tracing an application a general overview of its behavior can be obtained. The Paraver visualization tool enables the identification of performance bottlenecks or scalability problems. Secondly, with the help of prediction tools, such as Tareador and Dimemas, the inherent parallelism of the application is evaluated. Finally, the code is refactored to solve potential inefficiencies that prevent it to achieve higher performance. This final step is accomplished by using the OmpSs task-based parallel programming language. Results reported from using the methodology highlighted performance issues regarding to memory access, synchronization among the threads, and processors with long waiting periods. Additionally, the OmpSs implementation enabled the parallel execution of core functions of the application inside each thread, therefore obtaining a greater utilization of the computational resources.

Files

Analysis_and_optimization_of_hybrid_linear_equations_solver_using_task-based_parallel_prog.pdf