• Nenhum resultado encontrado

Benchmark em sistemas de arquivos utilizando dispositivos de armazenamento: SSD e HDD

N/A
N/A
Protected

Academic year: 2021

Share "Benchmark em sistemas de arquivos utilizando dispositivos de armazenamento: SSD e HDD"

Copied!
41
0
0

Texto

(1)

UNIVERSIDADE REGIONAL DO NOROESTE DO

ESTADO DO RIO GRANDE DO SUL

DEPARTAMENTO DE CIÊNCIAS EXATAS E

ENGENHARIAS

CIÊNCIA DA COMPUTAÇÃO

Henrique Gabbi

Benchmark em Sistemas de Arquivos

Utilizando Dispositivos de Armazenamento:

SSD e HDD

Ijuí/RS

2016

(2)

Henrique Gabbi

Benchmark em Sistemas de Arquivos Utilizando

Dispositivos de Armazenamento: SSD e HDD

Trabalho apresentado ao curso de Ciência da Computação da Universidade Regional do Noroeste do Estado do Rio Grande do Sul, como requisito para a obtenção do tí-tulo de Bacharel em Ciência da Computa-ção.

Orientador: Edson Luiz Padoin, DSc

Ijuí/RS

2016

(3)

Henrique Gabbi

Benchmark em Sistemas de Arquivos Utilizando

Dispositivos de Armazenamento: SSD e HDD

Trabalho apresentado ao curso de Ciência da Computação da Universidade Regional do Noroeste do Estado do Rio Grande do Sul, como requisito para a obtenção do tí-tulo de Bacharel em Ciência da Computa-ção.

Trabalho aprovado. Ijuí/RS, 10 de dezembro de 2016:

Edson Luiz Padoin, DSc

Orientador

Romário Lopes Alcântara, MSc

Banca

Ijuí/RS

2016

(4)

Dedico este trabalho aos meus pais

Claudio Luiz Gabbi e Tania Lisete Gabbi, que sempre me apoiaram em toda a caminhada durante a

realização do Trabalho de Conclusão de Curso, bem como para superar todas as

(5)

AGRADECIMENTOS

Agradeço primeiramente a Deus por ter me dado saúde e força para superar as dificuldades.

Agradeço aos meus pais e a meus familiares, por todo apoio e incentivo nos momentos de dificuldade.

Aos professores por todo o conhecimento dado durante todo o curso, em especial, ao meu orientador, Prof. Edson L. Padoin, pela contribuição indispensável neste trabalho e por toda atenção prestada.

Enfim, a todos que de uma forma ou outra contribuíram para a conclusão deste trabalho.

(6)

"Sentir é criar. Sentir é pensar sem ideias, e por isso sentir é compreender, visto que o Universo não tem ideias"

(7)

RESUMO

O presente trabalho apresenta uma análise dos sistemas de arquivos minimamente funcionais no linux: Ext2, Ext3, Ex4, Btrfs, XFS e JFS. Essa avaliação inclui discos rígidos (HDDs) e dispositivos de estado sólido (SSDs) para armazenamento. O software utilizado para análise foi o Benchmark Sysbench que tem como objetivo coletar a velocidade de escrita e leitura sequencial e também escrita e leitura aleatória. Os testes realizados nos dispositivos foram bastante equilibrados e chegaram a taxas de leitura de 165 MB/s e com 155 MB/s na escrita. Apenas o Btrfs apresentou desempenho significativamente mais baixo que os outros competidores.

Palavras-chaves: Sistemas de aquivos, Discos rígidos (HDDs), Dispositivos de estado

(8)

ABSTRACT

The present work presents an analysis of the minimally functional file systems in linux: Ext2, Ext3, Ex4, Btrfs, XFS and JFS. This evaluation includes hard drives (HDDs) and solid state drives (SSDs) for storage. The software used for analysis was the Benchmark Sysbench that aims to collect the writing speed and sequential reading as well as writing and random reading. The tests performed on the devices were quite balanced and reached read rates of 165 MB/s and 155 MB/s in writing. Only the Btrfs performed significantly lower than the other competitors.

(9)

LISTA DE ILUSTRAÇÕES

Figura 1 – Alocação contígua . . . 15

Figura 2 – Alocação encadeada . . . 16

Figura 3 – Alocação indexada . . . 17

Figura 4 – Estrutura do sistema de arquivo . . . 18

Figura 5 – Estrutura de um inode . . . 19

Figura 6 – Disco rígido . . . 23

Figura 7 – Estrutura de um disco rígido . . . 24

Figura 8 – Tempo de acesso . . . 26

Figura 9 – Entrelaçamento . . . 26

Figura 10 – Estrutura interna SSD . . . 28

Figura 11 – Bloco SSD . . . 29

Figura 12 – Resultados dos testes de leitura sequencial . . . 33

Figura 13 – Resultados dos testes de escrita sequencial . . . 34

Figura 14 – Resultados dos testes de leitura aleatória . . . 35

(10)

LISTA DE TABELAS

Tabela 1 – Tamanho de alocação Ext3 . . . 20 Tabela 2 – Configuração do Ambiente . . . 30 Tabela 3 – Dispositivos de armazenamento utilizados . . . 31

(11)

LISTA DE ABREVIATURAS E SIGLAS

EXT2 Extent File System EXT3 Third Extent File System EXT4 Fourth Extent File System HDD hard Disk Drive

JFS Journaling File System SSD Solid-State Drive RPM Rotações por minuto

(12)

SUMÁRIO

1 INTRODUÇÃO . . . . 13 2 ESTADO DA ARTE . . . . 14 2.1 Sistemas de arquivos . . . . 14 2.1.1 Métodos de acesso . . . 14 2.1.2 Alocação de espaço . . . 15 2.1.2.1 Alocação contígua . . . 15 2.1.2.2 Alocação encadeada . . . 16 2.1.2.3 Alocação indexada . . . 17

2.1.3 Sistemas de arquivos linux . . . 17

2.1.3.1 Ext2 . . . 19 2.1.3.2 Ext3 . . . 20 2.1.3.3 Ext4 . . . 20 2.1.3.4 Btrfs . . . 21 2.1.3.5 XFS . . . 22 2.1.3.6 JFS . . . 23

2.2 Hard Disk Drive - HDD . . . . 23

2.2.1 Tempo de acesso . . . 25

2.2.2 Técnicas para reduzir o tempo de acesso . . . 25

2.2.2.1 Entrelaçamento . . . 25

2.2.2.2 Escalonamento . . . 27

2.3 Solid State Disk - SSD . . . 28

