Your SlideShare is downloading. ×
Analise de desempenho_compactadores_asti_2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Analise de desempenho_compactadores_asti_2011

138
views

Published on

Trabalho de análise de desempenho com compactadores e algoritmos de compactação …

Trabalho de análise de desempenho com compactadores e algoritmos de compactação

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
138
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Faculdade de Tecnologia de CarapicuíbaAvaliação de Desempenho em Sistemas ComputacionaisEstudo de Desempenho de Compactadores Carapicuíba 2011
  • 2. IntegrantesJosé Eduardo Evaristo 1430431013165Luiz Paulo 1430431011044Marcel Bragança 1430431023337Marco Couto Ferreira 1430431013178Marcos Cassemiro 1430431013179Saulo Heber Moreira Marques 1430431013194Tayan Lima 1430431013195Vanessa Carvalho Santos 2090158
  • 3. Objetivo O objetivo do trabalho é descrever através dademonstração de resultados obtidos por testes, umametodologia para a Análise de Desempenho, bem como fixarconceitos dados em sala de aula sobre uma avaliaçãocomparativa de desempenho entre dois objetos que possuemuma única finalidade.
  • 4. IntroduçãoO objetivo do trabalho é demonstrar uma Análise deDesempenho usando uma metodologia de comparação entretestes realizados em alguns algoritmos de compactação edivulgar os resultados obtidos, bem como fixar conceitosdados em sala de aula sobre uma avaliação comparativa dedesempenho entre dois objetos que possuem uma únicafinalidade. Para alcançar este objetivo, o grupo decidiu realizaruma analise de desempenho comparativa entre diferentesalgoritmos de compactação. Ao demonstrar a peculiaridade decada um e ao comparar os resultados obtidos poderemostraçar um perfil geral de cada algoritmo.
  • 5. Compactadores Compactadores de arquivos são softwares que têm porobjetivo a compressão de dados de um arquivo, utilizandodiversas técnicas de algoritmos de compressão de dados,como por exemplo a redução de sequência de bits repetidos. Uma das possíveis classificações que se aplicam aoscompactadores, são a compressão com perda e sem perda. sem perdas (lossless) - quando os dados obtidos sãoidênticos aos originais, se aplicam à como textos,programas de computador, planilhas eletrônicas, etc., ondeuma pequena perda de dados acarreta o não funcionamento outorna os dados incompreensíveis. Um texto com letras trocadas, uma planilha com valoresfaltantes ou inexatos, ou um programa de computador comcomandos inválidos são coisas que não desejamos e que podemcausar transtornos. Algumas imagens e sons precisam serreproduzidos de forma exata, como imagens e gravações paraperícias, impressões digitais, etc com perdas - em alguns casos, permite-se que ocorrampequenas perdas de dados, que não sejam significativas, emgeral, ao digitalizarmos informações como fotografias, sonse filmes, podemos considerar algumas perdas que não seriampercebidas pelo olho ou ouvido humano. Como os dadosobtidos não são idênticos aos originais, pois perderaminformações irrelevantes, o método é considerado então comperdas (lossy).
  • 6. Um aspecto importante dos compactadores é a taxa decompactação, que pode ser definida como o poder decompactação de um algoritmo para compactar um determinadoarquivo. Exemplo: Quando o tamanho de um arquivo cai pelametade, após a compactação, dizemos que a taxa decompactação foi de 2:1 (Dois para um). Tipos de Análise Existem basicamente 3 técnicas de analise dedesempenho que são: Modelagem: é muito simples este tipo de analise porqueelimina completamente detalhes irrelevantes ao teste já queabstrai todos os detalhes irrelevantes a analise, nesteprocesso deve-se identificar os principais componentes dosistema e suas iterações para então realizar o estudo daavaliação Simulação: é a técnica mais usada para analise dedesempenho devido a facilidade de realizar os testes, étambém uma técnica muito barata para prever o desempenho deum sistema antes/depois de alguma modificação. Neste tipode testes devemos nos atentar bastante na especificação dosoftware e nos modelos estatísticos pois isso poderáinfluenciar no resultado final Experimentação: Neste tipo de analise é capturado odesempenho do sistema em dado momento de produção ao longodo tempo deve-se possuir dados estatísticos suficientespara fornecer metricas sobre o desempenho do sistema,
  • 7. também pode ser usado softwares especializados em benchmarkque tem seus próprios algoritmos para analisar o desempenho Hibridos: há casos onde pode-se utilizar a combinaçãode duas ou mais técnicas de avaliação para alcançar umresultado mais apurado, estes casos particulares devem serescolhidos cuidadosamente com base no tipo de sistema a seranalisado e no tipo de resultado esperado. Definição do SistemaTendo em vista que o laboratório foi criado de acordo com umasituação real do cotidiano ocorrida dentro de uma empresa noqual um dos integrantes do grupo é funcionário, uma máquinaexatamente idêntica á que é usada no dia-a-dia foi criada,aproveitando inclusive o mesmo ambiente operacional. Tal escolhafoi providencial para que os resultados e argumentos fossemsuficientes para uma análise eficiente e imparcial.Configuração da máquina utilizadaSistema operacional: Debian Squeeze 64 Bits rodando em umamáquina virtual VmWare Esx 4.1. O sistema foi instalado apenasem modo texto e todos os comandos utilizados foram executadosvia console. Apenas o serviço de ssh para conexão remotaProcessador: 4 Vprocessadores (virtuais) Intel Xeon com 2.67 GHzMemória RAM: 12 GBDiscos: Storage IBM com discos SAS de 10K operando com sistemade redundância dos discos em Raid5.Serviços • Compactação dos arquivos em (lzma, zip, gzip2 e rar);
  • 8. • Tempo e Throughput da compactação dos arquivos em variadas extensões bem como compactação de diretórios e subdiretórios;Saídas • Arquivos compactados;MétricasMetricas são criterios usados para quantificar o desempenhodo sistema, neste trabalho escolhemos os seguintes itenspara serem usados: • Tamanho final dos arquivos; • Taxa e Tempo de compactação de descompactação; • Consideraremos apenas os testes com resultado correto sem falhas;ParâmetrosParametros são pontos criticos do sistema, ou seja,determinados pontos do sistema que podem afetar a analisede desempenho.Os parametros que nós elegemos foram: O Ambiente em que foiexecutado os testes, (Cpu, Memória, Throughput do Disco,Sistema Operacional) e a carga de trabalho que estava emuso na máquina, neste caso a máquina estava dedicada aosnossos testes.
  • 9. Cargas de TrabalhoSeguindo a linha de se adequar ao cotidiano da empresa jácitada, foram usados arquivos reais da própria empresa. Éimportante salientar que tais arquivos não continham informaçõessigilosas e o eventual acesso por parte de terceiros nãocomprometeria em nada as operações da empresa. Arquivos utilizados para os testes de compactaçãoArquivo de LOG (texto puro): usamos um arquivo de log deacessos á internet com exatos 567 MB. Este arquivo é exatamenteum dos arquivos extraídos de um servidor de produção que roda oserviço de proxy squid. Diariamente, um arquivo como este écopiado para um segundo servidor (idêntico ao usado nos testesde laboratório) que tem a função de compactar e armazená-lo porno mínimo doze meses.Arquivos de texto com tamanhos minúsculos: diariamente,milhares de arquivos de texto com tamanhos variados entre 3 KB e10 KB. É devidamente conhecido que realizar operações com umagrande quantidade de arquivos de tamanho individual pequenos,custa um tempo maior e consequente maior uso do hardware do quea mesma operação com arquivos de tamanhos maiores. Para arealização dos testes foram utilizados arquivos gerados em umdia de baixo movimento na empresa, que rendeu exatos 1129arquivos, totalizando um espaço em disco de 5410 KB.Assim como os arquivos de log, durante a rotina diária daempresa, estes arquivos são transferidos para outro servidor eposteriormente compactados e armazenados para futuras consultas.Diretórios com grande hierarquia de subdiretórios: Ospequenos arquivos descritos no item anterior normalmente sãoarmazenados em uma grande cadeia hierárquica de diretórios. Étambém de conhecimento que operações com um grande númerohierárquico de diretórios faz uso de uma razoável fatia derecursos do sistema.Arquivo de imagem de disco ISO: Por se tratar de um arquivojá compactado, este arquivo de tamanho de 51 MB foi usado comoapoio para explorar á fundo o potencial básico de cada algoritmode compactação testado.
  • 10. Resultado da análiseAlgoritmo ZIPZIP é um formato de compactação de arquivos muito difundido pelaInternet. Atualmente o formato já tem compatibilidade nativa comvários sistemas operacionais, como o Windows da Microsoft, quejá permite compactar e descompactar arquivos no formato ZIP semo uso de softwares adicionais (externos) instalados.VantagemO Zip implementa um dos algoritimos de compactação mais leves domercado, por esse motivo ele demanda menor consumo de CPU erealiza os serviços de compactação e descompactação com maioragilidade.DesvantagensPor ser um compactador mais leve e mais rapido, o Zip possuiuma capacidade de compressao menor.TestesForam realizados testes de compactação de descompactação comarquivos dos seguintes tipos: arquivo em texto, imagem ISO,diretórios com sub-níveis com tamanhos pequenos e grandes.Os comandos utilizados foram:Compactação -> time zip add “arquivo”Descompactação -> time unzip “arquivo”ResultadosTextoTamanho inicial 567 MBCompactado: 71,01 MBTempo de Compactação: 14,93 segTempo de descompactação: 5,19 segImagem ISOTamanho inicial 51 MBCompactado: 46,83 MB
  • 11. Tempo de Compactação: 2,65 segTempo de descompactação: 2,60 segDiretórioTamanho inicial 420 KBCompactado: 7 KBTempo de Compactação: 0,26 segTempo de descompactação: 0,004 segArquivos XMLTamanho inicial 5410 KBCompactado: 460 KBTempo de Compactação: 0,11 segTempo de descompactação: 0,043 segAlgoritmo RAR.RAR é um formato fechado de compactação de arquivos muitodifundido pela Internet.A compressão RAR foi desenvolvida por Eugene Roshal (daí vem onome RAR: Roshal ARchive)Vantagens • Alta taxa de compressão. • Suporte a arquivos grandes (suporta até 8.589.934.591 GB, tamanho não suportado pelos arquivos. • Capacidade de gerar vários volumes de um mesmo arquivo (divide o arquivo RAR em partes menores). • Suporte a vários idiomas (inclusive o idioma português de portugal e português brasileiro). • Suporte a recursos importantes como recuperação de dados (restaura dados fisicamente danificados). • Bloqueio de dados (o arquivo não pode ser modificado) e modo sólido (os arquivos são comprimidos especialmente em uma única corrente de dados).
  • 12. Desvantagens • Não existe versão Free.Principais Softwares e distribuiçõesO principal software de compactação/descompactação de arquivosno Windows no formato RAR é o WinRAR.O principal software de compactação/descompactação de arquivosno Linux formato RAR é o UnRAR.Avaliação de desempenhoPara a avaliação de desempenho do RAR foi utilizado a versão:3.0.3.1 com as seguintes cargas:TextoTamanho inicial 567 MBCompactado: 45,25 MBTempo de Compactação: 101,95 segTempo de descompactação: 6,04 segImagem ISOTamanho inicial 51 MBCompactado: 46 MBTempo de Compactação: 35,4 segTempo de descompactação: 1,41 segDiretórioTamanho inicial 420 KBCompactado: 3 KBTempo de Compactação: 0,016 segTempo de descompactação: 0,033 segArquivos XMLTamanho inicial 5410 KBCompactado: 254 KBTempo de Compactação: 0,611 segTempo de descompactação: 0,05 seg
  • 13. Considerações finaisO RAR mostrou um otimo desenpenho na compactação e descompactçãode arquivos, principalmente arquivos do tipo texto onde ouve umaredução de 92,06% no tamanho final.BZIP2 É um algoritmo e um software compactador de arquivos,onde sua licença é livre e de código aberto (open source)muito utilizado em distribuições Linux. Também é utilizadoem sistemas operacionais Windows, porém não tão popularentre os usuários desse sistema que mais utilizam osalgoritmos WinRar e WinZip.Vantagem O algoritmo bzip2 é mais eficiente que o gzip e zip,pois deixa o arquivo compactado com um tamanho bem menor,sendo uma vantagem para pessoas que possui conexões lentase precisam realizar o transporte dessa informação nainternet.Desvantagem Sua desvantagem é que o processo usado para compactare descompactar arquivos e diretórios consome mais recursosde processamento.Testes Realizamos os testes de compactação e descompactaçãodos arquivos que estavam em ambiente real em um servidor
  • 14. remoto. Nos testes foram usados arquivo em texto, imagemISO, diretórios com sub-níveis com tamanhos pequenos egrandes. Os comandos usados foram:Compressão:Time bzip2 nome_arquivoDescompressão:Time bunzip2 nome_arquivoResultadosArquivo em texto:Tamanho inicial do arquivo: 567 MBCompactado: 45,6 MBTempo de Compactação: 60,4segTempo de Descompactação: 20segImagem ISO:Tamanho inicial do arquivo: 51 MBCompactado: 471 MBTempo de Compactação: 10,8segTempo de Descompactação: 11segDiretórios:Tamanho inicial do arquivo: 420 KBCompactado: 3 KTempo de Compactação: 0,2segTempo de Descompactação: 0,001segArquivos XML:Tamanho inicial do arquivo: 5410 KBCompactado: 239 KB
  • 15. Tempo de Compactação: 1,3segTempo de Descompactação: 0,1seg
  • 16. LZMADescriçãoLZMA (Algoritmo Lempel-Ziv-Markov) é uma versão melhoradados algoritmos de compressão de dados LZ77. Desenvolvidopara melhorar o nível de compressão, mantendo alta taxa decompressão e baixo gasto de memória.O algoritmo LZ77 foi um dos algoritmos de compressão dedados desenvolvidos por Abraham Lempel e Jacob Ziv em 1977,juntamente com o outro algoritmo de compressão LZ78publicado em 1978. Nos primeiros artigos publicados eleseram conhecidos por LZ1 e LZ2 respectivamente e só depoisganharam o ano de sua publicação em suas siglas. Estealgoritmo LZ77 se baseia na utilização das partes que jáforam lidas de um arquivo como um dicionário, substituindoas próximas ocorrências das mesmas seqüências de caracterespela posição (absoluta ou relativa) da sua últimaocorrência. Para limitar o espaço de busca e deendereçamento necessário, as ocorrências anteriores sãolimitadas por uma "janela deslizante" (do inglês slidingwindow) que tem tamanho fixo e "desliza" sobre o arquivo,delimitando o início e fim da área onde serão buscadas asocorrências anteriores. O tamanho desta janela é um dosfatores primordiais para se ajustar a performance dessealgoritmoPara demonstrar o funcionamento, abaixo ilustramos o algoritmoLZ77 com um exemplo da compressão da cadeia A_ASA_DA_CASA,usando janela de tamanho 8 e buffer de look-ahead de tamanho 4.Janela Buffer Restante do arquivo Tupla emitida A_AS A_DA_CASA (0,0,A)A _ASA _DA_CASA (0,0,_)A_ ASA_ DA_CASA (1,1,S)A_AS A_DA _CASA (3,2,D)A_ASA_D A_CA SA (2,2,C)ASA_DA_C ASA (7,3,EOF)Temos então 6 tuplas cada tupla ocupa 15 bits (4 para a posiçãodentro da janela, 3 para o tamanho e 8 para o caractere nofinal), perfazendo 90 bits. Comparado com a cadeia original de104 bits (13 bytes) a compressão não é muito boa, mas para
  • 17. arquivos maiores o tamanho da janela pode ser ajustado, assim como o tamanho do buffer,conseguindo taxas de compressão bem melhores.VantagensSendo uma evolução do algoritmo LZ77 ele traz melhores taxas decompactação e desempenho geral pois permite ajuste na janeladeslizante que controla o nivel de compactaçãoDesvantagensPor enquanto somente o compactador 7zip utiliza, portanto aindanão é muito difundidoDesempenhoObservamos que ele oferece na média uma boa taxa decompressão para todas as cargas de trabalho utilizadas,porém resultando em um tempo de compactação sensivelmenteacima da média dos algoritmos testados.
  • 18. ConclusãoConcluímos que a analise de desempenho é imprescindívelpara que possamos compreender o desempenho de qualquersistema, pois através de uma metodologia de analise dedesempenho revela-se itens que ficam oculto no sistema e sóse tornam visíveis através dos processos de analise dedesempenho.Concluímos também que num estudo de analise de desempenho éimprescindível também escolher com cuidado as devidasmétricas, entradas, parâmetros e etc pois isso influenciarácompletamente os resultados deixando de ser imparcial.