Buscar

Relatório sobre Benchmark-AD CLI

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE FEDERAL DO CEARÁ - ​CAMPUS ​QUIXADÁ 
PROGRAMA DE PÓS GRADUAÇÃO EM COMPUTAÇÃO - PCOMP 
Aluno: ​Lucas Ferreira Mendes 
Matrícula: ​503567 
Disciplina: ​Análise de Desempenho 
Trabalho 05: ​Relatório do Benchmark 
1 - Nome do Benchmark 
Benchmark-AD CLI: Benchmark em linha de comando para teste de desempenho de 
Processador, Memória Principal e Disco Rígido utilizando operações de Álgebra Linear em 
Matrizes. 
2 - Descrição 
O Benchmark-AD CLI é uma implementação de benchmark para análise de desempenho 
de sistemas computacionais com ambiente Linux. 
Desenvolvido para ambientes Linux, utilizando as linguagens: Python e Shell Script. 
Executa uma série de operações de Álgebra Linear com inteiro e ponto flutuante a fim de analisar 
o desempenho da CPU da máquina. Além disso, realiza testes de escrita e leitura no Disco Rígido 
e na memória principal. Ao final, exibe gráficos e relatórios de desempenho com auxílio das 
bibliotecas Pandas, Numpy e Matplotlib. 
3 - Arquitetura do Benchmark 
O programa desenvolvido e apresentado nesse relatório, pode ser representado em uma 
arquitetura constituída por três módulos que se comunicam: módulo principal, módulo de 
benchmark e módulo de relatório. Uma visão geral e detalhes sobre cada módulo são 
apresentados na Figura 1. 
 
Figura 1. ​Arquitetura do Benchmark-AD CLI 
 
 
4 - Detalhes do Código 
O programa foi desenvolvido em Shell Script e Python, possuindo seu código fonte 
disponível: ​https://github.com/lucasifce/benchmark-ad.git​. 
O módulo principal, ​benchmark-ad.sh​, de interação com o usuário é desenvolvido em 
Shell Script, possibilitando seu uso no terminal. O usuário deve passar dois parâmetros: Número 
de Testes e Nível da Carga de Trabalho. Após validar os parâmetros fornecidos pelo usuário, o 
módulo principal faz chamadas aos módulos de benchmark: ​benchmark-cpu.py, 
benchmark-mem.sh ​e ​benchmark-hd.sh. 
Os dados obtidos em cada teste são armazenados em arquivos ​.csv ​e lidos pelo módulo de 
geração de relatório e gráficos, ​resultado.py​, que utiliza as bibliotecas ​numpy​, ​pandas e 
matplotlib ​para tratamento e geração de gráficos e dados estatísticos. Uma visão sobre a 
estrutura de pastas e arquivos do projeto, pode ser visualizada na Figura 2. 
 
Figura 2. ​Estrutura de pastas e arquivos do programa. 
5 - Métricas e Cargas de Trabalho 
As métricas selecionadas para análise no benchmark desenvolvido, foram: 
● CPU:​ Tempo de execução de operações de álgebra linear com matrizes (em 
segundos). 
● Disco Rígido:​ Taxa de Leitura e Escrita de dados (em MB/s) 
● Memória Principal:​ Taxa de Leitura e Escrita de dados (em GB/s) 
 
As cargas de trabalho são divididas em três níveis como a seguir: 
● Baixo: 
○ Utiliza operações em matrizes 512x512 para teste de CPU. 
○ Utiliza 400 MB de dados para teste de HD. 
○ Utiliza 512 MB de dados para teste de Memória Principal. 
● Moderado: 
○ Utiliza operações em matrizes 1024x1024 para teste de CPU. 
○ Utiliza 800 MB de dados para teste de HD. 
○ Utiliza 1 GB de dados para teste de Memória Principal. 
https://github.com/lucasifce/benchmark-ad.git
 
 
 
● Alto: 
○ Utiliza operações em matrizes 2048x2048 para teste de CPU. 
○ Utiliza 1.6 GB de dados para teste de HD. 
○ Utiliza 2 GB de dados para teste de Memória Principal. 
6 - Manual de Instalação e Operação 
A instalação do programa desenvolvido é simples, sendo necessário somente baixar os 
arquivos na estrutura apresentada acima e tornar os scripts executáveis, caso não estejam. Após 
isso, o script ​benchmark-ad.sh [repeticoes] [nivel] na pasta principal deverá ser executado com 
permissões de super usuário usando o comando ​sudo ​antes da chamada ao script. 
O parâmetro ​[repeticoes] é um número inteiro que define a quantidade de repetições para 
os testes de desempenho. Já o parâmetro ​[nivel] é um número inteiro entre 1 e 3, que define o 
nível da carga de trabalho a ser aplicada aos testes (1 - Baixo, 2 - Moderado, 3 - Alto). 
Ao executar o script principal, automaticamente será feita a verificação das dependências 
necessárias, em caso de não encontrar os pacotes necessários o programa faz o download e 
instalação das dependências. São elas: 
● Gerenciador de Pacotes do Python 3: pip3; 
● Bibliotecas do Python: numpy, pandas e matplotlib; 
O único pré-requisito que se faz necessário à execução do benchmark é ter o Python 3 
instalado no computador. 
7 - Exemplos de Utilização 
Para um melhor entendimento da forma de utilização e do funcionamento do programa 
desenvolvido, é apresentado a seguir um exemplo de utilização aplicando 15 repetições e nível 
moderado da carga de trabalho. Dentro da pasta principal do benchmark o arquivo 
benchmark-ad.sh ​deverá ser chamado com privilégios de super usuário, passando os dois 
parâmetros necessários, como apresentado anteriormente. Abaixo é apresentado um exemplo de 
chamada ao script principal: 
➢ :$ sudo ./benchmark-ad.sh 15 2 
Após isso, será solicitado a senha do usuário e dado início ao processo de verificação e 
instalação de dependências, caso necessário. Vale ressaltar que há a necessidade de execução 
com privilégios de super usuário, pois o programa tenta fazer a instalação das dependências 
faltantes e utiliza escrita em disco e memória para os testes. Caso o comando não seja executado 
com o ​sudo​, essa permissão será solicitada no início da execução dos módulos de benchmark. 
Ao executar o script como mostrado acima, os módulos de benchmark serão executados 
com 15 repetições cada um, aplicando o nível moderado (2) de carga de trabalho e os dados 
captados serão armazenados em arquivos .csv na pasta ​“​resources/resultdos/​”​. 
O módulo de relatório, por sua vez, acessa os dados armazenados nestes arquivos e realiza 
os cálculos estatísticos básicos (média, variância e desvio padrão), bem como prepara os gráficos 
para a plotagem. Ao final, os gráficos são exibidos em uma janela de interface gráfica, como 
apresentado na Figura 3 e o relatório final com dados da máquina e do teste realizado é 
apresentado na saída padrão do sistema, como demonstrado nas Figuras 4 e 5. 
 
 
Figura 3. ​Resultados obtidos na execução do benchmark. 
 
 
Figura 4. ​Relatório da máquina onde foram realizados os testes. 
 
 
 
 
Figura 5. ​Relatório com dados estatísticos dos testes realizados pelo benchmark.

Continue navegando