2.3.1 Tecnologias empregadas em memórias Flash . . . 28

2.3.2 Trim . . . 29 3 METODOLOGIA DE TESTE . . . . 30 3.1 Ambiente de execução . . . . 30 3.2 Benchmark . . . . 31 3.3 Considerações finais . . . . 32 4 RESULTADOS . . . . 33

4.1 Teste de leitura sequencial . . . . 33

4.2 Teste de escrita sequencial . . . 34

4.3 Teste de leitura aleatória . . . . 35

4.4 Teste de escrita aleatória . . . . 35

(13)

5 CONCLUSÃO . . . . 37 5.1 Trabalhos Futuros . . . . 38

(14)

13

1 INTRODUÇÃO

A gravação de dados em um dispositivo de armazenamento, de forma acessível e organizada, só é possível por meio de um sistema de arquivo. É este que determina como as informações podem ser guardadas, acessadas, copiadas, alteradas, nome-adas e até apagnome-adas.Toda e qualquer manipulação de dados em um dispositivo de armazenamento necessita de um sistema de arquivos para que estas ações sejam pos-síveis. Atualmente, há vários sistemas de arquivos disponíveis, para os mais diversos sistemas operacionais e variadas finalidades (MACHADO; MAIA, 2004, p.212).

O sistema de arquivo também é responsável pela segurança, velocidade e capacidade de armazenamento em um dispositivo de armazenamento. É ele que define como os bytes que compõem um arquivo serão armazenados no disco e de que forma o sistema operacional terá acesso aos dados (TANENBAUM; WOODHULL, 2009, p.101).

Neste contexto, esse trabalho visa avaliar a velocidade de leitura e escrita, no sistema operacional Linux, dos seguintes sistemas de arquivos minimamente funcionais: Ext2, Ext3, Ext4, Btrfs, XFS e JFS. Essa avaliação inclui discos rígidos (HDDs) e dispositivos de estado sólido (SSDs) para o armazenamento.

Com exceção do Ext2, todos os outros sistemas de arquivos citados utilizam journaling, o qual tem a principal função de facilitar a manutenção do sistema por acelerar e tornar mais precisa a verificação de sua integridade. Como consequência, sistemas de arquivos com journaling são menos propensos a falhas, após uma falta de energia (HILZINGER, 2009b).

O restante do trabalho é organizado da seguinte forma. O Capítulo 2 aborda os principais conceitos de sistemas de arquivos e métodos de acesso, assim como os conceitos de discos rígidos (HDDs) e dispositivos de estado sólido (SSDs). No Capítulo 3 será apresentado a metodologia e o ambiente de teste para execução da ferramenta de benchmark. O Capítulo 4 apresenta os resultados obtidos. Por fim, no Capítulo 5 serão apresentadas as considerações finais acerca dos resultados obtidos, bem como a sugestão para trabalhos futuros.

(15)

14

2 ESTADO DA ARTE

Nesse capítulo serão apresentados os principais conceitos dos sistemas de arquivos e dos dispositivos de armazenamento.

A Seção 2.1 apresenta os métodos de acesso aos dados e os sistemas de arquivos utilizados nesse trabalho. Na Seção 2.2 é apresentado o dispositivo de arma-zenamento HDD e técnicas para reduzir o tempo de acesso aos dados, e por fim na Seção 2.3 é apresentado a nova tecnologia de armazenamento SSD.

2.1

Sistemas de arquivos

Armazenar e recuperar informações é uma atividade essencial para qualquer tipo de aplicação. Um processo deve ser capaz de ler e gravar de forma permanente grande volume de dados. A maneira pela qual o sistema operacional estrutura e organiza estas informações é através da implementação de arquivos. Os arquivos são gerenciados pelo sistema operacional de maneira a facilitar o acesso dos usuários ao seu conteúdo. A parte do sistema responsável por essa gerência é denominada sistemas de arquivo (MACHADO; MAIA, 2004, p.212).

2.1.1

Métodos de acesso

Métodos de acesso diz respeito à forma como o conteúdo de um arquivo é acessado. Conforme Oliveira, Carissimi e Toscani (2010, p.211) existem três tipos de métodos de acesso, são ele:

• Sequencial: Método mais simples, o conteúdo do arquivo só pode ser acessado sequencialmente.

• Direto: Esse método permite a leitura/gravação de em arquivo diretamente na sua posição.

• Indexado: O arquivo deve possuir uma área de índice onde existam ponteiros para os diversos registros. Nesse caso a aplicação que requerer acessar um registro, deverá ser especificada uma chave através da qual o sistema pesqui-sará, na área de índice, o ponteiro correspondente, a partir disso, acessando diretamente o arquivo.

(16)

15

2.1.2

Alocação de espaço

Conforme Machado e Maia (2004, p.221) o sistema operacional é responsável por gerenciar os espaços alocados aos arquivos. Porém antes de alocar um arquivo o sistema operacional devera saber quais blocos estão livres no disco ou não, para isso o sistema operacional implementa uma estrutura chamada de mapa de bits, para gerenciar quais áreas ou blocos no disco estão livres. Cada bloco do disco é representado por um bit, podendo assumir 0 indicando bloco livre ou 1 para bloco alocado.

Sabendo-se os blocos livres, o sistema de arquivo utiliza métodos para alocar o arquivo. Nas seções seguintes são apresentados os principais métodos.

2.1.2.1 Alocação contígua

A alocação contígua consiste em armazenar um arquivo em blocos sequencial-mente dispostos no disco. Conforme Figura 1 o sistema localiza um arquivo através do endereço do primeiro bloco e da sua extensão em blocos. O principal problema dessa técnica de alocação é quando um arquivo tem que ser criado com um determinado tamanho, será necessário existir uma quantidade suficiente de blocos contínuos livres para efetuar a alocação (MACHADO; MAIA, 2004, p.221).

Figura 1 – Alocação contígua

(17)

16 Quando o sistema operacional solicitar alocar espaço para armazenar um novo arquivo, poderá existir mais de um segmento com o mesmo número de blocos livres. Neste caso existe estratégias de alocação para selecionar o segmento a ser escolhido. Conforme Machado e Maia (2004, p.222) algumas das principais são:

• First-fit: Seleciona o primeiro segmento livre com o tamanho suficiente para alocar o arquivo. A busca é interrompida quando localizado um segmento com tamanho adequado.

• Best-fit: Seleciona o menor segmento livre disponível com tamanho suficiente para armazenar o arquivo. A busca é necessária em toda a lista.

• Worst-fit: Seleciona o maior segmento livre. A busca também é necessária em toda a lista.

