• Nenhum resultado encontrado

Testes e An´ alise da Eficiˆ encia da Abordagem

No documento Universidade de S˜ao Paulo (páginas 31-34)

Feito o ajuste adaptativo do tamanho do cache comprimido, ´e nosso objetivo testar a eficiˆencia da abordagem adotada e implementada. Ao final dos testes de eficiˆencia, pretendemos efetuar uma an´alise para determinar quais tipos deworkloads se beneficiam dela, assim como as raz˜oes para que isso ocorra.

A seguir s˜ao apresentadosbenchmarks considerados para integrarem o conjunto que ser´a utilizado para a etapa de an´alise da eficiˆencia da abordagem. V´arios deles j´a tˆem sido utilizados e outros est˜ao ainda sendo

considerados para experimentos futuros. Eles foram escolhidos por abordarem, conjuntamente, os cen´arios comuns de um sistema operacional no tocante ao sistema de mem´oria virtual. Dessa maneira, poderemos inferir o seu resultado para outros workloads comuns dependendo dos resultados obtidos aqui. Com cada benchmark, h´a uma breve descri¸c˜ao da sua funcionalidade juntamente com a raz˜ao para figurar nessa lista.

Fillmem

O fillmem´e um programa que faz parte do Memtest Suite e j´a foi utilizado em alguns experimentos, como mencionado anteriormente no texto. A sua fun¸c˜ao b´asica ´e alocar uma determinada quantidade de mem´oria (de acordo com o parˆametro de entrada) e suj´a-la. Pelo fato de suj´a-la, ele a utiliza efetivamente (dado que o Linux s´o aloca a mem´oria quando h´a uso).

A raz˜ao pela qual o fillmemfoi escolhido ´e o fato de que ele executa uma fun¸c˜ao bastante espec´ıfica:

aloca¸c˜ao de mem´oria n˜ao mapeada em arquivos. Dessa forma, podemos verificar com bastante clareza como o cache comprimido est´a desempenhando em rela¸c˜ao a um sistema que possui uma maioria de p´aginas de mem´orias anˆonimas.

Mmap001

Ommap001´e outro programa que faz parte doMemtest Suite e que tamb´em j´a foi utilizado em nossos experimentos. A sua fun¸c˜ao b´asica ´e mapear um arquivo na mem´oria, cujo tamanho depende do parˆametro de entrada, fazer uso das suas p´aginas de mem´oria e efetuar a sua sincronia com o disco.

De maneira semelhante ao fillmem, o mmap001 foi escolhido por executar uma fun¸c˜ao espec´ıfica (no caso, mapeamento de um arquivo na mem´oria) e por isso permitir-nos uma distinta verifica¸c˜ao do com-portamento da abordagem com rela¸c˜ao a sistemas em que h´a uma predominˆancia de p´aginas de mem´orias mapeadas.

DBench

DBench´e um programa que executa opera¸c˜oes intensivas de entrada e sa´ıda em arquivos, tamb´em j´a utilizado em nossos testes. Ele roda um determinado n´umero de processos concorrentemente, n´umero esse determinado pelo parˆametro de entrada, e ao fim da execu¸c˜ao de todos os processos contabiliza othroughput conseguido.

ODBench´e um programa bastante conhecido no desenvolvimento dokernel do Linux, tendo sido usado por muito tempo (at´e recentemente) como o principal parˆametro para o desenvolvimento do sistema de mem´oria virtual. Visto que esse teste verifica como o sistema reage a situa¸c˜oes de bastante press˜ao na parte de mem´oria (principalmente relacionado a sistemas de arquivos), consideramos bastante interessante verificar como o cache comprimido reage a um teste como esse.

FFT

FFT´e a transformada r´apida de Fourier. Aqui consideramos criar um programa teste na linguagem C e utilizar bibliotecas j´a existentes que calculem a transformada r´apida de Fourier.

Um motivo pelo qual consideramos esse teste ´e por ele ter sido utilizado com a implementa¸c˜ao de um cache comprimido feita por um grupo de pesquisadores da Universidade Polit´ecnica da Catalunha em Barcelona.

Outra raz˜ao ´e pelo fato de ser um programa que faz grande uso da CPU, e por tal podermos analisar o impacto da utiliza¸c˜ao da CPU para a compress˜ao/descompress˜ao de p´aginas de mem´oria em programas que fazem intensivo uso dela.

Sort

O sort´e um programa que faz parte do GNU textutils e executa uma ordena¸c˜ao de um arquivo texto.

Esse tipo de programa fez parte dos testes de Fred Douglis em sua implementa¸c˜ao. Foram feitos testes com arquivos parcialmente j´a ordenados e com arquivos totalmente aleat´orios, mas no ´ultimo caso, devido parcialmente `a m´a compress˜ao, a implementa¸c˜ao de Douglis n˜ao obteve um bom sucesso. Pensamos ser interessante repetir esse teste para verificar se a nossa abordagem ´e eficaz nesse caso.

GCC

GCC ´e o GNU Compiler Collection. Consideramos aqui utilizar o seu componente que executa a com-pila¸c˜ao da linguagem C. OGCCse destaca por ser um aplicativo faz uso relativamente intenso da CPU e tamb´em uma manipula¸c˜ao intensa de arquivos.

Utilizar o GCC´e muito comum para apurar modifica¸c˜oes efetuadas nokernel do Linux, sendo comum entre os desenvolvedores do Linux. Notadamente atrav´es dos emails da lista de discuss˜ao dokerneldo Linux,

´

e poss´ıvel observar que a compila¸c˜ao do c´odigo dokernel do Linux atrav´es de v´arias instˆancias do GCC

figura juntamente comDBenche alguns outros poucos conjuntos debenchmarks, entre os mais considerados para exibir os impactos de determinada implementa¸c˜ao nova ou altera¸c˜ao em um c´odigo existente do Linux, em especial nos sistemas de arquivos e gerenciamento de mem´oria.

Open Source Database Network

Open Source Database Network´e umbenchmark que faz testes com opera¸c˜oes de bancos de dados.

O primeiro motivo pelo qual esse teste ´e considerado ´e o fato de terem sido rodados testes de banco de dados na implementa¸c˜ao feita Fred Douglis do cache comprimido e em todos os testes Douglis obteve maus resultados. Em segundo lugar, visto que bancos de dados ´e comumente utilizado por diversos segmentos de usu´arios de sistemas operacionais, ´e importante verificar o impacto que o cache comprimido pode ter nesse importante tipo de aplicativo computacional.

NetPerf

NetPerf ´e umbenchmark de redes e sistemas de arquivos. Essebenchmark´e bastante conhecido e figura nessa lista por considerarmos importante averiguar se h´a alguma influˆencia do cache comprimido nas pilhas de rede do sistema operacional.

No documento Universidade de S˜ao Paulo (páginas 31-34)

Documentos relacionados