Combinando modelos de predição e técnicas de visualização para melhorar a análise de desempenho de aplicações baseadas em tarefas irregulares

Abstract

Parallel application performance analysis is an essential and a continuous step towards understanding and optimizing any high-performance program. Nowadays, ubiquitous and complex heterogeneous architectures turn this job even more burdensome. While paradigms like task-based ease programming through its abstractions and its runtime system, the analysis of such applications demand attention because of its specific view of the applications. Likewise, the analysis of irregular applications built upon specific data structures need to consider its abstractions and behavior to improve and facilitate an analyst’s work. Thus, the current work proposes strategies to enhance the performance analysis of irregular task-based applications and propose application-centric visualization panels to represent performance according to the elimination tree structure, the foundation of many direct sparse factorization methods. The strategies rely on tracing information for collecting task performance data. Since task-based applications can create many tasks and huge trace files, the proposed automatic mechanism for anomalous task classification based on regression models allows highlighting specific groups of problematic tasks and guiding the analysis process. The visualization techniques represent the tree structure and describe application-specific concepts like tree and node parallelism, child and parent dependencies, and communications. Those strategies are applied to the qr_mumps sparse task-based solver in an extensive set of experiments. The anomalous detection mechanism exposed four different task anomaly sources, guiding a solution that improved performance by up to 24% by reducing task interference. The elimination tree visualization panels allowed detailed comparisons between different application and runtime configurations, revealing other sources of inefficiency. The experiments also involved testing the qr_mumps application in a real computational simulation application, where it presented better performance than other parallel solvers. The results demonstrate the usefulness of the proposed strategies to guide the performance analysis of irregular task-based applications and enhance the performance representation of elimination-tree based applications.A análise de desempenho de aplicações paralelas trata-se de uma etapa essencial e contínua para entender e otimizar aplicações de alto desempenho. Arquiteturas heterogêneas hoje estão onipresentes e tornam esse trabalho ainda mais oneroso. Enquanto paradigmas como a programação baseada em tarefas facilitam o desenvolvimento por meio de abstrações e o sistema de runtime, sua análise exige mais atenção devido a sua visão específica da aplicação. Da mesma forma, análises de aplicações irregulares e construídas sobre estruturas de dados específicas precisam considerar tais características para facilitar o trabalho de analistas. Assim, este trabalho propõe estratégias para aprimorar a análise de desempenho de aplicações baseadas em tarefas irregulares usando painéis de visualização específicos, representando o desempenho de acordo com a estrutura da árvore de eliminação, alicerce de muitos métodos de fatoração esparsa direta. As estratégias utilizam informações de rastreamento para coletar dados de desempenho de tarefas. Como aplicações baseadas em tarefas podem gerar grandes arquivos de rastreamento, é proposto um mecanismo para classificação de tarefas anômalas com base em modelos de regressão que permite destacar tarefas problemáticas automaticamente, direcionando a análise. As técnicas de visualização representam a estrutura da árvore e comportamentos específicos da aplicação, como o paralelismo da árvore e dos nós, dependências entre nós filhos e pais, e comunicações. Essas estratégias são aplicadas ao solver esparso baseado em tarefas qr_mumps em um conjunto de experimentos. Os modelos de regressão expuseram quatro fontes de anomalias, guiando uma solução que melhorou o desempenho em até 24% ao reduzir a interferência entre tarefas. Os painéis de visualização da árvore de eliminação permitiram comparações detalhadas entre diferentes configurações da aplicação e runtime, revelando outras fontes de ineficiência. Também usamos o qr_mumps em uma aplicação de simulação computacional, onde ele apresentou melhor desempenho do que outros solvers paralelos. O estudo demonstrou a utilidade das técnicas propostas para guiar a análise de desempenho de aplicações baseadas em tarefas irregulares e melhorar a representação do desempenho de aplicações construídas sobre árvores de eliminação

    Similar works

    Full text

    thumbnail-image

    Available Versions