2.1.2.2 Alocação encadeada

A alocação encadeada ou alocação com lista ligada, consiste armazenar um arquivo como uma lista ligada de blocos. Cada bloco possui um ponteiro para o bloco seguinte do arquivo. O restante do bloco é usado para o armazenamento (TANENBAUM; WOODHULL, 2009, p.113).

Figura 2 – Alocação encadeada

Fonte: Machado e Maia (2004, p.224)

Conforme Figura 2 esse modelo de alocação, consiste na quebra do arquivo em diversos pedaços, denominados extents. Consequentemente ocorre a fragmentação de arquivo, resultando no aumento de tempo de acesso aos arquivos. As principais

(18)

17 desvantagens dessa técnica são o desperdiço de espaço nos blocos com o armazena-mento de ponteiros e além disso, somente é permitido o acesso sequencial aos blocos dos arquivos (MACHADO; MAIA, 2004, p.223).

2.1.2.3 Alocação indexada

Conforme Oliveira, Carissimi e Toscani (2010, p.212) na alocação indexada, cada arquivo possui uma tabela de índices. Cada índice armazena o endereço de um dos blocos que formam o arquivo, conforme pode ser observada na Figura Figura 3.

Figura 3 – Alocação indexada

Fonte: Machado e Maia (2004, p.225)

2.1.3

Sistemas de arquivos linux

Conforme Oliveira, Carissimi e Toscani (2010, p.260), "o linux organiza o seu sistema de arquivo em uma árvore hierarquizada, resultando em uma estrutura única que agrega todas as informações relativas ao sistema de arquivos."

Além disso Machado e Maia (2004, p.298) diz que "o sistema de arquivos do Unix tem como base uma estrutura de diretórios hierárquica, sendo o diretório raiz (root) representado pela barra (/)". Para localização de um arquivo dentro de estrutura de diretórios é indicada utilizando-se um pathname, o qual representa uma sequência de diretórios separados por barra. Existem dois tipos de pathname:

(19)

18 • Absoluto: Tem que informar o caminho completo dos diretórios e subdiretórios, a

partir da raiz do sistema de arquivos.

• Relativo: Indica a localização de um arquivo a partir do diretório corrente.

Na Figura 4 e mostrado a estrutura do sistema de arquivo do Unix. O boot block, serve para realizar a carga do sistema. O superblock armazena informações sobre a estrutura do sistema de arquivos, como o número de blocos do disco, número de i-nodes e a lista de blocos livres (MACHADO; MAIA, 2004, p.301).

Figura 4 – Estrutura do sistema de arquivo

Fonte: Machado e Maia (2004, p.301)

Os i-nodes são responsáveis por mapear e identificar arquivos no disco. Cada i-node possui um tamanho de 64 bytes e descreve um único arquivo, contendo inúmeras informações do arquivo, como: seus atributos, tamanho, datas de criação e modificação, dono, grupo, proteção, permissões de acesso, tipo do arquivo, além da localização dos blocos de dados no disco (TANENBAUM; FILHO, 1995, p.114).

Na Figura 5 pode ser observado a estrutura de um inode. No caso de arquivos pequenos, todos os blocos são mapeados diretamente pelo inode, já em relação a arquivos grandes é utilizado o redirecionamento único, duplo ou triplo. No redirecio-namento único, uma das entradas no inode aponta para uma outra estrutura que por sua vez endereça os blocos do arquivo no disco. O redirecionamento duplo e triplo é apenas uma extensão do redirecionamento único (CARD; TS’O; TWEEDIE, 1994)

As versões atuais do Linux tem suporte para vários sistemas de arquivos, sendo que os mais utilizados serão desritos abaixo.

(20)

19 Figura 5 – Estrutura de um inode

Fonte: Tanenbaum e Woodhull (2009)

2.1.3.1 Ext2

O Ext2 foi desenvolvido por Rémy Card em 1993, aonde foi projetado e imple-mentado para corrigir alguns problemas presentes no primeiro sistema de arquivos estendidos (Ext). O Ext suporta partições de até 4TB, é 255 caracteres para nomes de arquivos (CARD; TS’O; TWEEDIE, 1994).

O sistema de arquivo Ext2 (second extended file system) tem por sua estrutura básica o bloco, que pode armazenar dados ou informações de controle do próprio sistema de arquivo. Uma partição com Ext2 é dividida em um conjunto de grupos de blocos e um bloco para conter o boot block. A organização de blocos em grupos de blocos tem por um objetivo reduzir a dispersão de arquivos no disco. Desse modo, a o arquivo é alocado em blocos pertencentes a um mesmo grupo, reduzindo os movimento de seek (OLIVEIRA; CARISSIMI; TOSCANI, 2010, p.261)

O tamanho da partição de Ext2 e o tamanho definido para o bloco, define o número de grupos de blocos. O fator delimitante para o número de grupos é o bitmap que fornece a ocupação dos blocos a ser armazenado em um único bloco.

A desvantagem do Ext2 em relação a outros sistemas de arquivos, é que ele não implementa journaling, assim, não oferece garantias contra falhas, principalmente quando o sistema é desligado de forma inesperada, podendo ocorrer corrompimento de dados (CARD; TS’O; TWEEDIE, 1994).

(21)

20 Tabela 1 – Tamanho de alocação Ext3

Tamanho Bloco Tamanho Máximo da Partição Tamanho Máximo do Arquivo

1 KB 2 TB 16 GB 2 KB 8 TB 256 GB 4 KB 16 TB 2 TB 8 KB 32 TB 2 TB Fonte: Infowester (2010) 2.1.3.2 Ext3

O sistema de arquivo Ext3 foi construído sobre a estrutura básica do Ext2, trazendo basicamente como diferencial a implementação à jornalização. O Ext3 oferece três tipos diferentes de jornalização: (OLIVEIRA; CARISSIMI; TOSCANI, 2010, p.263) • Journal: Garantia contra falhas, por escrever diretamente no sistema de arquivo é

o modo mais lento.

• Ordered: Padrão do sistema de arquivo Ext3, as mudanças são gravadas em arquivo metadados, mas guarda as atualizações no arquivo de dados antes de fazer as mudanças associadas ao sistema de arquivos.

• Writebach: Também registra apenas os metadados, a efetivação da escrita no disco é deixada a cargo da política normal de transferência da memória para o disco, executada pelo sistema de arquivos. É o mais rápido journaling Ext3, mas o menos confiável.

