• Nenhum resultado encontrado

Dentre os sistemas de arquivos paralelos considerados nesse cap´ıtulo, todos os testes puderam comprovar que o PVFS possui grandes qualidades para lidar com o processamento concorrente de requisi¸c˜oes vindas de m´ultiplos clientes.

Al´em disso, pudemos notar que ´e totalmente vi´avel utiliz´a-lo como base para a constru¸c˜ao de outros sistemas de arquivos paralelos mais espec´ıficos ou que possuem melhorias com rela¸c˜ao ao PVFS, pois pode-se aproveitar seu alto-desempenho ao lidar com aplica¸c˜oes paralelas e concorrentes.

No momento em que esse texto foi escrito n˜ao foram encontrados testes oficiais de desempenho sobre o PVFS2 para podermos compar´a-lo com esses outros sistemas, a fim de verificarmos se as novas caracter´ısticas implementadas realmente funcionam e se melhoram o comportamento desse sistema.

Assim, realizamos alguns experimentos simples com a vers˜ao 1.6.3 do PVFS1 e com a vers˜ao 1.0.1 do PVFS2, para decidirmos qual dos dois seria usado nos testes do cap´ıtulo 5. Tais experimentos consistiam de se ler arquivos de 1GB localizados no PVFS1 e PVFS2, utilizando-se de v´arias

Figura 4.12: Desempenho do CEFT-PVFS desviando de servidor com rede sobrecarregada threads. N˜ao notamos grandes diferen¸cas no desempenho entre eles, e ambos se comportaram de forma est´avel.

Como j´a era de se esperar, essa vers˜ao inicial do PVFS2 pode ser considerada apenas uma re-arquitetura do PVFS1, n˜ao tendo ainda grande vantagem para o usu´ario final com rela¸c˜ao ao seu antecessor, pois n˜ao implementa muitas das vantagens previstas e discutidas na se¸c˜ao 3.2.3.

Por estas raz˜oes, resolvemos utilizar o PVFS2, ao inv´es do PVFS1 ou algum dos seus variantes, para a realiza¸c˜ao de nossos experimentos.

PVFS2 vs. Ext3

No cap´ıtulo anterior, analisamos testes e compara¸c˜oes de desempenho entre sistemas de arquivos paralelos. Em todos os casos sempre houve v´arios clientes acessando um ´unico sistema de arquivos, de forma simultˆanea e concorrente.

Nesse cap´ıtulo faremos uma compara¸c˜ao pouco usual: colocaremos apenas uma m´aquina como cliente acessando o sistema de arquivos paralelo PVFS2, e analisaremos seu comportamento contra o mesmo cliente acessando o sistema de arquivos local Ext3.

A primeira vista pode parecer estranho compar´a-los, j´a que tˆem prop´ositos distintos, por´em se` houver largura de banda o suficiente na rede para o tr´afego dos dados, um sistema de arquivos paralelo pode ser mais r´apido que um sistema de arquivos local. Para deixar mais clara a id´eia, a figura 5.1 mostra um caso onde existe uma rede muito r´apida interligando servidores e clientes, e os dispositivos de armazenamento s˜ao notavelmente mais lentos.

Grandes requisi¸c˜oes enviadas ao PVFS2, mesmo que vindas de um ´unico cliente, utilizam toda a banda dispon´ıvel dos discos dos servidores, j´a que n˜ao tˆem a rede como gargalo, enviando o resultado para o cliente rapidamente. Comparando essa banda agregada com a banda dispon´ıvel pelo sistema de arquivos local, percebemos a clara vantagem em se utilizar o PVFS2.

Nas se¸c˜oes a seguir demonstraremos esse fato a partir da realiza¸c˜ao de testes concretos, simu-lando uma rede de dados mais r´apida que o sistema de armazenamento, a partir da redu¸c˜ao da velocidade dos discos de ambos cliente e servidores.

5.1 Ambiente Utilizado

Antes de iniciarmos nossa an´alise, vamos descrever a configura¸c˜ao do ambiente de testes utilizado e todas as condi¸c˜oes que podem influenciar os resultados.

5.1.1 PVFS2

A instala¸c˜ao do PVFS2 foi feita conforme instru¸c˜oes doQuick Guide dispon´ıvel no site oficial do sistema. Utilizamos a ´ultima vers˜ao est´avel dispon´ıvel, 1.0.1, que ´e espec´ıfica para a linha 2.6 do kernel do linux. N˜ao tivemos grandes problemas para realizar essa instala¸c˜ao, embora tenha sido

Figura 5.1: Sistemas de arquivos paralelos vs. locais

necess´ario alterar algumas constantes definidas em alguns arquivos do c´odigo fonte, pois o script de auto-configura¸c˜ao n˜ao estava funcionando corretamente em nosso ambiente.

O aglomerado usado para testes foi umbeowulf do projeto de bioinform´atica do IME-USP, onde todas as m´aquinas possuem processadores Athlon de 1.2GHz, 768MB de mem´oria RAM, 16GB de espa¸co livre em disco Ultra ATA/133, 7200 RPM, em uma parti¸c˜ao montada como Ext3. A conex˜ao

`

a rede ´e feita por placas 10/100Mbit/s, diretamente ligadas a um switch de 100Mbit/s.

Em todas as m´aquinas foi instalada a distribui¸c˜ao Debian GNU/Linux, vers˜ao n˜ao-est´avel do mˆes de fevereiro de 2005. A vers˜ao do kernel foi a 2.6.10, como pacote original da distruibui¸c˜ao (isto ´e, n˜ao ´e uma vers˜ao espec´ıfica e nem compilada por n´os).

A configura¸c˜ao do PVFS2 n˜ao foi alterada com rela¸c˜ao `a instala¸c˜ao padr˜ao. A fim de obter o desempenho m´aximo do PVFS2, decidimos deixar o servidor de meta-dados dedicado para esse papel, e variamos a quantidade de servidores de dados em 1, 2, 4 e 8 m´aquinas, dependendo do teste a ser realizado.

A m´aquina usada como cliente ´e distinta dos servidores, sendo que todos os testes de tomada de tempo utilizaram a interface UNIX para acesso ao PVFS2. A interface UNIX usada ´e um m´odulo dokernel que permite ao usu´ario montar o PVFS2 e utiliz´a-lo como um sistema de arquivos comum, de forma transparente.

5.1.2 Ext3

O sistema de arquivos local usado para nossos testes ´e o Ext3, que ´e uma extens˜ao do Ext2 com suporte a journaling, ou log. Tal suporte evita que uma opera¸c˜ao de escrita ou mudan¸ca na estrutura do sistema de arquivos mal executada deixe todo o sistema em um estado inconsistente.

Esse tipo de problema costuma ocorrer quando um sistema de arquivos ´e desativado antes que ele

possa ser desmontado (por exemplo, queda de energia).

Para nossos testes, o sistema de arquivos local foi instalado em um disco IDE padr˜ao Ultra ATA/133, 7200 RPM, do mesmo modelo dos discos sendo utilizados para armazenamento local dos dados do PVFS2. Isso garante uma compara¸c˜ao justa entre esses dois sistemas de arquivos. Para evitar qualquer tipo de discrepˆancia quanto `as condi¸c˜oes durante a compara¸c˜ao, a m´aquina cliente usada para os testes do PVFS2 ´e a mesma utilizada para os testes do Ext3.