
Matheus Da Silva SerpaUniversidade Federal do Rio Grande do Sul | UFRGS · Departamento de Informática Aplicada
Matheus Da Silva Serpa
PhD candidate
About
79
Publications
7,205
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
83
Citations
Citations since 2017
Introduction
Parallel applications running on Simultaneous Multithreading (SMT) processors compete for execution units. The problem gets worse when threads execute similar instructions such as branch, floating-point, integer, load, and store. In this case, the same kind of instruction is dispatched for execution, which can lead to sequential execution due to the contention of execution units, resulting in a performance loss. We are working on mitigating execution unit contention.
Additional affiliations
March 2016 - April 2020
August 2013 - December 2015
Education
August 2018 - August 2022
March 2016 - August 2018
March 2012 - December 2015
Publications
Publications (79)
Many software mechanisms for geophysics exploration in Oil & Gas industries are based on wave propagation simulation. To perform such simulations, state-of-art HPC architectures are employed, generating results faster and with more accuracy at each generation. The software must evolve to support the new features of each design to keep performance s...
Driven by the development of new technologies such as personal assistants or autonomous cars, machine learning has rapidly become one of the most active fields in computer science. The algorithms at the core of machine learning are notoriously demanding in terms of resources. It is therefore of paramount importance to optimize their operation on mo...
Currently NVIDIA GPUs and Intel Xeon Phi accelerators are alternatives of computational architectures to provide high performance. This chapter investigates the performance impact of these architectures on the lattice Boltzmann method. This method is an alternative to simulate fluid flows iteratively using discrete representations. It can be adopte...
A massive amount of data is generated on the Internet through websites, blogs, and social networks, with all kinds of content, including comments about companies and their products. Sentiment analysis (SA) is the interpretation of emotions in texts. It is essential for different companies as it helps identify customer’s opinions. It is also benefic...
The increasing number of cores in multicore architectures has brought the need for better use of hardware resources. Consequently, different solutions have become widely adopted to optimize the execution of parallel applications: dynamic concurrency throttling (DCT) and turbo-boosting. While DCT artificially reduces the number of active threads to...
Parallel applications running on simultaneous multithreading (SMT) processors naturally compete for execution units when their threads are mapped to the same core. This issue is further aggravated when such threads execute similar instructions that stress the same execution unit type, making their execution to behave very similarly as if the thread...
I/O operations are a bottleneck for numerous applications, so optimizing the performance of these operations is of paramount importance. Many techniques explore and apply optimizations to different layers of the I/O stack to improve performance. The difficulty that arises is that the workload changes constantly. So detecting access patterns correct...
Thread-level parallelism (TLP) has been widely exploited to optimize computational resource usage in high-performance systems. However, as many applications do not scale as the number of threads increase, resources will be wasted when the application executes with the maximum possible number of threads (i.e., the default execution) rather than fewe...
O Processamento de Alto Desempenho, High Performance Computing - HPC, vem crescendo de importância nos últimos anos com a necessidade de grande poder de processamento para gerenciar sistemas Big Data, assim como para treinamento e uso de algoritmos para Inteligência Artificial, entre outras demandas. Neste artigo é feita uma análise dos principais...
During the coronavirus disease 2019 (COVID-19) pandemic, many countries opted for strict public health measures, including closing schools. After some time, they have started relaxing some of those restrictions. To avoid overwhelming health systems, predictions for the number of new COVID-19 cases need to be considered when choosing a school reopen...
Avalia-se nesse trabalho a utilização de técnicas de otimização clássicas na nova arquitetura NEC SX-Aurora. Utilizou-se como estudo de caso o benchmark NAS e uma aplicação real de migração sísmica, utilizada pela indústria de petróleo e gás. Os resultados experimentais finais mostram a melhora no desempenho, em FLOPS, utilizando as técnicas de otim...
With the increasing number of cores in modern
systems, dynamic concurrency throttling (DCT) and turbo-boosting techniques are becoming a solution to better use the
hardware resources. While DCT techniques tune the number
of running threads, boosting techniques speed up sequential
phases or unbalanced threads. However, as each region of an
applicati...
Machine Learning (ML) algorithms are increasingly being used in various scientific and industrial problems, with the time of execution of these algorithms as an important concern. In this work, we explore mappings of threads in multi-core architectures and their impact on new ML algorithms running with Python and TensorFlow. Using smart thread mapp...
Reverse time migration (RTM) simulation is the basis of the seismic imaging tools used by the oil and gas industry. Developers have been porting their simulations to the new high‐performance computing architectures, providing faster and more accurate results at each new generation. However, several challenges arrive when trying to achieve high perf...
The demand for computing power, along with the diversity of computational problems, culminated in a variety of heterogeneous architectures. Among them, hybrid architectures combine different specialized hardware into a single chip, comprising a System-on-Chip (SoC). Since these architectures usually have limited resources, efficiently splitting dat...
Memory prefetcher algorithms are widely used in processors to mitigate the performance gap between the processors and the memory subsystem. The complexities behind the architectures and prefetcher algorithms, however, not only hinder the development of accurate architecture simulators, but also hinder understanding the prefetcher's contribution to...
Aplicações paralelas executadas em processadores SMT (Simultaneous Multithreading) competem por unidades de execução. O problema fica ainda pior, quando as threads executam instruções semelhantes, como por exemplo de ponto flutuante, inteiro, load e store. Nesses casos, o mesmo tipo de instrução é despachado para execução, o que leva a perdas de dese...
Diversos problemas da área de processamento de imagens demandam um alto esforço computacional, como, por exemplo, os métodos de inpainting baseados na replicação de patches. Estes métodos viabilizam a solução de problemas reais, como a reconstrução de regiões sem conteúdo em imagens. Portanto, eles podem se beneficiar da exploração do paralelismo no...
Aceleradores vetoriais, por conta do modo que foram projetados, favorecem a execução de um mesmo conjunto de instruções sobre múltiplos dados, aumentando o desempenho de aplicações reais, como previsão do tempo e prospecção de petróleo. Neste trabalho, avaliamos o desempenho de aplicações paralelas executadas na arquitetura NEC SX-Aurora. Para tant...
During the COVID-19 pandemic, many countries opted for strict public health measures, including closing schools. They have now started relaxing some of those restrictions. To avoid overwhelming health systems, predictions for the number of new COVID-19 cases need to be considered when choosing a school reopening strategy. Using computer simulation,...
Since the demand for computing power increases, new architectures emerged to obtain better performance. Reducing the power and energy consumption of these architectures is one of the main challenges to achieving high-performance computing. Current research trends aim at developing new software and hardware techniques to achieve the best performance...
No contexto dos sistemas de saúde, a prevenção é uma das maneiras mais eficazes evitar a progressão de doenças. Muitas delas podem ser tratadas quando diagnosticadas em estágio inicial. A demanda por exames preventivos está aumentando e não consegue-se atender essa demanda com eficiência pelos médicos sobrecarregados. Portanto, existe a necessidade...
Nas aplicações de HPC operações de E/S são gargalos devido a diferença entre velocidade de processamento e de acesso a um dado. Assim, caracterizar as operações pode auxiliar na busca de desempenho. Deste modo, este trabalho propõe uma abordagem com aprendizado não supervisionado para a caracterização de E/S. Utilizando dados do supercomputador Int...
Algoritmos de Aprendizado de Máquina (ML) são cada vez mais utilizados em diversos problemas científicos e industriais, tendo como uma preocupação importante o tempo de execução destes algoritmos. Neste trabalho exploramos mapeamentos de threads e dados e o impacto em novos algoritmos de ML. Resultados experimentos mostraram que os algoritmos SRCNN...
O Método Fletcher é a base das ferramentas de simulação de extração de Petróleo utilizadas pela indústria. Para realizar tais simulações, arquiteturas paralelas são utilizadas, fornecendo resultados mais rápido e com maior precisão. Entretanto, para atingir alto desempenho nessas arquiteturas, vários desafios devem ser levados em consideração. Nest...
Parallel applications executing in contemporary heterogeneous clusters are complex to code and optimize. The task‐based programming model is an alternative to handle the coding complexity. This model consists of splitting the problem domain into tasks with dependencies through a directed acyclic graph, and submit the set of tasks to a runtime sched...
Oil and gas have been among the most important commodities for over a century. To improve their extraction, companies invest in new technology, which reduces extraction cost and allow new areas to be explored. Computing science has also been employed to support advances in oil and gas extraction technologies. Techniques such as computing simulation...
The Network Search method is not yet widely used in computational simulations due to its high processing time in the solutions’ calculation. In this sense, this paper seeks to analyze the gains achieved with the parallel implementation of the Network Search method algorithm for shared memory systems. The results achieved with the parallel implement...
Em arquitetura de computadores, o uso de simuladores é predominante em todos os grupos de pesquisa, com uma ampla variedade de abordagens e implementações.No entanto, falta na literatura uma análise detalhada de simuladores de arquiteturas paralelas que suportem workloads de Computação de Alto Desempenho (High Performance Computing - HPC). Este tra...
A simulação da propagação de ondas acústicas é a base das ferramentas de imagem sı́smica utilizadas pela indústria de petróleo e gás. Para realizar tais simulações, arquiteturas de CAD são empregadas, fornecendo resultados mais rápidos e com maior precisão a cada geração de processadores. Entretanto, para atingir alto desempenho nessas arquiteturas...
No runtime StarPU e no pacote QR_mumps, existem parâmetros que podem alterar o desempenho da aplicação. Neste trabalho, são selecionados um conjunto de parâmetros de configuração de ambos os pacotes para conduzir uma análise de desempenho. A análise é dividida em duas etapas, identificado os parâmetros com maior impacto e analisado os valores para...
Operações de leitura e escrita limitam o desempenho do algoritmo Reverse Time Migration (RTM). Desta forma, otimizar estas operações de E/S permite que simulações de maior escala sejam executadas em ambientes com recursos limitados. Os resultados preliminares mostram que a utilização de checkpoints e o aumento do tamanho da requisição reduzem o tem...
Entre os requisitos para atingir alto desempenho em arquiteturas atuais, o uso eficiente do subsistema de memória aparece no estado da arte como um dos mais importantes. Para otimizar uma aplicação científica, os desenvolvedores devem compreender profundamente o comportamento de seus acessos à memória. Nessa linha, nossa pesquisa tem como objetivo...
Energy and performance of parallel systems are an increasing concern for new large-scale systems. Research has been developed in response to this challenge aiming the manufacture of more energy efficient systems. In this context, this paper proposes optimization methods to accelerate performance and increase energy efficiency of geophysics applicat...
Nowadays, there are several different architectures available not only for the industry, but also for normal consumers. Traditional multicore processors, GPUs, accelerators such as the Sunway SW26010, or even energy efficiency-driven processors such as the ARM family, present very different architectural characteristics. This wide range of characte...
Muitos mecanismos de software para exploração de geofísica nas indústrias de petróleo e gás são baseados na simulação. Para executar tais simulações, arquiteturas HPC de última geração são utilizadas, gerando resultados mais rápidos a cada geração. Por conseguinte, é de suma importância otimizar a sua operação em processadores modernos. Neste artig...
Em sistemas HPC, diversas aplicações demandam grande capacidade computacional. Essas aplicações geralmente utilizam um grande volume de entrada e saída, sendo esse um grande gargalo de desempenho. Com isso esse trabalho analisa e propõem otimizações para as operações de E/S de uma aplicação geofísica que utiliza a algoritmo RTM disponibilizada pela...
Energy and performance of parallel systems are an increasing concern for new large-scale systems. Research has been developed in response to this challenge aiming the manufacture of more energy efficient systems. In this context, this paper proposes optimization methods to accelerate performance and increase energy efficiency of geophysics applicat...
Stencil computations are commons in High Performance Computing (HPC) applications, they consist in a pattern that replicates the same calculation in a data domain. The Finite Difference Method is an example of stencil computations and it is used to solve real problems in diverse areas related to Partial Differential Equations (electromagnetics, flu...
Energy and performance of parallel systems are an increasing concern for new large-scale systems. Research has been developed in response to this challenge aiming the manufacture of more energy efficient systems. In this context, we improved the performance and achieved energy efficiency by the development of three different strategies which use th...
Fast and accurate seismic processing workflow is a critical component for oil and gas exploration. In order to understand complex geological structures, the numerical kernels used mainly arise from the discretization of Partial Differential Equations (PDEs) and High Performance Computing methods play a major in seismic imaging. This leads to contin...
Impulsionada pelo desenvolvimento de novas tecnologias, como carros autônomos, o aprendizado de máquina tornou-se rapidamente um dos campos mais ativos da ciência da computação. Neste artigo, nos concentramos no mapeamento de threads e dados para o Intel Xeon Phi Knights Landing. Estudamos o impacto das estratégias de mapeamento, revelando que, com...
A indústria energética recorre a aplicações de simulação que são normalmente implementadas em CUDA ou OpenMP, o que reduz a portabilidade do programa e prende a empresa a um fabricante específico de hardware. Neste trabalho é apresentada uma implementação no padrão aberto OpenCL de um software de simulação geofísica que apresenta desempenho compará...
Tradicionalmente, o aumento de desempenho das aplicações se dava de forma transparente aos programadores devido ao aumento do paralelismo a nível de instruções e aumento de frequência dos processadores. Entretanto, este modelo não se sustenta mais. Para se ganhar desempenho nas arquiteturas modernas, são necessários conhecimentos sobre programação...
Many software mechanisms for geophysics exploration in Oil & Gas industries are based on wave propagation simulation. To perform such simulations, state-of-art HPC architectures are employed, generating results faster and with more accuracy at each generation. The software must evolve to support the new features of each design to keep performance s...
Fast and accurate seismic processing workflow is a critical component for oil and gas exploration. In order to understand complex geological structures, the numerical kernels used mainly arise from the discretization of Partial Differential Equations (PDEs) and High Perfor- mance Computing methods play a major in seismic imaging. This leads to cont...
The popularity of machine learning algorithms is growing together with their data sets, and so is the need to find ways to accelerate them. Data and Thread mapping is an useful technique to improve performance in those applications. Placing threads that communicate more with each other closer in the memory hierarchy can be beneficial to performance...
Energy and performance of parallel systems are an increasing concern for new large-scale systems. Research has been developed in response to this challenge aim the manufacture of more energy-efficient systems. In this context, this paper proposes to accelerate performance and increase the energy efficiency of stencil application by optimizing the u...
This paper evaluates the behavior of the Microsoft Azure G5 cloud instance type over multiple Data Centers. The purpose is to identify if there are major differences between them and to help the users choose the best option for their needs. Our results show that there are differences in the network level for the same instance type in different loca...
Métodos numéricos são utilizados em diversas áreas de pesquisa, podendo ser aplicados em simulações de fenômenos naturais. Tais simulações demandam recursos computacionais, o que aumenta o tempo de processamento, sendo necessário reduzi-lo para prover resultados precisos em curto prazo. O objetivo deste trabalho é avaliar o impacto das técnicas de...
O processo de ablação por radiofrequência é uma forma de tratamento de hepatocarcinoma que vem sendo gradativamente mais utilizado. Para a simulação deste procedimento foi desenvolvido um programa, RAFEM, que utiliza a modelagem através do método de elementos finitos. Uma desvantagem presente na simulação de ablação por radiofrequência com este pro...
The variety of architectures and types of parallel applications impose a big challenge on developers. The same application can have a good performance when running on one architecture, but a bad performance on another architecture. In most situations, adapting the source code to the architecture is enough to fix such problems, although it is time c...
Simulações numéricas auxiliam no avanço da Ciência e exigem cada vez mais recursos computacionais. Quanto maior a resolução de um modelo, mais preciso e custoso serão suas previsões. Nesse contexto, analisamos o desempenho de aplicações desenvolvidas para processadores e aceleradores. Nossos experimentos mostram que em aplicações com pouca comunica...
An alternative to accelerate the performance of a varity of algorithms consists in a concurrent execution of the code. The Intel Xeon Phi is a new way to fulfill these requirements and could be programmed with standard techniques like Intel Cilk Plus, OpenMP, POSIX Threads and MPI. Other approach frequently in HPC is GPU Computing with OpenCL and C...
A computação em GPUs surge como alternativa para acelerar o desempenho de uma variedade de algoritmos. Nessa arquitetura a dimensão dos blocos de threads impacta diretamente no ganho de desempenho. Nossos experimentos mostraram que blocos entre 64 e 96 obtêm até o dobro de desempenho em relação a blocos maiores que otimizam a ocupação da GPU. Os me...
Através do estudo das propriedades dos líquidos e gases é possível determinar diferentes tipos de fenômenos físicos, tais como: simulação de furacões, previsão de tempo, aerodinâmica e gerenciamento térmico. A evolução dos sistemas computacionais tornou possível resolver estes problemas de forma eficiente através de novas técnicas de simulação. Com...
paralela do código. Para isso é necessário reescrevê-lo de forma a expressar o paralelismo. O Intel Xeon Phi é uma nova maneira de atender a esses requisitos e pode ser programado com técnicas convencionais de programação paralela. Neste artigo nós avaliamos o desempenho do coprocessador Intel Xeon Phi, a primeira versão da arquitetura Many Integra...
O framework CUDA tira proveito da arquitetura multithreaded das GPUs. No intuito de avaliar essa arquitetura, o objetivo do trabalho é avaliar o desempenho de diversas configurações de GPUs para dinâmica dos fluidos. Para tanto, utilizou-se do Método de Lattice Boltzmann, para simulação de escoamento de fluidos. As execuções mostraram que é possíve...
Em diversas áreas da Computação Científica existem algoritmos que demandam um elevado custo com-putacional. Uma alternativa para acelerar a execução destes algoritmos consiste na execução concorrente do código. Usando diferentes interfaces de programação paralela, é possível comparar e analisar um modo de se obter o melhor aproveitamento do hardwar...
In a wide variety of fields in Scientific Computing there is algorithms which demands a hight computational costs. An alternative to accelerate the performance of these algorithms consists in a concurrent execution of the code. An important aspect to consider is the way how the tasks are distributed. In the case of OpenMP parallel programming inter...
Questions
Question (1)
Now, I manually calculating by
- BW = (RB + WB) / (t * 10^9)
- GFLOP/s = 2N / (t * 10^9)
according to nVidia blog.
Sometimes I use nvprof for CUDA profiling, but for other parallel programming interface (like Cilk, OpenMP, etc) I don't know any profiling.
Projects
Projects (3)
Intel Modern Code is an initiative to spread knowledge on how to design and optimize software through the use of parallelism, aiming to exploit the full potential of computers and supercomputers. This community is made up of experts who provide libraries, support and training in modern code techniques. The GPPD (Parallel and Distributed Processing Group), the Institute of Informatics at UFRGS, joined the modern source community as an Intel Partner Modern Code (MCP) in August 2016 to offer courses and training.