O Ext3 passou a ser suportado a partir da versão 2.4 do kernel do linux. Consequentemente, todas as distribuições Linux lançadas apartir desse kernel tem suporte padrão para Ext3 (INFOWESTER, 2007).

Uma das vantagens do Ext3 é que tem suporte para grandes tamanhos de arquivos. A Tabela 1 apresenta o tamanho do bloco de dados com o seu respectivo tamanho de partição e o tamanho máximo do arquivo.

2.1.3.3 Ext4

O sistema de arquivo Ext4 já era suportado desde a versão 2.6.19 do kernel, porém era uma versão alpha. Somente a partir da versão 2.6.24.4 do kernel, que passou a dar suporte integral a todos os novos recursos. Conforme Mathur et al. (2007) alguns desses recursos são:

(22)

21 • Melhorias na pré-alocação: No Ext3, quando um programa fosse utilizar um espaço no dispositivo de armazenamento, ocorria uma pré-alocação, no qual os inodes eram preenchidos com zeros. Já o Ext4 permite fazer a pré-alocação de arquivos sem fazer o preenchimento, o que vai garantir uma melhoria na performance.

• Sistema de arquivo Gigante: O Ext3 tem uma limitação de 32 TB de partição e conseguia manipular arquivos de até 2 TB de tamanho. Já no Ext4, o tamanho máximo da partição passa para 1 EB e 16 TB para manipulação de arquivo. • Maior números de subdiretórios: O Ext3 colocava um limite de subdiretórios de

32.000 pastas, no Ext4 não existe esse limite.

• Checksum: É uma checagem no Journaling, garantindo uma restauração mais rápida e a prova de falhas.

• Desfragmentação: No ext4 a desfragmentação ocorre em tempo de execução, enquanto os arquivos vão sendo alocados no disco.

• Extundelete: É uma ferramenta disponível no Ext4 que impede que um arquivo seja apagado, mesmo tendo permissão máxima do sistema operacional.

2.1.3.4 Btrfs

O sistema de arquivos Btrfs ou B-tree file system foi desenvolvido por Chris Mason, dentro da Oracle sendo apresentado para a comunidade linux em 2007, fazendo parte oficialmente do kernel a partir da versão 2.6.29 (HILZINGER, 2009a).

O sistema de arquivos Btrfs fornece os seguintes recursos avançados: • Suporte a sistemas de arquivos grandes

• Oferece gerenciamento de volume integrado • Tem funcionalidade de RAID

• Garante a segurança dos dados usando técnicas copy-on-write e de verificação de soma (checksumming)

• Provê snapshots alteráveis.

Btrfs é um sistema de arquivo 64 bit, e o limite para o tamanho de um arquivo é de 16 EB. O Btrfs, XFS, JFS e o Ext3 utilizam árvores B (ou B-tree) clássicas para as operações de armazenamento e leitura de dados. Uma árvore é uma estrutura

(23)

22 de dados formada por folhas e nós (inodes), formações no tipo B crescem o minimo possível na vertical, de modo a acelerar as operações de escrita e leitura no sistema de arquivos. (HILZINGER, 2009a).

Árvores B+, armazenam metadados apenas em nós, e os dados são arma-zenados nas folhas. Árvores B tradicionais, como as usadas pelo Btrfs, não seguem esse princípio muito rígido. O Btrfs define dinamicamente o número de nós possíveis, com isso a quantidade de arquivos por sistemas de arquivos passa a não depender do tamanho da mídia de armazenamento (HILZINGER, 2009a).

Diferentemente de outros sistemas de arquivos, não faz jornaling de transações, como resultado, sua escrita é feita uma única vez, o que remove limitações conse-quentes do espaço ocupado pelo journal e reduz desgastes causado por gravações repetitivas na mesma seção do disco rígido ou do SSD (BIERMAN, 2012).

Como regra dos sistemas de arquivos: quanto mais blocos de um arquivo estiverem juntos, melhor o desempenho do sistema. A técnica copy-on-write (COW) garante que os sistemas de arquivos armazenam dados frequentemente em um espaço livre, de modo que a cada salvamento uma nova cópia é gravada. O Btrfs armazena constantemente uma cópia dos arquivos alterados para assegurar que todos os seus blocos estejem juntos. (BIERMAN, 2012).

2.1.3.5 XFS

O XFS é um sistema de arquivos desenvolvido pela empresa Silicon Graphics Inc., foi incorporado ao kernel a partir da versão 2.4.25, em fevereiro de 2004 (GRAPHICS, 2006)

O sistema de arquivo XFS oferece as seguintes características principais: • XFS é um sistema de arquivo de 64 bits, altamente escalável e robusto • Efetua alocação por extensões em vez de alocação por blocos

• Suporte a arquivos grandes

• Utiliza journaling para a recuperação de dados.

O XFS possui um tamanho máximo de 8 EB para o sistema de arquivo e o tamanho para um arquivo individual é de 16 TB. Os tamanhos dos blocos podem variar entre 512 bytes a 64 KB (GRAPHICS, 2006).

(24)

23 2.1.3.6 JFS

O sistema de arquivo JFS foi criado pela IBM, visando servidores de bancos de dados, servidores de arquivos e qualquer outra aplicação com grande necessidade de espaço em disco (REITTER, 2004).

O JFS fornece alocação baseada em extensão, significa que, em vez de único bloco, é alocado um conjunto adjacente de bloco, com isso apresenta melhor desempenho de leitura e gravação. O JFS também utiliza as árvores B+ para buscas e journaling para prevenir erros em caso de falhas (JONES, 2008).

O JFS possui um tamanho máximo de 32 PB para o sistema de arquivo e o tamanho para um arquivo individual é de 4 TB (REITTER, 2004).

2.2

Hard Disk Drive - HDD

Os Hard Disk Drive ou HDD, são dispositivos para armazenamento de dados. O HDD ainda é a principal forma de armazenar dados em um computador, mesmo com a existência do SSD, o atual substituto do HDD (TECMUNDO, 2015).

Figura 6 – Disco rígido

Fonte: TecMundo (2013)

Conforme Tanenbaum e Woodhull (2009), um disco rígido é organizado em cilindros (disco magnéticos), sendo que cada cilindro é estruturado em trilhas, que por sua vez são divididas em setores. A Figura 7 apresenta a estrutura de um disco rígido.

(25)

24 Em geral todos os setores tem o mesmo tamanho, o qual varia entre 512 bytes a 4.096 bytes. A criação de trilhas e de setores é realizado pelo próprio fabricante do disco sendo chamado de formatação física (OLIVEIRA; CARISSIMI; TOSCANI, 2010, p.137).

Figura 7 – Estrutura de um disco rígido

