1.Introdução - FATEC Bauru

Propaganda
Teste de Desempenho com Servidor de Arquivos no Raspberry PI Utilizando
Diferentes Tipos de Armazenamento
Alberto Brunhari Netto¹, Alexsandro de Souza¹, Eric Marques Fernandes¹,
Gustavo Bruschi¹
¹Curso de Tecnologia em Redes de Computadores - Faculdade de Tecnologia de Bauru
(FATEC)
Rua Manoel Bento Cruz, nº 30, Quadra 3 - Centro - 17.015-171 - Bauru, SP - Brasil
{netto.fatec, alexsandro.alex100, ericmf1}@gmail.com,
[email protected]
Abstract. With increasing technological advances , the information becomes
very important in our daily lives , with access to the Internet at all times,
social networks , e- mail transfer, sharing images and videos and other
activities. All these data have much importance, the most valuable asset that
should be safely stored and easily accessible as a file server. This study aims
to create a file server using a Raspberry PI, to store data and to share on the
network. We conclude that the use of this device has reached the goal
proposed for addition to the cost, it had to be feasible for this application,
being observed a performance variation depending on the type of storage,
influencing performance.
Resumo. Com o crescente avanço tecnológico, a informação se torna muito
importante em nosso dia a dia, com acessos à Internet a todo momento, redes
sociais, transferência de e-mails, compartilhamento de imagens e vídeos e
outras atividades. Todos esses dados possuem grande importância, sendo o
bem mais precioso que devem ser armazenados com segurança e de fácil
acesso como num servidor de arquivos. Esse estudo tem a finalidade de criar
um servidor de arquivos utilizando um Raspberry PI, para guardar os dados e
poder compartilhar na rede. Conclui-se que a utilização deste dispositivo
atingiu o objetivo proposto pois além do custo, o mesmo apresentou-se viável
para esta aplicação, sendo observado uma variação de performance conforme
o tipo de armazenamento, influenciando no desempenho.
1.Introdução
O armazenamento e compartilhamento de informações e recursos só são possíveis
através de sistemas centralizados, permitindo a troca de dados, mensagens, acessos a
aplicativos e documentos de várias fontes em uma rede de computadores que, segundo
Tanenbaum (1997), rede de computadores é um conjunto de computadores autônomos
interconectados, trocando informações entre si, através de um fio de cobre, fibras
ópticas, rádio, micro-ondas, satélites de comunicação, entre outros.
A principal ideia para um servidor é a integração de um sistema operacional,
juntamente com ferramentas e equipamentos com custos mais baixos e que
proporcionem confiabilidade, tornando aplicações e equipamentos flexíveis e
dinâmicos. Para Garcia (2005, p.10), “Servidores são computadores especiais que
fornecem conteúdo e serviços numa rede de computadores”.
Com isto surgiu a proposta de avaliar o funcionamento e desempenho de um
serviço de armazenamento e compartilhamento de arquivos utilizando o Raspberry PI
que, segundo Oliveira (2013), seu tamanho chama bastante a atenção, o Raspberry PI
tem como medidas 8,6cm x 5,4cm x 1,5cm (Comprimento x Largura x Altura), ou seja,
algo muito próximo a um cartão de crédito, podendo este projeto ser usado para fins
didáticos, por entusiastas e até mesmo para uso pessoal.
2. Conceitos e Definições
2.1.Raspberry PI
O Raspberry PI é um minicomputador que tem todo o seu hardware integrado em uma
placa única, podendo ser ligado em uma TV ou monitor, assim como outros periféricos,
ele tem a capacidade de fazer todas as coisas que um PC normal faz, como jogos, textos,
navegar na internet e reproduzir vídeo em alta definição, tendo como objetivo principal
estimular o aprendizado na área da computação. Como mostra na Figura 1.
Figura 1. Raspberry PI Mod. B
Fonte: http://uk.rs-online.com/web/p/processor-microcontroller-development-kits/7568308/,
2015.
No ano de 2006, Eben Upton, engenheiro britânico, começou a desenvolver junto
com uma equipe de hackers de hardware o projeto do Raspberry PI tendo em vista uma
tecnologia de baixo custo para incentivar os jovens com interesse em computação,
Werner (2013). A ideia principal era desenvolver um computador com o tamanho de um
cartão de crédito e de valor baixo para ser mais acessível para os jovens.
A Raspberry PI Fundation foi fundada no ano de 2009, em agosto de 2011 a
primeira série Alpha sai com 50 placas que servia de plataforma para desenvolvedores,
depuração e demonstrações, no mesmo ano surge a série Beta já no layout atual, já com
as últimas falhas eliminadas e entrando em produção.
O Raspberry PI, segundo Matt e Shaw (2012), é mais parecido a um celular, só
que tendo muitos conectores e os seus componentes são expostos sendo:









Chip (SoC) Broadcom BCM2835.
Unidade de processamento central (CPU) ARM1176JZF-S
700Mhz.
Unidade de processamento gráfico (GPU) Broadcom VideoCore IV
(OpenGL ES 2.0, OpenVG, 1080p30, H.264 de alto nível de
codificação/decodificação).
512 megabits (MB) de memória RAM
2 portas USB 2.0,
Uma porta Ethernet 10/100 Mbps,
Uma porta Slot SD/MMC,
Uma saída de áudio estéreo,
Duas saídas de vídeo uma do tipo composite out e outra HDMI out.
Segundo Matt e Shaw (2012), o processador do Rapberry PI é o mesmo do
Iphone 3G e do Kindle 2, leitor digital da Amazon, a capacidade do Raspberry PI pode
ser comparável a esses dois aparelhos que já conhecemos. Um processador chip de 700
MHz com 32 bits com arquitetura ARM11, este chip tem uma variedade de diferentes
arquiteturas com diferentes núcleos para diferentes capacidades.
O modelo A do Raspberry PI possui 256 MB já o modelo B 512 MB de RAM, a
ausência de um disco rígido faz com que tudo tenha que ser armazenado em um cartão
SD, Pen Drive, pela porta USB, ou em um HD externo, o Rapsberry PI ainda tem uma
porta Ethernet RJ45 e a conexão via Wi-fi pode ser feita por adaptador externo através
de umas das portas USB, segundo Matt e Shaw (2012).
2.2. Sistemas operacionais
Segundo Peter (2004), um computador sem o sistema operacional seria difícil para um
programador usá-lo, pois existe várias arquiteturas diferentes e linguagens de máquinas
distintas, por isso é necessário existir uma camada intermediaria entre hardware e os
aplicativos para que não só ofereça um ambiente de programação simples, mas também
um ambiente de trabalho de fácil utilização com segurança e um bom desempenho.
De acordo com Peter (2004), esta camada intermediaria seria o sistema
operacional, que nada mais é que um conjunto de programas, que foi desenvolvido
exclusivamente de uma maneira simples e funcional, as funções de um sistema
computacional para os usuários, para obter um sistema seguro e eficaz, o sistema
operacional controla e organiza todo o uso dos recursos computacionais.
Para Tanenbaum (1992), um sistema operacional visto com uma ótica diferente,
ele é o mais fundamental de todos os programas do sistema, o sistema operacional
controla todos os recursos computacionais e disponibiliza uma base sobre a qual os
programas de aplicação podem ser programados.
Conforme Richardson (2013), para rodar o sistema no Raspberry PI, os sistemas
operativos devem ser baseados em GNU/Linux. O kernel é uma parte muito importante
de um sistema operacional, e o Linux é um componente do kernel, e o restante do
sistema em coleção total de drivers, serviços e aplicações que compõem o sistema
operacional. Ao longo dos anos foram criadas várias distribuições Linux. As mais
usadas em computadores desktops são Ubuntu, Debian, Fedora e Arch. Elas possuem
suas comunidades próprias de utilizadores que dependendo da necessidade de uma
aplicação estas são ajustadas.
Para Richardson (2013), para o computador Raspberry PI ser elaborado em um
chip set de dispositivo móvel, ele tem alguns requisitos de software diferentes de um PC
desktop. Seu processador Broadcom tem algumas características proprietárias que
necessitam de drivers de dispositivos especiais (“binary blob”) e programas que não
estão incluídos em nenhuma distribuição padrão Linux. Em comparação a maioria de
computadores desktops que possuem muitos gigabytes de memória ram e centenas de
gigabytes de armazenamento, o Raspberry PI é bem limitado em ambos os aspectos.
Devido a isso as várias distribuições GNU/Linux especificas estão sendo desenvolvidas
para o PI.
Segundo João Dovicchi (2013), A empresa canadense Seneca Centre for
Development of Open Technology (CDOT) projetou, recentemente, a versão PI da
distro Fedora do Linux chamada Pidora. O SO foi desenvolvido para rodar no
Raspberry PI como uma versão compilada do Fedora 18 para a arquitetura Acom RISC
Machine (ARM) que é uma arquitetura de processador de 32 bits usada principalmente
em sistemas embarcados.
Entre o Pidora e o fedora ARM Project da Red Hat existe uma diferença, o
Fedora é compilador para o ARMV5 e roda com ou sem Floating Point Unity (FPU) e o
Pidora já é compilado para o ARMV6/ARMV7 e requer a presença da FPU.
Dovicchi (2013), explica que o Pidora tem quase todos os pacotes do Fedora 18
(via yum), sendo a maioria obtido diretamente do repositório Fedora/RH e compilados
para conseguir tirar o melhor proveito do hardware do Raspberry PI.
Para instalar é simples, de acordo com João Dovicchi (2013) basta fazer a cópia
da imagem para o cartão SD e iniciar o Raspberry PI. O instalador é gráfico com
módulos específicos para hardware e a imagem inicial é bem compacta que depois é
redimensionada para usar toda a capacidade de memória do cartão. A área de swap
(memória virtual) é criada automaticamente. Existe a possibilidade de uso sem monitor
e teclado e a informação sobre o endereço de IP (Internet Protocol) pode ser obtida via
saída de áudio ou via LEDs.
De acordo com o Pedro Pinto (2013), o SO Pidora oferece aos usuários do
Raspberry PI um conjunto de novas funcionalidades, com o intuito de oferecer a melhor
experiência com o sistema, mesmo estando fora do Desktop. Comparado com um
Desktop o Raspberry PI tem pouca potência de processamento, obrigando a equipe de
desenvolvimento a trocar o ambiente gráfico de GNOME para o “leve” xFCE.
2.3. Servidor de arquivos
Os responsáveis por armazenar arquivos de dados, textos, planilhas, gráficos são os
servidores de arquivos, segundo Ross (2008) são eles que compartilham com os
usuários das redes tudo o que o usuário precisar. O processador de texto fica instalado
no computador do usuário e o servidor faz apenas o processamento das informações e
fica responsável por entregar o arquivo desejado para o computador do usuário.
De acordo com Stato Filho (2002) o servidor de arquivo é semelhante ao
servidor FTP, a diferença é que a configuração é feita dentro de uma rede, entre suas
funções ele fornece acesso a arquivos sem que este seja copiado para um novo
computador, além de armazenar os arquivos e executar programas.
Com a quantidades de sistemas operacionais existentes uma necessidade de troca
de arquivos mais transparente, segura para os usuários, recurso de impressoras e poder
administrar via web. A ausência de protocolos padrão e transparente nas suas
comunicações com estas características, o SAMBA foi implementado para permitir que
estações de trabalho, trabalhem em rede, autenticando os usuários através de senhas,
fazendo a conversão dos nomes dos computadores que fazem parte da rede, segundo
Stato Filho (2002). As versões até 1.9 do SAMBA foram seguidas de forma muito
rápido, tendo sido lançado em janeiro de 1995, Tridgell considera a adoção do CVS
(Concurrent Versions System) em 1996 marcando o nascimento da equipe SAMBA. A
equipe tinha como principal foco a simulação do protocolo NETBIOS. A versão 2 era
lançada em janeiro de 1999, seguido da 2.2 em abril de 2001.
O SAMBA 3.0, segundo Bartlett (2005), tem a capacidade de entrar como
usuário em uma rede com Active Directory, com esta nova funcionalidade deu-se o
início dos trabalhos com o Active Directory que se tornaria a forma mais convincente
do SAMBA 4.
Na versão 4, o SAMBA suporta domínios Windows e Active Directory, com
esses novos recursos possibilitaram a utilização de ferramentas gráficas do Windows
facilitando o uso dos controles do Active Directory existentes no SAMBA.
O SAMBA é um servidor com um conjunto de ferramentas que faz com que
máquinas com sistema operacional Linux e máquinas com sistema operacional
Windows conversem entre si, compartilhem arquivos, diretórios, impressoras. O
SAMBA tem equivalência ao NetBEUI do Windows, sendo a melhor opção de
ambiente UNIX capaz de interligar uma rede heterogeneamente.
Segundo Stato Filho (2002), a aplicação do SAMBA é principalmente como
PDC (Primary Domain Controler) em uma rede, mantendo uma base de dados dos
usuários, autenticando o seu domínio e liberando os acessos. As configurações
apresentam muitas ferramentas com funcionalidades, como controle de acesso,
leitura/gravação por usuários autenticado, entre outros.
O servidor SAMBA, segundo Nementh (2002), foi desenvolvido por Adrew
Tridgell, australiano, que precisava de espaço em seu HD com sistema operacional DOS
para um servidor UNIX.
O problema é que o servidor deveria suportar a NetBIOS que é igual ao DNS
(Domain Name System) usando nomes e endereço IP (Internet Protocol), mas o DOS
estava com o sistema NFS (Network File System) que não era suportado pelo NetBIOS,
segundo Alecrin (2005), Andrew Tridgell, utilizando engenharia reversa no protocolo
SMB (Server Message Block) implementado ao UNIX, fazendo com que o computador
com sistema DOS enxergue o servidor UNIX.
Segundo Vernooij et al (2009), temos dois tipos de perfis hoje em dia, o local e
o móvel. No perfil local, utilizado por vários usuários, uma grande quantidade de
espaço em disco é necessária para o armazenamento de cada perfil de usuário.
Já no contexto móvel, o perfil é copiado de um servidor e assim cria um perfil
local, do ponto de vista prático, o diretório do servidor é copiado no computador de
trabalho remoto e os dados do perfil móvel são trafegados em rede.
Segundo testes realizados pela Universidade Tecnológica Federal do Paraná
(UTFPR), baseando em um servidor de perfil móvel instalado com software livre
OpenLDAP, SAMBA e NFS (Network File System), obteve resultados pela ferramenta
IOzone indicando que a combinação NFS (Network File System) /EXT3 (third extended
filesystem) /UDP (User Datagram Protocol) com tamanho de blocos ajustado para
32768 bytes, obteve melhor desempenho de escrita e leitura em relação a outros
sistemas. Com a ampliação da capacidade da rede de computadores, poderia atender a
uma demanda de desempenho de tráfego e processamento de muitos cenários.
A análise dos dados indica que uma das soluções para melhorar ainda mais a
performance dos servidores de arquivos seria usar tecnologia como RAID para um
melhor desempenho do disco rígido, além do uso de placa Gigabit Ethernet. Um Cluster
também é desejável. O artigo não avaliou o desempenho com acessos paralelos de
muitos usuários.
3. Materiais e Métodos.
Inicialmente foi realizada uma pesquisa bibliográfica sobre o dispositivo, sistema
operacional e do servidor que serão utilizados neste projeto.
Com o termino da pesquisa, a foi executada uma simulação do tipo laboratorial,
criando um ambiente onde será instalado o sistema operacional Pidora em uma máquina
Raspberry PI Mod. B 512 MB RAM.
No ambiente necessário para realização dos testes, foi utilizado um
minicomputador Raspberry PI Mod. B conforme as características apresentadas no
quadro 1:
Quadro 1. Características Raspberry PI Mod. B
CARACTERISTICAS RASPBERRY PI MOD B
Soquete (Soc)
Broadcom BCM2835 (CPU, GPU.DSP E SDRAM)
CPU
700 MHz núcleo ARM1176JZF-S (família ARM11)
GPU
Broadcom VideoCore IV (OpenGL ES 2.0, OpenVG),
1080p30, H.264 de alto nível de
codificação/decodificação
Memória RAM
512 MB
Portas USB 2.0
2 portas USB 2.0
Saídas de vídeo
composite RCA, HDMI
Saídas de áudio
3,5mm jack, HDMI
Armazenamento
Slot para cartão SD, MMC, SDIO
Rede LAN
Ethernet 10/100 Mbps (RJ 45)
Periféricos baixo8 x GPIO, UART, I²C bus, SPI bus com seleção de 2
nível
chips. +3,3 V, +5V, Ground
Corrente (mA)
700 mA (3,5W)
potencia (W)
Alimentação
5 Volts via micro USB ou GPIO header
Dimensões
85,60 x 53,98 mm
Fonte: Elaborado pelos autores, 2015.
Dispositivo onde está instalado e executando o Sistema operacional Pidora, uma
versão da distro Fedora do Linux, aperfeiçoado para rodar no Raspberry PI como uma
versão compilada do Fedora 18 para a arquitetura ARM (Acorn RISC Machine) para
processadores de 32 bits usada principalmente em sistemas embarcados, no qual foi
instalado e configurado o SAMBA Versão 4.1.9 implementando um servidor de
arquivos. E também um Notebook, Intel Core i5 com 8 GB de memória RAM, sistema
operacional Windows 10 como cliente, como mostra a Figura 2.
A máquina Raspberry PI e a máquina Windows estarão interligados em rede por
um switch NWay ENH908-NWY Padrão IEEE 802.3 10BASE-T, IEEE 802.3u
100BASE-TX, Operação full-duplex e fluxo de controle IEEE 802.3x, 8 portas Fast
Ethernet RJ-45 de 10/100 Mbps Uplink MDI/MDI-X automático (Cruzamento
automático), velocidade da rede 10/100 Mbps & modo full/half duplex.
Figura 2. Visão geral
Fonte: Elaborado Pelos Autores, 2015.
E conforme proposto neste experimento, além de testarmos a funcionalidade do
Raspberry PI como servidor utilizando SAMBA para compartilhamento de arquivos
também usamos 5 (cinco) tipos de dispositivos de armazenamento (conforme Quadro
2), analisando seu desempenho na escrita e leitura de arquivos a partir do computador
cliente.
Quadro 2. Dispositivos de armazenamentos
CARACTERISTICAS DOS DISPOSITIVOS DE ARMAZENAMENTO
TIPO DE
DISPOSITIVO
ESPAÇO DE
ARMAZENAMENTO
MARCA/MODELO
INTERFACE
TAXA
LEITURA E
ESCRITA *
Cartão SD
16 GB
EMTEC CAT 4
ADAPTADOR
4 MB/s
Pendrive
4 GB
KINGSTON DT101
USB 2.0
6 MB/s
HD Externo
250 GB
SEAGATE
SATA USB 2.0
Até 480
MB/s
HD SSD
120 GB
KINGSTON
CASE SATA USB
3.0
Pendrive
ultra rápido
32 GB
SANDISK
USB 3.0
450
MB/s
100
MB/s
* Valores obtidos segundo fabricante
Fonte: Elaborado pelos autores, 2015.
Foi utilizado também um cartão de memória micro SD EMTEC 2GB, categoria 4
tipos compactic flash 4 MB/s em um adaptador para cartão de memória, configurado
para inicialização do sistema operacional Pidora (BOOT) no dispositivo Raspberry PI, e
para conexão de periféricos como teclado, mouse e um adaptador wireless foi utilizado
Hub USB 3 portas BRIGHT, compatível com USB 2.0, 500 mA, tecnologia plug and
play.
No notebook com o sistema operacional Windows 10 foi mapeada as unidades de
rede para se efetuar os testes e instalado o software CrystalDiskMark, uma ferramenta
de benchmarking de armazenamento muito popular, porque é versátil e pode produzir
bons resultados, com testes em drives USB, cartões de memória, drives SSD e discos
rígidos mecânicos.
O software pode medir velocidades de leitura e gravação, sequenciais e aleatórias
conforme os tipos e características dos testes observado no Quadro 3.
Quadro 3. Testes CristalDiskMark
Testes CristalDiskMark
TIPOS DE TESTES
PRINCIPAIS CARACTERISTICAS
Seq Q32T1
Ele executa os testes com blocos
sequenciais de 128 KB de leitura e
gravações com múltiplas filas e
threads.
Estes são executados com blocos de 4
KB que são gravados em locais
aleatórios do dispositivo em múltiplas
filas e threads.
Estes são realizados com blocos de 1
MB e mantém uma fila de gravação e
leitura com um bloco em um único
segmento.
Realiza os testes com bloco de 4 KB de
leitura e gravação com filas simples e
threads.
4K Q32T1
Seq
4K
Fonte: Elaborado pelos autores, 2015.
Toda a interface do software é projetada para tornar o aplicativo muito fácil de usar,
por isso todas as informações depois da realização dos ensaios são exibidas na janela
principal, podendo selecionar manualmente o número de execuções de teste, o tamanho
do teste e a unidade que será analisada, como é ilustrado na Figura 3.
Figura 3. CrystalDiskMark
Fonte: http://blog.premiumusb.com/2011/02/showdown-of-usb-benchmarking tools/, 2015.
3.1 Instalações e configurações dos sistemas.
Para a instalação do sistema operacional Pidora foi necessário a utilização de um cartão
Micro SD (Secure Digital), (mínimo 4Gb) pois a inicialização do sistema, é feita através
deste dispositivo e da imagem do mesmo obtida através do site pidora.ca. Como o
Raspberry PI é baseado em uma arquitetura ARM, naturalmente foi necessário um
sistema operacional preparado para esta arquitetura sendo um Linux para esta
plataforma.
De posse da imagem, a mesma foi transferida para o cartão SD através do
sistema operacional Windows, o software Win32DiskImager, uma simples aplicação
open source que escreve arquivos de imagem CD ou DVD para o USB ou cartão SD.
Com o cartão pronto, basta inserir no slot do Raspberry PI e alimentá-lo com a fonte
para a inicialização.
Para realização dos testes de desempenho e benchmarking de armazenamento
com os dispositivos foi necessário instalar o sistema operacional em cada um dos
dispositivos de armazenamento, lembrando que o Raspberry PI obrigatoriamente
inicializa pelo cartão SD, para isto foi necessária a cópia da partição de inicialização
(BOOT), para cartão SD cat 4 de 2 GB, e editado o arquivo cmdline.txt na mesma, onde
se encontram os parâmetros de inicialização do Raspberry PI, este contém uma variável
chamada 'root', e ela precisa ser ajustado para apontar para a nova partição, / dev / sda1.
Ao reiniciar o sistema, ele deve usar o dispositivo de armazenamento onde
neste foi formatada a nova partição, com o sistema de arquivos ext4 (Fourth extended
file system), e copiado o sistema de arquivos “rootfs”, este processo foi executado em
todos os dispositivos de armazenamento que foram utilizados para os testes.
No caso de se utilizar HDs externos diretamente conectados a porta USB do
Raspberry PI, é necessário que estes dispositivos sejam alimentados por fonte externa,
pois a potência de saída é limitada.
Terminada a etapa de configuração e instalação do sistema operacional, foi
efetuada a configuração da rede, endereçamento e interface responsável pela conexão
alterando o endereço IP (Internet Protocol) dinâmico para fixo, sendo 192.168.0.1 na
interface de rede eth0 no dispositivo Raspberry PI e 192.168.0.2 na máquina Windows,
logo a instalação do SAMBA, serviço base do servidor de arquivos, pois através dele
será feito o compartilhamento, foi configurado o arquivo smb.conf arquivo responsável
pelas propriedades do servidor e parâmetros de configurações de inicialização do
sistema conforme a Figura 4 a seguir.
Figura 4. smb.conf
Fonte: Elaborado Pelos Autores, 2015.
Concluído as configurações foram reiniciados todos os sistemas e serviços e
feita as conexões de rede e também o mapeamento da unidade na máquina Windows.
Com a unidade de rede mapeada e também o software CrystalDiskMark instalado, foi
iniciado os testes de armazenamento no servidor SAMBA instalado no sistema
operacional Pidora, lembrando que os testes foram feitos em cada dispositivo de
armazenamento, estando todos com as mesmas configurações e instalações para
verificar o seu desempenho na leitura e escrita de dados.
4. Resultados obtidos.
Na execução dos testes a seguir foi utilizado o software CrystalDiskMark v 4.0.1 x64.
Esse software executa quatro tipos de testes: “Seq Q32T1”, “4K QD32T1”, “Seq” e
“4K”.
Em “Seq Q32T1”, ele executa os testes com blocos sequenciais de 128 KiB de
leitura e gravações com múltiplas filas e threads. Em “4K QD32T1”, os testes são
executados com blocos de 4 KiB que são gravados em locais aleatórios do dispositivo
em múltiplas filas e threads. Já em “Seq”, estes são realizados com blocos de 1 MiB e
mantém uma fila de gravação e leitura com um bloco em um único segmento e em“4K”,
realiza os testes com bloco de 4 KiB de leitura e gravação com filas simples e threads
mesmo o programa utilizando 1000MiB como padrão.
E ainda pode se alterar esse número garantindo uma maior precisão nos
resultados, porém faz com que o processo se torne mais demorado. Foram também
configuradas as opções para média de 3 testes com intervalos de tempo de 5 segundos,
com 500 MiB para o tamanho do teste com os dados padrão (aleatório).
Os testes foram realizados em cada dispositivo de armazenamento e os resultados
obtidos, no final, foram comparados para uma análise de benchmarking e desempenho
dos mesmos, como podem ser observados nos gráficos a seguir, estes foram divididos
conforme os testes realizados mostrando os tempos de leitura e escrita em cada
dispositivo
No primeiro teste, “Seq Q32T1”, onde este é executado com a leitura e
gravações de blocos sequenciais de 128 KiB (Kibibyte), com múltiplas filas e threads.
Na leitura, ficando com melhor tempo o dispositivo Pendrive 32 GB ultra rápido e com
apenas 1,95% a menos de seu tempo podemos observar o HD Externo da Seagate de
250 GB, em seguida observamos o HD SSD da Kingston 120 GB e o Pendrive 4 GB,
com poucos milésimos de segundos a menos e por último o cartão SD EMTEC de 16
GB.
Na escrita verificou-se que em quase todos os dispositivos obtiveram o mesmo
tempo, chamando a atenção para o HD SSD Kingston 120GB com uma diferença de
0.85% a menos em relação aos demais conforme Quadro 4.
Quadro 4. Teste Sequencial “Seq Q32T1”
Teste de leitura e escrita Sequencial "Seq
Q32T1"
5,000
4,500
4,000
3,500
3,000
MB/s 2,500
2,000
1,500
1,000
0,500
0,000
cartão SD 16
GB
pendrive 4
GB
Pendrive
ultra 32 GB
HD SSD 120
GB
HD ext. 250
GB
Leitura
2,805
3,905
4,142
3,906
4,063
Escrita
3,119
3,119
3,119
3,093
3,119
Fonte: elaborado pelos autores, 2015.
No teste “4K QD32T1”, que são executados com blocos de 4 KiB (Kibibyte),
gravados em locais aleatórios do dispositivo em múltiplas filas e threads observou que o
pendrive 32 GB ultra rápido teve um desempenho menor com blocos menores,
colocando o em último lugar em relação aos demais dispositivos tanto em leitura quanto
na escrita, assumindo com melhor desempenho, com pequenas diferenças o HD SSD
Kingston 120 GB e o Pendrive de 4 GB Kingston, e o HD externo Seagate 250 GB com
melhor tempo de escrita, logo após o HD SSD, colocando o cartão SD EMTEC 16GB
em melhor posição de leitura, em relação ao HD Externo e leitura/escrita em relação ao
Pendrive Ultra 32GB,conforme demonstrado no Quadro 5.
Quadro 5. Teste aleatório “4K Q32T1”
Teste de leitura e escrita aleatório "4k
Q32T1"
5,000
4,500
4,000
3,500
3,000
MB/s 2,500
2,000
1,500
1,000
0,500
0,000
cartão SD 16
GB
pendrive 4
GB
Pendrive
ultra 32 GB
HD SSD 120
GB
HD ext. 250
GB
Leitura
1,627
2,001
1,361
2,007
1,450
Escrita
1,277
2,193
1,22
2,200
2,197
Fonte: elaborado pelos autores, 2015.
Verificado o teste sequencial "Seq", onde são realizados com blocos de 1 MiB e
mantém uma fila de gravação e leitura com um bloco em um único segmento, foi
observado que o Pendrive 32 GB Ultra, em relação ao modelo de HD SSD de 120 GB
da Kingston sendo de apenas 4,57% a menos e de 9,55% em relação ao HD externo
Seagate 250 GB e do Pendrive de 4 GB ficando com menor resultado o cartão SD
EMTEC 16 GB,
Em escrita os dispositivos se mantiveram no mesmo nível, apenas o cartão SD
EMTEC 16 GB ficou com o valor abaixo dos demais, o que demonstra a facilidade que
alguns dispositivos têm em lidar com pequenos conjuntos de operações de leitura,
conforme o Quadro 6.
Quadro 6. Teste sequencial “Seq”
TESTE DE LEITURA E ESCRITA
SEQUENCIAL "SEQ"
5,000
4,500
4,000
3,500
3,000
MB/s 2,500
2,000
1,500
1,000
0,500
0,000
cartão SD 16
GB
pendrive 4
GB
Pendrive
ultra 32 GB
HD SSD 120
GB
HD ext. 250
GB
Leitura
2,306
4,404
4,823
4,613
4,404
Escrita
2,936
3,145
3,145
3,145
3,145
Fonte: Elaborado pelos autores, 2015
Concluído os teste "4K" (Quadro 7), realizado com bloco de 4 KiB de leitura e
gravação com filas simples e threads, é observado que o dispositivo da SSD da
Kingston, em relação aos demais modelos teve um melhor desempenho em leitura, o
que demonstra a facilidade que os SSDs tem em lidar com pequenos conjuntos de
operações de leitura, seguido pelo Pendrive ultra 32 GB Sandisk, ficando o Pendrive
4GB com menor desempenho em Leitura, chamando a atenção para a escrita o Pendrive
Ultra 32 GB Sandisk, onde todos os dispositivos mantiveram uma média razoável, este
por sua vez teve o menor desempenho.
Quadro 7. Teste aleatório “4K”
Teste de leitura e escrita aleatório "4k"
5,000
4,500
4,000
3,500
3,000
MB/s 2,500
2,000
1,500
1,000
0,500
0,000
cartão SD 16
GB
pendrive 4
GB
Pendrive
ultra 32 GB
HD SSD 120
GB
HD ext. 250
GB
Leitura
1,608
0,708
1,904
2,012
1,484
Escrita
1,694
1,612
1,189
1,655
1,639
Fonte: Elaborado pelos autores, 2015.
Depois de concluído o experimento, constatou-se que, os elementos de hardware
utilizados demonstram grande funcionalidade para aplicação e também foi observado
que os dispositivos de armazenamento podem alterar a eficiência do sistema.
Observando o Quadro 8 onde se encontram todos os testes juntos, podemos verificar a
grande variação de leitura e escrita de dados entre dispositivos, colocando o HD SSD
120 GB Kingston em média com o melhor desempenho, lembrando que muitos outros
fatores podem ter influenciado nos testes, desde a configuração do computador cliente,
até as placas controladoras dos dispositivos de armazenamento, sendo que um detalhe
importante é a interface USB 2.0 do dispositivo Raspberry PI.
Quadro 8. Teste aleatório
TESTE VELOCIDADE DE LEITURA E ESCRITA
MB/s
5,000
4,500
4,000
3,500
3,000
2,500
2,000
1,500
1,000
0,500
0,000
cartão SD
16 GB
pendrive 4
GB
Pendrive
ultra 32
GB
HD SSD
120 GB
HD ext.
250 GB
"Seq Q32T1" LEITURA
2,805
3,905
4,142
3,906
4,063
"Seq Q32T1" ESCRITA
3,119
3,119
3,119
3,093
3,119
"4 K Q32T1" LEITURA
1,627
2,001
1,361
2,007
1,450
"4 K Q32T1" ESCRITA
1,277
2,193
1,220
2,200
2,197
"Seq" LEITURA
2,306
4,404
4,823
4,613
3,145
"Seq" ESCRITA
2,936
3,145
3,145
3,145
3,145
"4 K" LEITURA
1,608
0,708
1,904
2,012
1,639
"4 K" ESCRITA
1,694
1,612
1,189
1,655
1,639
Fonte: Elaborado pelos autores, 2015.
5. Conclusão.
O artigo apresentou a utilização de elementos open-source e hardware para
implementação de um servidor de arquivos utilizando o dispositivo Raspberry PI, e teve
o objetivo de demonstrar a utilização de diferentes dispositivos de armazenamento. Para
isto foram realizados testes de benchmark com 5 (cinco) tipos de dispositivos. Em
relação aos experimentos, os dispositivos computacionais, se comportaram de maneira
satisfatória e atenderam os objetivos de cada um. Por fim, concluiu-se que os
dispositivos de armazenamento podem interferir no desempenho e na eficiência do
sistema, em se tratando de leitura e escrita de dados e compartilhamento de arquivos.
As contribuições alcançadas com este trabalho não encerram as pesquisas
relacionadas a implantação de um servidor de arquivos utilizando Raspberry PI, e
também a continuidade dos testes em dispositivos de armazenamento, verificando a
performance dos mesmos em um sistema de compartilhamento de arquivos utilizando
servidor SAMBA, mas abrem oportunidades para trabalhos futuros.
6. Referências.
Alecrim,
E.
(2005).
“Servidor
Samba:
o
que
é”.
http://www.infowester.com/linuxsamba.php. Acessado em 19 de outubro d 2014.
Bartlett, A. (2005) “Samba 4 – Active Directory”. São Paulo: Samba.Org [S.1], p.78.
Garcia, M. “Informática Aplicada a Negócios”. Rio de Janeiro: Editora Brasport.2005.
Google. (2015) “Imagens”. Disponível em:
http://blog.premiumusb.com/2011/02/showdown-of-usb-benchmarking tools/.
Acessado em: 2015.
Google. (2015) “Imagens”. Disponível em: http://uk.rs-online.com/web/p/processormicrocontroller-development-kits/7568308/. Acessado em: 2015.
Jandl, J. P. (2004) “Notas sobre sistemas operacionais”. São Paulo.
Nemeth, E.et al. (2002). “Manual de Administração do Sistema UNIXR”. Bookman, 3a.
edição.
Oliveira, R. M. (2013) “Raspbery PI – Conceitos e Prática”. Rio de Janeiro: Editora
Ciência Moderna Ltda.
Pinto, P. (2013). “Chegou o Pidora Remix - O Fedora para Raspberry PI”.
http://pplware.sapo.pt/linux/chegou-o-pidora-remix-o-fedora-para-raspberry-pi/.
Acessado em 16 de setembro de 2015.
Richardson, M., Wallace, S. (2013) “Primeiros passos com Raspberry PI”. São Paulo:
Novatec Editora Ltda.
Ross, J. (2008). “Redes de computadores”. São Paulo: editora Atenna, 1ª Edição.
So Pidora. (2013). http://dovicchi-sos.blogspot.com.br/2013/06/pidora.html. Acessado
em 16 de setembro de 2015.
Stato, F. A. (2002). “Domínio Linux”. Florianópolis: Bookstore Livraria.
Tanenbaum A. S. Modern Operating Systems. Prentice Hall, Upper Saddle River, NJ,
1992.
Tanenbaum, A. S. (1997) “Redes de Computadores”, São Paulo, Pearson, 3ª edição,
p923.
Vernooij, J. R., Terpstra, J. H., Carter, G. (2009) “The Official Samba 3.2.x HOWTO
and Reference Guide”, Disponível em: http://www.samba.org/samba/docs/Samba3HOWTO.pdf.
Werner Hein, (Respberry pi aplicado ao mundo real) http://lnm.com.br/article/8388
Werner,
H.
(2015)
“Respberry
http://lnm.com.br/article/8388
PI
aplicado
ao
mundo
real”
Download