Continuamos a falar sobre ferramentas para avaliar o desempenho da CPU em máquinas Linux. Hoje no material: temci, uarch-bench, likwid, perf-tools e llvm-mca.
Mais referências: 
 Fotos - Lukas Blazek - Unsplash
 Fotos - Lukas Blazek - Unsplash
Esta é uma ferramenta para estimar o tempo de execução de dois programas. De fato, permite comparar o tempo de execução de dois aplicativos. O utilitário foi escrito por um estudante da Alemanha, Johannes Bechberger, que o desenvolveu como parte de seu trabalho de graduação em 2016. Hoje, a ferramenta 
está licenciada sob a GNU General Public License.
Johannes queria criar uma ferramenta que medisse o desempenho de um sistema de computação em um ambiente controlado. Portanto, um dos principais recursos do temci é a capacidade de configurar um ambiente de teste. Por exemplo, 
você pode : alterar as configurações do gerenciador de controle de frequência da CPU, desativar o 
hyperthreading e os caches L1 e L2, desativar o modo turbo nos processadores Intel e outros.Para comparação, o temci usa as 
ferramentas de tempo , 
perf_stat e 
getrusage .
É assim que o utilitário funciona no primeiro caso:
Com base nos resultados do benchmarking, o sistema gera um 
relatório conveniente com diagramas, tabelas e gráficos, que distingue o temci de soluções semelhantes.
Das deficiências de temci se destaca sua "juventude". Por esse motivo, ele 
não suporta todas as configurações de hardware e software. Por exemplo, é difícil executar no macOS e algumas funções não estão disponíveis em um sistema com um processador ARM. A situação pode mudar no futuro, à medida que o autor estiver desenvolvendo ativamente o projeto, e o número de estrelas no GitHub está aumentando gradualmente - há pouco tempo, o temci foi 
discutido nos comentários do Hacker News.
Utilitário para avaliar o desempenho de funções de CPU de baixo nível, desenvolvido pelo engenheiro Travis Downs ( 
Travis Downs ). Recentemente, ele está executando seu blog 
Performance Matters no GitHub Pages, que fala sobre ferramentas de benchmarking e outras coisas relacionadas. Em geral, o uarch-bench está apenas começando a ganhar popularidade, mas já é frequentemente 
mencionado pelos residentes do Hacker News em tópicos temáticos como uma ferramenta de benchmarking.
O Uarch-bench permite avaliar o desempenho da memória, a velocidade do carregamento paralelo de dados e trabalhar na limpeza dos registros YMM . A aparência dos resultados de benchmarking gerados pelo programa pode ser encontrada no repositório oficial na parte inferior da página.
Deve-se observar que o uarch-bench, como o temci, 
desativa a função Intel Turbo Boost (aumenta automaticamente a velocidade do clock do processador sob carga) para que os resultados do teste sejam consistentes.
Até o momento, o projeto está nos estágios iniciais de desenvolvimento, de modo que o banco de dados não possui documentação detalhada e pode haver bugs em seu trabalho - por exemplo, são 
conhecidas dificuldades em executar o Ryzen. Apenas benchmarks para arquiteturas x86 também são suportados. O autor promete adicionar mais funcionalidades no futuro e convida para participar do desenvolvimento.
Este é um kit de ferramentas para avaliar o desempenho de máquinas Linux com processadores Intel, AMD e ARMv8. Foi criado sob os auspícios do Ministério Federal da Educação e Pesquisa da Alemanha em 2017 e transferido para código aberto.
Entre as ferramentas likwid, o likwid-powermeter pode ser diferenciado, o que exibe informações dos registros RAPL sobre a energia consumida pelo sistema, bem como o likwid-setFrequencies - permite controlar a frequência do processador. Você pode 
encontrar a lista completa 
no repositório .
A ferramenta é usada por engenheiros envolvidos em pesquisas no campo da HPC. Por exemplo, um grupo de especialistas do Centro Regional de Computação da Universidade de Erlangen-Nuremberg (RRZE) na Alemanha 
trabalha com likwid. Ela está ativamente envolvida no desenvolvimento desse conjunto de ferramentas.
 Fotos - Clem Onojeghuo - Unsplash
Fotos - Clem Onojeghuo - Unsplash
Essa ferramenta para analisar o desempenho dos servidores Linux foi 
introduzida por Brendan Gregg. Ele é um dos desenvolvedores do 
DTrace , uma estrutura de rastreamento dinâmico para depuração de aplicativos em tempo real.
As ferramentas perf são baseadas nos subsistemas do kernel perf_events e ftrace. Seus utilitários permitem analisar o atraso de entrada / saída (iosnoop), rastrear os argumentos para acessar as chamadas do sistema (incontagem, funcslower, funcgraph e functrace) e coletar estatísticas sobre "acertos" no cache de arquivos (cachestat). No último caso, o comando se parece com isso:
 
Uma comunidade bastante grande se formou em torno da ferramenta ( 
quase 6 mil estrelas no GitHub ). E há empresas que usam ativamente ferramentas de perf, como a 
Netflix . Mas a ferramenta está sendo finalizada e modificada (embora as atualizações tenham sido lançadas muito raramente ultimamente). Portanto, erros podem ocorrer em seu trabalho - o autor escreve que às vezes o perf-tools chama kernel panic.
Um utilitário que prevê quantos recursos de computação um código de máquina precisará em diferentes CPUs. Ele 
avalia as instruções por ciclo ( 
IPC ) e a carga de hardware que um aplicativo gera.
O llvm-mca foi introduzido em 2018 como parte do projeto 
LLVM , que está desenvolvendo um sistema universal para análise, transformação e otimização de programas. Sabe-se que os autores do llvm-mca foram inspirados pela solução de análise de desempenho de software 
Intel IACA e procuraram criar uma alternativa a ela. E, de acordo com os usuários, a saída da ferramenta (sua marcação e número) realmente se assemelha à IACA - um exemplo 
pode ser encontrado aqui . No entanto, o llvm-mca aceita apenas a 
sintaxe da AT&T ; portanto, você provavelmente precisará usar conversores para trabalhar com ele.
Sobre o que escrevemos em nossos blogs e redes sociais: 
 "Mat. Modelo de Wall Street "ou como otimizar os custos da nuvem
 "Mat. Modelo de Wall Street "ou como otimizar os custos da nuvem 
 Protegendo seu sistema Linux: 10 dicas
 Protegendo seu sistema Linux: 10 dicas 
 Minimização de riscos: como não perder seus dados
 Minimização de riscos: como não perder seus dados 
 Livros para quem já está envolvido na administração do sistema ou planeja começar
 Livros para quem já está envolvido na administração do sistema ou planeja começar 
 Seleção: cinco livros e um curso em redes
 Seleção: cinco livros e um curso em redes

 Em 1cloud.ru, oferecemos um serviço gratuito de " 
hospedagem DNS ". Você pode gerenciar seus registros DNS em uma única conta pessoal.