Fonte: Machado e Maia (2004, p.238)

Conforme Oliveira, Carissimi e Toscani (2010, p.138) a capacidade total de armazenamento é obtida multiplicando-se número de cabeças x número de cilindros x número de setores x tamanho do setor. Cilindros correspondem aos números de trilhas, e as cabeças ao número de superfícies graváveis (faces).

Para acessar dados no HDD, existem dois métodos de acesso ao disco: • CHS (cylinder, head, sector) aonde é necessário informar à controladora o cilindro,

a superfície e o setor a ser acessado.

• LBA(linear block addressing) o disco passa a ser "visto"um conjunto de blocos, aonde cada bloco é um ou mais setores, nesse caso é necessário informar qual bloco deseja-se acessar.

Outros conceitos também são associados a HDD, como formatação lógica e partições, mas ambos estão relacionados com o sistema de arquivos, pois conforme Oliveira, Carissimi e Toscani (2010, 139) "a formatação lógica consiste em gravar informações no disco de forma que arquivos possam ser escritos, lidos e localizados

(26)

25 pelo sistemas operacional, já o conceito de partição está associado à capacidade de dividir logicamente o disco em vários outros discos".

Na seção seguinte será apresentado os fatores que determinam o tempo de acesso a informação no disco, e na Seção 2.2.2 será apresentado as técnicas para reduzir esse tempo de acesso.

2.2.1

Tempo de acesso

Conforme Tanenbaum e Filho (1995, p.149), para acessar um determinado dado no HD, é necessário localizar um determinado setor e trilha onde o dado será enfim lido. O tempo que esse procedimento implica é chamado de tempo de acesso, que é determinado por três fatores:

• Tempo de Seek (Seek time): Tempo necessário para posicionar o cabeçote de leitura/escrita na trilha desejada.

• Tempo de Latência (Latency time): Tempo necessário para atingir o início do setor a ser lido ou escrito.

• Tempo de Transferência (Transfer time): Tempo efetivo para leitura ou escrita dos dados.

A Figura 8 mostra os três passos necessários para acessar o dado a ser lido ou escrito. O primeiro passo é o tempo de seek, depois vem o tempo de latência, que é definido pela velocidade de rotação do motor e por fim o tempo de transferência dos dados.

2.2.2

Técnicas para reduzir o tempo de acesso

Nesta seção é apresentado as técnicas usadas para redução do tempo de acesso a um disco. Na Seção 2.2.2.1 demonstra como é feita a técnica de entrelaça-mento dos setores e posteriormente na Seção 2.2.2.2 é apresentado os algoritmos de escalonamento de disco.

2.2.2.1 Entrelaçamento

Conforme disco 1 da Figura 9, os setores são enumerados de forma contígua, por exemplo quando deseja ler o setor 4 e 5, após terminar a leitura do setor 4, devido ao tempo em que os dados são transferidos do buffer do controlador de disco para a

(27)

26 Figura 8 – Tempo de acesso

Fonte: Oliveira, Carissimi e Toscani (2010, p.88)

memória e também pela rotação do disco, o cabeçote não se encontra mais no inicio do setor 5.

Para solucionar esse problema é realizado o entrelaçamento dos setores (interleaving). Com isso, os setores são enumerados com espaços entre eles, conforme disco 2 da Figura 9. Agora definindo um fator de entrelaçamento igual a 2, por exemplo, é possível terminar a transferência dos dados do setor 4 é posteriormente posicionar o cabeçote no setor 5 antes que o mesmo passe sobre o início do setor (OLIVEIRA; CARISSIMI; TOSCANI, 2010, p.140).

Figura 9 – Entrelaçamento

(28)

27 2.2.2.2 Escalonamento

Como a maioria dos sistemas operacionais são multiprogramações, existe uma série de processos realizando pedidos de leitura e escrita em disco. Os processos fornecem uma série de parâmetros como tipo de operação e os dados a serem trans-feridos, o que se reflete em setores e trilhas diferentes no disco. Porém os processos realizam simultaneamente pedidos desse tipo e sendo bloqueados até que a operação solicitada seja atendida. Para minimizar o tempo em que os processos permanecem em pausa, foram criados algoritmos para reduzir o tempo de acesso ao disco e a atender o maior número possível de solicitações no menor intervalo de tempo possível (OLIVEIRA; CARISSIMI; TOSCANI, 2010, p.141).

Conforme Deitel, Deitel e Choffnes (2005, p.350) escalonamento de disco são algoritmos que efetuam a movimentação do cabeçote de leitura do disco, tentando otimizar a movimentação entre as linhas e outros tentando aproveitar o percurso do cabeçote de leitura. Os principais algoritmos de escalonamento de disco são:

• FCFS (first come first served): O acesso ao disco a realizado no ordem em que são feitos os pedidos.

• SSTF (shortest seek time first): Os pedidos são reordenados para atender as solicitações de forma minimizar o movimento do cabeçote de leitura e escrita. As solicitações são organizadas em relação à posição atual cabeçote, privilegiando o acesso aos cilindros que estão mais próximos a essa posição.

• SCAN: Esse algoritmo visa atender os pedidos em que estão mais próximos da posição atual do cabeçote de escrita e leitura. Porém esse algoritmo estipula uma direção preferencial para a varredura(leitura/escrita), como por exemplo, do cilindro mais externo ao mais interno. Quando o cabeçote atingir o cilindro mais interno, inverte-se o sentido da varredura, atendo assim novos pedidos que surgem no sentido da varredura. Novos pedidos no sentido contrário devem aguardar a próxima varredura para serem atendidos.

• C-SCAN (Circular SCAN): Diferentemente do algoritmo SCAN, C-SCAN só atende um sentido de varredura. Quando, por exemplo ele atinge o cilindro mais interno, ele reposiciona o cabeçote no cilindro mais externo, e reinicia a varredura.

• LOOK: Semelhante à SCAN, exceto que o cabeçote muda de direção ao alcançar a última requisição na direção preferida.

(29)

28 • C-LOOK: Semelhante à C-SAN, exceto que o cabeçote para após atender à última requisição na direção preferida, e atende à requisição do cilindro mais próximo do lado oposto do disco.

2.3

Solid State Disk - SSD

Os dispositivos de armazenamento SSD tem uma velocidade muito maior se comparado aos dispositivos HDD. Uma das principais razões para a diferença de velocidade está aplicada ao fato dos SSDs não possuírem partes mecânicas Figura 10 . Uma vez não havendo discos e cabeçotes, o acesso aos dados é muito mais rápido (MICHELONI; MARELLI; ESHGHI, 2012).

Figura 10 – Estrutura interna SSD

Fonte: Infowester (2010)

Conforme Figura 11 os endereços do SSDs são organizados em páginas de 4 KB, que são então agrupadas em blocos de 512 KB,

Cada página do dispositivo SSD pode armazenar somente um arquivo, dois arquivos não podem compartilhar a mesma página, ocasionando assim um desperdício de espaço. (INFOWESTER, 2010)

2.3.1

Tecnologias empregadas em memórias Flash

Atualmente existe três tipos de tecnologia empregadas em memórias Flash NAND são: Multi-Level Cell (MLC), Single-Level Cell (SLC) e Triple-Level Cell (TLC).

(30)

29 Figura 11 – Bloco SSD

Fonte: Infowester (2010)

(INFOWESTER, 2010)

A tecnologia MLC utiliza tensões diferenciadas que fazem com que uma célula de memória armazene dois ou mais bits. Já a tecnologia SLC armazena um bit em cada célula. Para efeito de comparação os chips SLS suportam cerca de cem mil operações de escrita por célula contra dez mil do MLC. Os tipos TLC podem armazenar até 3 bits em cada uma de suas células de memória, tornando-se assim uma tecnologia mais lenta.(INFOWESTER, 2010)

2.3.2

Trim

O recurso TRIM é uma funcionalidade empregada a unidades mais recentes aos dispositivos SSD. O TRIM tem como funcionalidade "zerar"as páginas de arquivos apagados, pois diferentemente dos HDD, os blocos de dados não podem simplesmente ser gravados e, posteriormente regravados.

Primeiramente era necessário primeiro apagar os dados de uma área gravada, fazendo-a retornar ao seu original, para somente depois inserir os dados novos. O TRIM surgiu justamente para evitar essa significativa perda de desempenho do SSD (INFOWESTER, 2010).

(31)

30

3 METODOLOGIA DE TESTE

O presente trabalho tem o objetivo de realizar a comparação de velocidade de escrita e leitura de diferentes dispositivos de armazenamentos utilizando sistemas de arquivos minimamente funcionais em distribuições GNU/Linux.

A seguir, na Seção 3.1, será descrito o ambiente de execução onde os testes foram realizados, seguida pela Seção 3.2, aonde será apresentado o benchmark utilizado e, por fim, na Seção 3.3 as considerações finais.

3.1

Ambiente de execução

Conforme pode ser observado na Tabela 2, o ambiente de execução foi com-posto por uma CPU com processador convencional Intel modelo Core 2 Duo E7500, frequência de clock de 2,93 GHz, memória cache de 3MB e 4GB de memória RAM com frequência de 800 MHz.

Para os testes utilizou-se o mesmo hardware com exceção dos dispositivos de armazenamento, e também os mesmos processos em execução. Os sistemas de arquivos utilizados para os experimentos foram: Ext2, Ext3, Ext4, Btrfs, XFS e JFS. Cada sistema de arquivo foi instalado diretamente com o sistema operacional GNU/LINUX Ubuntu com versão do kernel 4.4.0-31 sem swap, com tamanho máximo da partição de 128 GB.

Quatro dispositivos de armazenamento foram utilizados, dois HDDs e dois Tabela 2 – Configuração do Ambiente

Especificações Técnicas

Sistema operacional Ubuntu 16.04.1 LTS

Processador Intel Core 2 Duo

Modelo do processador E7500

Frequência de clock 2,93 GHz Cache 3MB Número de processadores 1 Cores/Processador 2 Memória RAM 4 GB Tipo de memória DDR2 Velocidade 800 MHz Fonte: Autor

(32)

31 Tabela 3 – Dispositivos de armazenamento utilizados

Nome Dispositivo Fabricante Modelo Capacidade RPM

HDD1 HHD Seagate ST1000DM003 1000 GB 7.200

HDD2 HHD Sansung HD502HI 500 GB 5.400

SSD1 SSD Smart SSD SZ9STE 2.5 7mm 128 GB

-SSD2 SSD Samsung MZ-750250 250 GB

-Fonte: Autor

SSDs, a fim de cobrir diferentes características. Os dispositivos são apresentados na Tabela 3. Para uma melhor explicação, os nomes apresentados na primeira coluna da tabela serão utilizados no restante do trabalho para referenciá-los. Em todos os experimentos foi utilizada a interface SATA II, suportada por todos os dispositivos de armazenamento.

3.2

Benchmark

O benchmarck utilizado para realização dos testes de velocidade foi o Sysbench (KOPYTOV, 2012) por ser amplamente utilizado e por permitir vários tipos de carga de trabalho de E/S de arquivos. Esse programa de benchmark mede as velocidades de leitura e gravação, tanto de modo sequencial quanto de modo aleatório.

Cada sistema de arquivo foi submetido aos seguintes testes de E/S: • Escrita sequencial

sysbench –test=fileio num=32 block-size=32K total-size=32G –file-test-mode=seqrd –max-time=300 –max-requests=0 –file-extra-flags=direct run • Leitura sequencial

sysbench –test=fileio num=32 block-size=32K total-size=32G –file-test-mode=seqwr –max-time=300 –max-requests=0 –file-extra-flags=direct run • Leitura aleatória

sysbench –test=fileio num=32 block-size=32K total-size=32G –file-test-mode=rndrd –max-time=300 –max-requests=0 –file-extra-flags=direct run • Escrita aleatória

sysbench –test=fileio num=32 block-size=32K total-size=32G –file-test-mode=rndwr –max-time=300 –max-requests=0 –file-extra-flags=direct run

(33)

32 Cada tipo de operação foi executada separadamente, com tempo máximo de execução de 300 segundos, repetindo-se dez vezes cada operação. O tempo foi limitado a 300 segundos porque nos testes com os dispositivos armazenamento HDD, a execução demoraria cerca de 3 horas para finalizar no modo aleatório.

O benchmark foi configurado para não utilizar cache durantes os testes, uma vez que a cache impactaria nos resultados. Outro parâmetro utilizado nos testes foi o tamanho dos blocos, nesse caso foi utilizado 16 KB. Todos os testes acessam 32 GB de dados, com tamanho de arquivo 1GB, ou seja, 32 arquivos de 1 GB cada.

A configuração de 32 GB de dados foi usada para evitar que a cache da RAM interfira nos resultados, uma vez que é recomendável acessar dados com um tamanho que é cerca de duas vezes mais do que a quantidade de RAM.

3.3

Considerações finais

Neste capítulo foi apresentado as especificações técnicas do ambiente de trabalho, os dispositivos de armazenamento e por fim o benchmark utilizado. No capítulo a seguir será apresentado os resultados obtidos através da execução do benchmark.

(34)

33

4 RESULTADOS

Neste capítulo serão apresentados os resultados obtidos através da execução do benchmark.

Primeiramente na Seção 4.1 é apresentado os resultados do teste de leitura sequencial, na Seção 4.2 é apresentado o resultado de escrita sequencial, na Seção 4.3 é apresentado os resultados leitura aleatória e por fim na Seção 4.3 é apresentado o teste de escrita aleatória.

4.1

Teste de leitura sequencial

A Figura 12 apresenta os resultados do teste de leitura sequencial dos seis sistemas de arquivos e os dispositivos de armazenamento utilizados para os testes.

Figura 12 – Resultados dos testes de leitura sequencial

Fonte: Autor

Conforme pode ser observado na Figura 12 o sistema de arquivo BTRFS apresentou desempenho significativamente menor em todos os dispositivos de ar-mazenamento - cerca de 31% no SSD1, 30% no SSD2, 29% no HDD1 e 16% no HDD2.

(35)

34 Em comparação com os dispositivos usados, o SSD1 obteve os melhores resultados, aonde exibiu velocidade de leitura sequencial de 165,85 MB/s no sistema de arquivo EXT4. Já o dispositivo HDD2 apresentou os piores resultados em todos os sistemas de arquivos, o resultado mais baixo ocorreu no BTRFS, alcançando apenas 90,84 MB/s.

Tanto o HDD1, quanto o HDD2 obtiveram as melhores taxas de transferências, provando que os dispositivo de armazenamento SDD provê maior velocidade de leitura sequencial. Isso ocorre porque os HDDs possuem partes mecânicas, diferentemente dos SSDs, aonde são concebidos de memoria flash.

4.2

Teste de escrita sequencial

Conforme pode ser observado na Figura 13, a combinação SSD2 + JFS obteve as velocidade mais rápida, chagando a 155,23 MB/s. Já a combinação HDD2 + BTRFS obteve a velocidade mais lenta atingindo apenas 90,59 MB/s.

Figura 13 – Resultados dos testes de escrita sequencial

Fonte: Autor

Os resultados obtidos indicam SSD2 provê maior desempenho em escrita sequencial que os demais dispositivos utilizados, e que o sistema de arquivo JFS apresentou a melhor performance de leitura sequencial em todos os dispositivos de armazenamento.

(36)

35

4.3

Teste de leitura aleatória

A Figura 14 apresenta a velocidade de leitura aleatória, conforme pode ser observador a combinação do sistema de arquivo EXT4 + SSD1 apresentou o melhor resultado de leitura, aonde a velocidade chegou a 115,48 MB/s.

Na leitura aleatória, EXT4, EXT3 e JFS, combinados com o SSD1, ficam nas primeiras colocações, enquanto o BTRFS apresenta o menor desempenho.

Entre tando os resultados obtidos nos dispositivos de armazenamento HDD1 e HDD2, indicam que o sistema de arquivo BTRFS provê maior velocidade de leitura alea-tória -cerca de 1,62 vezes mais rápido no dispositivo HDD1 e 1,82 no dispositivo HDD2..

Figura 14 – Resultados dos testes de leitura aleatória

Fonte: Autor

4.4

Teste de escrita aleatória

Na Figura 15, pode-se verificar a velocidade de escrita aleatória dos sistemas de arquivos. Observa-se que o sistema de arquivo JFS obteve o melhor resultado relacionado com os outros sistemas de arquivos.

(37)

36 Na combinação SSD1 + JFS a taxa de escrita aleatória chegou a 133,84 MB/s, mostrando-se 49 vezes mais rápido comparado com a combinação HDD2 + BTRFS que chegou apenas 2,73 MB/s.

Na escrita aleatória, JFS, XFS e EXT4, combinados com o SSD1, ficam nas primeiras colocações, enquanto o BTRFS fica em último.

Figura 15 – Resultados dos testes de escrita aleatória

Fonte: Autor

4.5

Considerações finais

Esse Capitulo apresentou as taxas de velocidades obtidas na realização dos testes de leitura e escrita, tanto de modo sequencial quanto de modo aleatório. Os resultados obtidos nos dispositivos foram bastante equilibrados e chegaram a taxas de leitura de 165 MB/s e com 155 MB/s na escrita. Apenas o BTRFS apresentou desempenho significativamente pior que os outros competidores. O Capitulo seguinte apresentará as conclusões obtidas desse trabalho.

(38)

37

5 CONCLUSÃO

Esse trabalho buscou mostrar as principais diferenças entre alguns sistemas de arquivos. Entre essas diferenças estão a velocidade de escrita e leitura tanto de modo sequencial quanto de modo aleatório.

Com exceção do Btrfs, os outros sistemas de arquivos demonstraram desem-penho muito equilibrados, com isso não houve um único sistema de arquivo que se destacou em todos os testes. O sistema de arquivo JFS obteve as mais altas taxas de escrita aleatória, chegando a ser 14 vezes mais rápido que o Btrfs, e 2 vezes mais rápido que o Ext4.

Já no teste de leitura aleatória o Ext4 obteve os melhores resultados, porém somente nos dispositivos SSDs. Nos dispositivos HDDs o Btrfs atingiu as melhores taxas - cerca de 1,62 vezes mais rápido no dispositivo HDD1 e 1,82 no dispositivo HDD2.

No teste de escrita sequencial, novamente o sistema de arquivo JFS alcançou as taxas de velocidades mais alta, chegando a 155,23 MB/s combinado com o SSD2. Na leitura sequencial o sistema de arquivo Ext4 foi superior aos outros sistemas em todos os dispositivos de armazenamento.

Comparando a família dos sistemas de arquivos Ext2, Ext3 e Ext4, o sistema Ext4 obteve as taxas mais altas em todos os testes. Demonstrando assim, possuir maior eficiência que seus antecessores.

Uma das diferenças que justificam o melhor desempenho do Ext4, é que no Ext3, quando um programa fosse utilizar um espaço no dispositivo de armazenamento, ocorria uma pré-alocação, no qual os inodes eram preenchidos com zeros. Já o Ext4 permite fazer a pré-alocação de arquivos sem fazer o preenchimento, o que garante uma melhor performance.

Considerando os dispositivos de armazenamento, os SSDs mostraram ser significativamente mais rápidos em todos os testes, em função de não possuírem partes mecânicas e conterem memórias flash. Em relação aos HDDs, o HDD1 apresentou leve vantagem quando comparado ao dispositivo HDD2, sendo que nos testes de leitura sequencial chegou a ser 43% mais veloz. Uma das vantagens do HHD1 é que apresenta 7.200 rpm (rotações por minuto) diminuindo assim o tempo de latência, ou seja, o tempo necessário para atingir o início do setor a ser lido ou escrito, já o HDD2 apresenta 5.400 rpm.

(39)

38 Considerando todos os testes realizados nesse trabalho, Ext4 e JFS obtiveram os melhores resultados. Porém, a velocidade não deve ser o único fator na escolha do sistema de arquivos, fatores como suporte a atributos estendidos e ao redimensiona-mento do sistema de arquivos, seja online ou offline, além de estabilidade, têm papéis mais importantes que o desempenho.

5.1

Trabalhos Futuros

Como trabalho futuro pretende-se expandir a análise a outros sistemas de arquivos, levando em consideração a ampla diversidade desses sistemas.

Outra proposta seria analisar o consumo energético dos sistemas de arquivos, considerando os que utilizam journal tendem a ter um processamento mais alto. Do mesmo modo, pode-se expandir o estudo aos dispositivos de armazenamento, pois os dispositivos SSDs são concebidos de memórias flash diferentemente do HDD, o qual é composto por partes mecânicas.

Em suma, por meio dessas propostas de estudos, seria possível identificar o melhor sistema de arquivo a ser instalado para um determinado tipo de aplicação.

(40)

39

REFERÊNCIAS

BIERMAN, M. Começando com o Btrfs Sistemas de Arquivos no Oracle Linux. 2012. Disponível em: <http://http://www.oracle.com/technetwork/articles/ servers-storage-admin/gettingstarted-btrfs-1695246.html>. Acesso em: 21 out. 2016. CARD, R.; TS’O, T.; TWEEDIE, S. Design and implementation of the second extended filesystem. In: Proceedings of the first Dutch international symposium on Linux. [S.l.: s.n.], 1994. v. 1.

DEITEL, H.; DEITEL, P.; CHOFFNES, D. Sistemas operacionais. [S.l.]: PRENTICE HALL BRASIL, 2005. ISBN 9788576050117.

GRAPHICS, S. XFS: A journaling do sistema de arquivos de alto desempenho. [S.l.], 2006. Disponível em:<http://oss.sgi.com/projects/xfs/>. Acesso em: 08 maio 2016. HILZINGER, M. O futuro dos seus arquivos. Linux Magazine, v. 54, p. 47–49, 2009. HILZINGER, M. Qual é o melhor? Linux Magazine, v. 54, p. 40–44, 2009.

INFOWESTER. Sistema de arquivos ext3. [S.l.], 2007. Disponível em: <http: //www.infowester.com/linext3.php>. Acesso em: 09 ago. 2016.

INFOWESTER. O que é SSD (Solid-State Drive)?? [S.l.], 2010. Disponível em:

<http://www.infowester.com/ssd.php>. Acesso em: 08 ago. 2016.

JONES, M. T. Anatomia dos Sistemas de Arquivos de journaling do Linux. 2008. Dispo-nível em:<https://www.ibm.com/developerworks/br/library/l-journaling-filesystems/>. Acesso em: 21 ago. 2016.

KOPYTOV, A. Sysbench manual. MySQL AB, 2012.

MACHADO, F. B.; MAIA, L. P. Arquitetura de sistemas operacionais. [S.l.]: LTC, 2004. v. 4.

MATHUR, A. et al. The new ext4 filesystem: current status and future plans. In: CITESEER. Proceedings of the Linux symposium. [S.l.], 2007. v. 2, p. 21–33.

MICHELONI, R.; MARELLI, A.; ESHGHI, K. Inside solid state drives (SSDs). [S.l.]: Springer Science & Business Media, 2012. v. 37.

OLIVEIRA, R. S.; CARISSIMI, A. S.; TOSCANI, S. S. Sistemas Operacionais-Vol. 11: Série Livros Didáticos Informática UFRGS. [S.l.]: Bookman Editora, 2010.

REITTER, J. Qual é o melhor? Fundamentos dos sistemas de arquivos com journaling, v. 02, p. 19–22, 2004.

TANENBAUM, A. S.; FILHO, N. M. Sistemas operacionais modernos. [S.l.]: Prentice-Hall, 1995. v. 3.

TANENBAUM, A. S.; WOODHULL, A. S. Sistemas Operacionais: Projetjos e Implementação. [S.l.]: Bookman Editora, 2009.

(41)

40 TECMUNDO. Como funciona um disco rígido? [S.l.], 2013. Disponível em: <http://www. tecmundo.com.br/aumentar-desempenho/3469-como-funciona-um-disco-rigido-. htm>. Acesso em: 10 ago. 2016.

TECMUNDO. O que é HDD? Conheça a tecnologia que guarda seus dados ‘para sempre’. [S.l.], 2015. Disponível em:<http://www.techtudo.com.br/noticias/noticia/2015/ 12/o-que-e-hdd-conheca-tecnologia-que-guarda-seus-dados-para-sempre.html>. Acesso em: 11 ago. 2016.

Referências

Documentos relacionados

História Protótipo Casos de Teste Refinamento Planning Build Geração de Massa Testes Homologação Responsável: time de QA Entradas: • Histórias; • Protótipos; • Casos

Portanto, a inclusão das metodologias ativas é uma alternativa eficaz para auxiliar o estudante a sanar as possíveis dúvidas no decorrer da disciplina e ao mesmo

hospitalizados, ou de lactantes que queiram solicitar tratamento especial deverão enviar a solicitação pelo Fale Conosco, no site da FACINE , até 72 horas antes da realização

Ainda, neste trabalho, houve alguns aspectos em que significantemente não ocorreram alterações, como a presença de sub-harmônicos em M1XM2XM3, a presença de

Alteração geométrica no teto a jusante de comporta do sistema de en- chimento e esvaziamento para eclusa de na- vegação: simulação numérica do escoamento e análise das pressões

Um tratamento de câncer infantil em que os cui- dadores são acompanhados pelo serviço de psicologia, pode tornar o tratamento um processo menos ambiva- lente de se vivenciar,

• Os municípios provavelmente não utilizam a análise dos dados para orientar o planejamento de suas ações;. • Há grande potencialidade na análise dos micro dados do Sisvan

Entre as ações que mais cresceram no Supremo na última década estão as de direito do consumidor (FALCÃO et al., 2014, p. A Oi é a primeira das 20 empresas privadas com mais