SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
AVALIAÇÃO DOS MECANISMOS DE
CACHE EM DISPOSITIVOS DE
ARMAZENAMENTO SECUNDÁRIO
COM DISCOS DE ESTADO SÓLIDO
Proposta de Dissertação de Mestrado
Aluno: Leonardo Antônio dos Santos
Orientador: Luiz Carlos Erpen de Bona
Co-orientador: Carlos Alberto Maziero
PPGInf - UFPR
SUMÁRIO
• INTRODUÇÃO
• ESTRUTURAS DE ARMAZENAMENTO SECUNDÁRIO
• Acesso a disco no Kernel do Linux
• Estrutura de Caches no Linux
• Dispositivos de Armazenamento
• Redundant Array of Inexpensive Disk
• ALGORITMOS DE SUBSTITUIÇÃO DE CACHE
• OPT, LRU, LIRS, ARC, MQ
• IMPLEMENTAÇÕES DE CACHE NO LINUX
• BCACHE, DMCACHE
• PROPOSTA
• Objetivos, Detalhamento;
• Resultados Preliminares;
• Calendário
PPGInf - UFPR
INTRODUÇÃO (I)
• 60 a 70: revolução da computação;
• 70 a 80: era da informação;
• ↑ foco no armazenamento;
• Confiabilidade: precisão das informações;
• Desempenho: latência e vazão;
• Escalabilidade:
• para milhares ou milhões de usuários.
PPGInf - UFPR
INTRODUÇÃO (II)
• Hierarquia do Armazenamento de Dados
• Processamento ↑ versus I/O →
• Voláteis (≥ Flash) versus Não-Voláteis (≤ Flash)
• Hierarquização torna-se necessária
• Caches + Algoritmos de Substituição
PPGInf - UFPR
INTRODUÇÃO (III)
• Memória RAM como Cache
• Padrão aos SOs.
• SSD como Cache
• É viável?
• Necessário revisitar:
• Algoritmos de substituição;
• Cache de primeiro nível (RAM);
• Outras formas de melhoria de desempenho
(RAID);
• Implementações de cache de segundo nível
(SSD).
PPGInf - UFPR
ACESSO A DISCO NO KERNEL DO LINUX (I)
• RAW I/O
• File System I/O
• Direct I/O (sem cache)
PPGInf - UFPR
ACESSO A DISCO NO KERNEL DO LINUX (II)
• RAW I/O
• File System I/O
• Direct I/O (sem cache)
PPGInf - UFPR
ACESSO A DISCO NO KERNEL DO LINUX (I)
(FILESYSTEM I/O)
• Interface:
• ↑ usuário
• ↓ file system
• O VFS faz o
processamento inicial das
requisições;
• Seguem o padrão POSIX
• open, read, write, lseek
• Disk Caches
• File System agnostic
PPGInf - UFPR
• Interface:
• ↑ VFS interface
• ↓ File Systems interface
• Cada File System
• possui características
próprias;
• implementa as interfaces
superiores e inferiores.
ACESSO A DISCO NO KERNEL DO LINUX (II)
(FILESYSTEM I/O)
PPGInf - UFPR
ACESSO A DISCO NO KERNEL DO LINUX (III)
(FILESYSTEM I/O)
• Interface:
• ↑ i-node, offset, size
• ↓ block
• Mapeamento
• Feito pelo File System;
• De arquivos solicitados para blocos
no disco;
• Depende de fatores como:
• tabelas de indexação
• gerenciamento de espaço livre
• implementação de diretórios
• métodos de alocação
PPGInf - UFPR
ACESSO A DISCO NO KERNEL DO LINUX (IV)
(FILESYSTEM I/O)
• Interface
• ↑ logical block
• ↓ physical block
• Abstrai detalhes dos
dispositivos de bloco
(físicos ou virtuais) para as
camadas superiores;
• LVM, RAID em software e
similares são
implementados nesta
camada;
PPGInf - UFPR
• Sequencia (sort) os setores
que serão encaminhados
ao dispositivo (LBA);
• Agrupa requisições
(merge) de blocos
adjacentes;
• Implementações:
• Noop
• Deadline
• Anticipatory
• CFQ
ACESSO A DISCO NO KERNEL DO LINUX (V)
(FILESYSTEM I/O)
PPGInf - UFPR
• Mantém em RAM dados normalmente acessados em disco;
• Existem 3 tipos:
• Dentry Cache
• Mapeamento em RAM utilizado pelo VFS para
tradução de i-nodes
• Page Cache
• Composto por page frames que contêm dados
pertencentes a arquivos
• Buffer Cache
• Área em RAM que contém dados dos blocos em disco
ESTRUTURA DE CACHES NO LINUX (I)
PPGInf - UFPR
• Buffer Cache
• Escrita atrasada (write-back)
• Descarga dos buffers em lote com intervalos pré-definidos
(30s)
• Estrutura:
• Buffer Headers: descreve um bloco em cache
• dirty bit (blk mem ≠ blk disk)
• timestamp (políticas de alocação)
• Hash Table
para busca dos buffer headers
• {device, block_number}
identificador do bloco
ESTRUTURA DE CACHES NO LINUX (II)
PPGInf - UFPR
• Page Cache
• Mais simples que o buffer cache
• Opera sobre arquivos (read, write, mmap)
• Não opera necessariamente sobre blocos adjacentes
• Estrutura:
• I-node Queue
lista dos descritores de página de determinado arquivo
• Page Hash Table
para busca dos descritores de página
• {i-node, offset}
identificador da página
ESTRUTURA DE CACHES NO LINUX (III)
PPGInf - UFPR
• A separação entre Page e Buffer Cache foi
mantida somente até a versão 2.4 do Kernel,
sendo unificados posteriormente;
• Lista das principais operações
ESTRUTURA DE CACHES NO LINUX (IV)
PPGInf - UFPR
• É um dispositivo de armazenamento secundário;
• Útil para armazenamento de grandes quantidades
de dados;
• Não-volátil;
• Composição magnética;
• Possui partes mecânicas.
DISPOSITIVOS DE ARMAZENAMENTO (I)
HARD DISK DRIVES (HDD)
PPGInf - UFPR
• Limitações:
• Tempo de posicionamento (seek time)
• impacta o acesso aleatório
• Velocidade de rotação (rotation time)
• Barramento de dados
DISPOSITIVOS DE ARMAZENAMENTO (II)
HARD DISK DRIVES (HDD)
PPGInf - UFPR
• Composição eletrônica;
• Baseado em memórias NAND flash;
• Armazenam eletrons por tempo indefinido
sem uso de energia;
• Baixo consumo de energia;
• Solid State: pela ausência
de partes móveis;
• São versões mais complexas
dos SDs e CF (CompactFlash);
• Melhor mídia de armazenamento
que os HDDs.
DISPOSITIVOS DE ARMAZENAMENTO (III)
SOLID STATE DISK (SSD)
PPGInf - UFPR
DISPOSITIVOS DE ARMAZENAMENTO (IV)
SOLID STATE DISK (SSD)
• Operações:
• Escrita: programming
• Remoção: erasing
• Leitura: bias-voltage
• Limitações:
• Leitura e escrita async
• Escrita ≈2x leitura
• Limite de escritas por bloco
• Write amplification
• Garbage Collection
• Age em um limiar
• Evita comprometer
futuras escritas
• Wear Leveling
PPGInf - UFPR
• Operações:
• Escrita: programming
• Remoção: erasing
• Leitura: bias-voltage
• Limitações:
• Leitura e escrita async
• Escrita ≈2x leitura
• Limite de escritas por bloco
• Write amplification
• Garbage Collection
• Age em um limiar
• Evita comprometer
futuras escritas
• Wear Leveling
DISPOSITIVOS DE ARMAZENAMENTO (V)
SOLID STATE DISK (SSD)
(t1)
(t2)
(t3)
(t4)
PPGInf - UFPR
• Arranjo de discos com o objetivo de aumentar o
desempenho e/ou garantir a redundância dos
dados;
• Desenvolvido inicialmente para melhorar o
desempenho dos discos rotacionais;
• aumento do paralelismo
• Garante a redundância;
• espelhamento dos dados
RAID (I)
PPGInf - UFPR
• RAID0
• RAID1
• RAID5
RAID (II)
Abordagens:
• Mirroring
• Striping
• Parity
• Hot Sparing
PPGInf - UFPR
• Tem por objetivo manter em cache dados com
maior probabilidade de uso posterior;
• Os principais algoritmos estudados são:
• Algoritmo Ótimo (OPT)
• Least Recently Used (LRU)
• Low Inter-Reference Set (LIRS)
• Adaptive Replacement Cache (ARC)
• Multi-Queue (MQ)
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (I)
PPGInf - UFPR
• Não é factível
• Baseia-se no futuro;
• Serve apenas como linha de base para outras
implementações (I/O hits)
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (II)
OPT
PPGInf - UFPR
• Não é factível
• Baseia-se no futuro;
• Serve apenas como linha de base para outras
implementações (I/O hits)
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (II)
OPT
futuro
PPGInf - UFPR
• Considera apenas recência
• Baseia-se no passado e é factível;
• Diversas implementações foram propostas tanto em hardware
(aproximações) quanto em software;
• Ruim em workloads filescaning e acesso a blocos com frequências
variadas;
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (IV)
LRU
PPGInf - UFPR
• Considera apenas recência
• Baseia-se no passado e é factível;
• Diversas implementações foram propostas tanto em hardware
(aproximações) quanto em software;
• Ruim em workloads filescaning e acesso a blocos com frequências
variadas;
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (IV)
LRU
passado
problema!
PPGInf - UFPR
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (V)
LIRS
• Desenvolvido para cache de 1º Nível (RAM);
• Busca reduzir os problemas do LRU;
• IRR: Inter Reference Recency
• Número de blocos acessados sem repetições entre as duas últimas referências
• Mesmo os blocos com baixa recência podem ser substituídos por
conta do IRR;
• Não é adaptativo!
PPGInf - UFPR
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (V)
LIRS
• Desenvolvido para cache de 1º Nível (RAM);
• Busca reduzir os problemas do LRU;
• IRR: Inter Reference Recency
• Número de blocos acessados sem repetições entre as duas últimas referências
• Mesmo os blocos com baixa recência podem ser substituídos por
conta do IRR;
• Não é adaptativo!
PPGInf - UFPR
• Desenvolvido para cache de 1º Nível (RAM);
• Busca reduzir os problemas do LRU;
• IRR: Inter Reference Recency
• Número de blocos acessados sem repetições entre as duas últimas referências
• Mesmo os blocos com baixa recência podem ser substituídos por
conta do IRR;
• Não é adaptativo!
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (V)
LIRS
HIR
LIR
PPGInf - UFPR
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (VI)
ARC
• Adaptável a diversos
workloads
• Detecta mudanças contextuais
• Sem tuning manual
• Considera
• Recência
• Frequência
• Utilizado em caches
de 2º nível (SSDs);
• Mantém informações
históricas (ghost lists);
• Não conta frequências
• MRU: = 1 acesso
• MFU: > 1 acesso
PPGInf - UFPR
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (VII)
ARC
PPGInf - UFPR
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (VII)
ARC
PPGInf - UFPR
• Projetado para caches de 2º nível (SSD);
• Identifica padrões de acesso a 2º nível como diferentes do 1º nível;
• Não requer modificações no primeiro nível de cache;
• Mantém blocos com diferentes frequências em diferentes filas LRU;
• Informações históricas são mantidas
no history buffer;
• FIFO: sem overhead
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (VIII)
MULTI-QUEUE
PPGInf - UFPR
• Função de alocação na cache:
• k = log 2 f (f a frequência de acessos)
• Ex.: o 8º acesso a um bloco de Q2 leva o bloco para Q3
• Os blocos saem da cache para o history buffer por Q0
• Queda de fila
• tempos lógicos
• expireTime = currentTime + lifeTime
• currentTime++ a cada rodada
• verifica LRU das m filas em cada acesso
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (IX)
MULTI-QUEUE
PPGInf - UFPR
• Implementação Linux para cache de 2º nível com
SSDs;
• Opera na camada de blocos (Block Layer)
• File System agnostic
• Cria um dispositivo virtual;
• Aproveita o que há de melhor nos SSDs e HDDs
de forma transparente através de mecanismos de
cache;
IMPLEMENTAÇÕES DE CACHE NO LINUX (I)
BCACHE
PPGInf - UFPR
• COW (Copy-On-Write)
• Devido a limitação de escrita dos SSDs, evita atualização dos
dados;
• Estrutura:
• Log-structured (simples, não espacial, fácil restore)
• B-tree
• Algoritmo de substituição: LRU
• Parametrização de:
• limites de acesso sequencial (4M)
IMPLEMENTAÇÕES DE CACHE NO LINUX (II)
BCACHE
PPGInf - UFPR
• Opera junto ao device-mapper
• mais simples, menos intrusivo;
• Algoritmo de substituição: MQ
• implementação mais robusta que o BCache;
• Faz uso de 3 dispositivos de armazenamento;
• dados
• cache
• metadados
• Modos de operação:
• write-back
• write-through
• pass-through
IMPLEMENTAÇÕES DE CACHE NO LINUX (III)
DMCACHE
PPGInf - UFPR
• Políticas de substituição:
• multi-queue
• cleaner (para alteração nos dispositivos)
• Parametrização de:
• limites de acesso sequencial
• limites de acesso aleatório
IMPLEMENTAÇÕES DE CACHE NO LINUX (IV)
DMCACHE
PPGInf - UFPR
• Problema: grande variedade de
• Implementações
• Parametrizações
• Algoritmos de substituição
• Arranjos
• Dispositivos
• Cargas de trabalho (workloads)
• Qual é a melhor combinação desses itens para
cada workload?
PROPOSTA (I)
PPGInf - UFPR
• Objetivo Geral
• Uma análise experimental desses fatores no
cenário do armazenamento de dados restrito
ao Linux para uso em conjunto de HDDs e
SSDs, em especial, BCache, DMCache e
RAID.
PROPOSTA (II)
PPGInf - UFPR
• Objetivos Específicos
• analisar o desempenho das implementações de
cache de segundo nível BCache e DMCache para o
Kernel Linux;
• verificar as reais vantagens e desvantagens do uso
de cache frente a outras abordagens;
• apontar melhores caminhos na escolha dos arranjos
de discos e tecnologias;
• identificar falhas e possíveis otimizações para os
algoritmos ou para outros detalhes inerentes as duas
abordagens.
PROPOSTA (III)
PPGInf - UFPR
• Metodologia
Análise experimental através de
• Microbenchmarks:
• Para medir o desempenho em situações
isoladas;
• Explicar com clareza os macrobenchmarks;
• Ferramenta:
• Flexible I/O (fio)
• Medição: acesso sequencial e aleatório.
PROPOSTA (IV)
PPGInf - UFPR
• Metodologia
Análise experimental através de:
• Macrobenchmarks
• Para medição de desempenho em situações
próximas às reais;
• Simulação: acesso Webserver, Varmail,
Fileserver e Oltp;
• Ferramentas:
• Filebench (Webserver, Fileserver, Varmail)
• DBT e/ou TPCC-Uva (Oltp, TPC-C)
PROPOSTA (V)
PPGInf - UFPR
Resultados Preliminares
PROPOSTA (VI)
PPGInf - UFPR
Resultados Preliminares
PROPOSTA (VII)
SSD x HDD
• Leituras sequenciais
• SSD ~ 5x ↑
• Leituras aleatórias
• SSD ~ 50x ↑
• Escritas sequenciais
• SSD ~ 4x ↑
• Escritas aleatórias
• SSD ~ 5x ↑
PPGInf - UFPR
Resultados Preliminares
PROPOSTA (VIII)
HDD x Caches
• Leituras sequenciais
• Cache ~ HDD
• Escritas sequenciais
• Cache ~ HDD
PPGInf - UFPR
Resultados Preliminares
PROPOSTA (VIII)
HDD x Caches
• Leituras aleatórias
• DMCache:
↑ 15ª rodada,
~ 4x > Bcache
• BCache:
LRU descarta dados
importantes
• Escritas aleatórias
• BCache:
envia tudo para a cache
• DMCache:
é mais seletivo
↓ desempenho
PPGInf - UFPR
• Second Buffer Cache Management
• Algoritmo genérico de cache 2º nível, adaptativo: MQ
• Não otimizado para uso em SSDs (para webservers, NFS, CIFS, Samba)
• Limitações
• Traces proprietários (MS)
• Caches muito pequenos (N1: 1GB, N2: 2MB)
• Foco em simuladores
• A Self-Tuning, Low Overhead Replacement Cache
• Algoritmo adaptativo: ARC
• Possui implementação para Solaris
• Limitações
• Testes apenas em cache de 1º Nível
• Mostram apenas hit I/O
• Workloads sintéticos (sem traces reais)
• Caches muito pequenos
• Não apresentam outras métricas: uso de CPU e memória
TRABALHOS RELACIONADOS (I)
PPGInf - UFPR
• SSD Buffer Pool Extensions for Database Systems
• Analisa regiões “quentes” do disco com base nos padrões de
acesso e leva à cache blocos mais importantes
• Limitações:
• De uso especifico para bancos de dados
• Testes realizados apenas sobre o banco DB2
• Flashing Up the Storage Hierarchy
• Estuda o impacto do tamanho das caches, gerenciamento de
metadados e fluxos de dados sobre configurações
hierárquicas (RAM, SSD, HDD)
• Propõe algoritmo para otimizar de ordenação dos dados
hierarquicamente
• Limitações
• Aplicação focada em bancos de dados
TRABALHOS RELACIONADOS (II)
PPGInf - UFPR
1. Estudar as implementações de cache de 2º nível do Linux
2. Estudar a implementação de RAID do Linux
3. Estudar os benchmarks de disco (micro) e aplicação (macro)
4. Implementar a automatização dos benchmarks
5. Realizar testes e comparações dos arranjos frente a implementações de cache
6. Analisar os resultados obtidos nos testes
7. Escrever a dissertação
8. Preparar Defesa
CALENDÁRIO
PPGInf - UFPR
OBRIGADO!
PPGInf - UFPR

Mais conteúdo relacionado

Mais procurados

Implatação de Sistemas de Segurança com Linux
Implatação de Sistemas de Segurança com LinuxImplatação de Sistemas de Segurança com Linux
Implatação de Sistemas de Segurança com LinuxAlvaro Gomes
 
[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 
Discos Rígidos e Unidades de Estado Sólido
Discos Rígidos e Unidades de Estado SólidoDiscos Rígidos e Unidades de Estado Sólido
Discos Rígidos e Unidades de Estado SólidoHenrique Lima
 
ZFS – Zettabyte File System
ZFS – Zettabyte File SystemZFS – Zettabyte File System
ZFS – Zettabyte File Systemflisolmaringa
 
Apresentando o FreeBSD
Apresentando o FreeBSDApresentando o FreeBSD
Apresentando o FreeBSDflisolmaringa
 
FreeBSD para leigos
FreeBSD para leigosFreeBSD para leigos
FreeBSD para leigosPedro Neto
 
(11) hardware, modulos
(11)   hardware, modulos(11)   hardware, modulos
(11) hardware, modulosAnderson Lago
 
[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 
Socket 7 / K6III
Socket 7 / K6IIISocket 7 / K6III
Socket 7 / K6IIIcarolelyabe
 
questoes de info2005 e2006.PDF
questoes de info2005 e2006.PDFquestoes de info2005 e2006.PDF
questoes de info2005 e2006.PDFrcc1964
 

Mais procurados (15)

Implatação de Sistemas de Segurança com Linux
Implatação de Sistemas de Segurança com LinuxImplatação de Sistemas de Segurança com Linux
Implatação de Sistemas de Segurança com Linux
 
[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 
Discos Rígidos e Unidades de Estado Sólido
Discos Rígidos e Unidades de Estado SólidoDiscos Rígidos e Unidades de Estado Sólido
Discos Rígidos e Unidades de Estado Sólido
 
ZFS – Zettabyte File System
ZFS – Zettabyte File SystemZFS – Zettabyte File System
ZFS – Zettabyte File System
 
Apresentando o FreeBSD
Apresentando o FreeBSDApresentando o FreeBSD
Apresentando o FreeBSD
 
FreeBSD para leigos
FreeBSD para leigosFreeBSD para leigos
FreeBSD para leigos
 
(11) hardware, modulos
(11)   hardware, modulos(11)   hardware, modulos
(11) hardware, modulos
 
Watt OS R6
Watt OS R6Watt OS R6
Watt OS R6
 
FreeBSD
FreeBSDFreeBSD
FreeBSD
 
Por que FreeBSD?
Por que FreeBSD?Por que FreeBSD?
Por que FreeBSD?
 
[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 
Informática 365 quetões
Informática 365 quetõesInformática 365 quetões
Informática 365 quetões
 
Ficha de trabalho 1
Ficha de trabalho 1Ficha de trabalho 1
Ficha de trabalho 1
 
Socket 7 / K6III
Socket 7 / K6IIISocket 7 / K6III
Socket 7 / K6III
 
questoes de info2005 e2006.PDF
questoes de info2005 e2006.PDFquestoes de info2005 e2006.PDF
questoes de info2005 e2006.PDF
 

Semelhante a Avaliação dos Mecanismos de Cache em Dispositivos de Armazenamento Secundário com Discos de Estado Sólido

Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPALinux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPAMarcelo Veiga Neves
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoelliando dias
 
Adequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema cargaAdequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema cargaLucas Brasilino
 
Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e softwarePaulo Fonseca
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux EmbarcadoDiego Sueiro
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.dannas_06
 
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga NevesDesenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga NevesTchelinux
 
Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009
Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009
Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009Marcelo Veiga Neves
 
Arch Linux – Simplesmente Linux
Arch Linux – Simplesmente LinuxArch Linux – Simplesmente Linux
Arch Linux – Simplesmente LinuxLuiz Thiago
 
MEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupMEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupAndré Cruz
 
SO - Unifap 2022-1 - Aula 1 - 08-08-2022.pdf
SO - Unifap 2022-1 - Aula 1 - 08-08-2022.pdfSO - Unifap 2022-1 - Aula 1 - 08-08-2022.pdf
SO - Unifap 2022-1 - Aula 1 - 08-08-2022.pdfHigru
 
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...CPqD
 
Linux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoCLinux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoCEmbarcados
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoFabio Telles Rodriguez
 

Semelhante a Avaliação dos Mecanismos de Cache em Dispositivos de Armazenamento Secundário com Discos de Estado Sólido (20)

Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPALinux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
Linux em Sistemas Embarcados - SACTA 2010 - UNIPAMPA
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Adequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema cargaAdequação do servidor Proxy/Cache Squid a redes de extrema carga
Adequação do servidor Proxy/Cache Squid a redes de extrema carga
 
Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e software
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado
 
intro.pdf
intro.pdfintro.pdf
intro.pdf
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.
 
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga NevesDesenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
Desenvolvendo Sistemas de Linux Embarcado - Marcelo Veiga Neves
 
Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009
Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009
Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009
 
Arch Linux – Simplesmente Linux
Arch Linux – Simplesmente LinuxArch Linux – Simplesmente Linux
Arch Linux – Simplesmente Linux
 
Processos (Linux)
Processos (Linux)Processos (Linux)
Processos (Linux)
 
MEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupMEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon Meetup
 
SO - Unifap 2022-1 - Aula 1 - 08-08-2022.pdf
SO - Unifap 2022-1 - Aula 1 - 08-08-2022.pdfSO - Unifap 2022-1 - Aula 1 - 08-08-2022.pdf
SO - Unifap 2022-1 - Aula 1 - 08-08-2022.pdf
 
Eripi2018 p4 tutorial
Eripi2018 p4 tutorialEripi2018 p4 tutorial
Eripi2018 p4 tutorial
 
Hardening Unix
Hardening UnixHardening Unix
Hardening Unix
 
Automatizando Nmap com NSE
Automatizando Nmap com NSEAutomatizando Nmap com NSE
Automatizando Nmap com NSE
 
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
 
Linux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoCLinux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoC
 
Conceitoseaplicaes
ConceitoseaplicaesConceitoseaplicaes
Conceitoseaplicaes
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 

Último

Sistema _ Endocrino_ hormonios_8_ano.ppt
Sistema _ Endocrino_ hormonios_8_ano.pptSistema _ Endocrino_ hormonios_8_ano.ppt
Sistema _ Endocrino_ hormonios_8_ano.pptMrciaVidigal
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
Teorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulaoTeorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulaoEduardoBarreto262551
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...Universidade Federal de Sergipe - UFS
 
Revisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro anoRevisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro anoAlessandraRaiolDasNe
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...Universidade Federal de Sergipe - UFS
 
NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...
NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...
NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...LuisCSIssufo
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...Universidade Federal de Sergipe - UFS
 
Geologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do MarGeologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do MarGabbyCarvalhoAlves
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
O Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos ViniciusO Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos ViniciusVini Master
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 

Último (18)

Sistema _ Endocrino_ hormonios_8_ano.ppt
Sistema _ Endocrino_ hormonios_8_ano.pptSistema _ Endocrino_ hormonios_8_ano.ppt
Sistema _ Endocrino_ hormonios_8_ano.ppt
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
Teorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulaoTeorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulao
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
 
Revisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro anoRevisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro ano
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
 
NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...
NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...
NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
 
Geologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do MarGeologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do Mar
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
O Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos ViniciusO Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos Vinicius
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 

Avaliação dos Mecanismos de Cache em Dispositivos de Armazenamento Secundário com Discos de Estado Sólido

  • 1. AVALIAÇÃO DOS MECANISMOS DE CACHE EM DISPOSITIVOS DE ARMAZENAMENTO SECUNDÁRIO COM DISCOS DE ESTADO SÓLIDO Proposta de Dissertação de Mestrado Aluno: Leonardo Antônio dos Santos Orientador: Luiz Carlos Erpen de Bona Co-orientador: Carlos Alberto Maziero PPGInf - UFPR
  • 2. SUMÁRIO • INTRODUÇÃO • ESTRUTURAS DE ARMAZENAMENTO SECUNDÁRIO • Acesso a disco no Kernel do Linux • Estrutura de Caches no Linux • Dispositivos de Armazenamento • Redundant Array of Inexpensive Disk • ALGORITMOS DE SUBSTITUIÇÃO DE CACHE • OPT, LRU, LIRS, ARC, MQ • IMPLEMENTAÇÕES DE CACHE NO LINUX • BCACHE, DMCACHE • PROPOSTA • Objetivos, Detalhamento; • Resultados Preliminares; • Calendário PPGInf - UFPR
  • 3. INTRODUÇÃO (I) • 60 a 70: revolução da computação; • 70 a 80: era da informação; • ↑ foco no armazenamento; • Confiabilidade: precisão das informações; • Desempenho: latência e vazão; • Escalabilidade: • para milhares ou milhões de usuários. PPGInf - UFPR
  • 4. INTRODUÇÃO (II) • Hierarquia do Armazenamento de Dados • Processamento ↑ versus I/O → • Voláteis (≥ Flash) versus Não-Voláteis (≤ Flash) • Hierarquização torna-se necessária • Caches + Algoritmos de Substituição PPGInf - UFPR
  • 5. INTRODUÇÃO (III) • Memória RAM como Cache • Padrão aos SOs. • SSD como Cache • É viável? • Necessário revisitar: • Algoritmos de substituição; • Cache de primeiro nível (RAM); • Outras formas de melhoria de desempenho (RAID); • Implementações de cache de segundo nível (SSD). PPGInf - UFPR
  • 6. ACESSO A DISCO NO KERNEL DO LINUX (I) • RAW I/O • File System I/O • Direct I/O (sem cache) PPGInf - UFPR
  • 7. ACESSO A DISCO NO KERNEL DO LINUX (II) • RAW I/O • File System I/O • Direct I/O (sem cache) PPGInf - UFPR
  • 8. ACESSO A DISCO NO KERNEL DO LINUX (I) (FILESYSTEM I/O) • Interface: • ↑ usuário • ↓ file system • O VFS faz o processamento inicial das requisições; • Seguem o padrão POSIX • open, read, write, lseek • Disk Caches • File System agnostic PPGInf - UFPR
  • 9. • Interface: • ↑ VFS interface • ↓ File Systems interface • Cada File System • possui características próprias; • implementa as interfaces superiores e inferiores. ACESSO A DISCO NO KERNEL DO LINUX (II) (FILESYSTEM I/O) PPGInf - UFPR
  • 10. ACESSO A DISCO NO KERNEL DO LINUX (III) (FILESYSTEM I/O) • Interface: • ↑ i-node, offset, size • ↓ block • Mapeamento • Feito pelo File System; • De arquivos solicitados para blocos no disco; • Depende de fatores como: • tabelas de indexação • gerenciamento de espaço livre • implementação de diretórios • métodos de alocação PPGInf - UFPR
  • 11. ACESSO A DISCO NO KERNEL DO LINUX (IV) (FILESYSTEM I/O) • Interface • ↑ logical block • ↓ physical block • Abstrai detalhes dos dispositivos de bloco (físicos ou virtuais) para as camadas superiores; • LVM, RAID em software e similares são implementados nesta camada; PPGInf - UFPR
  • 12. • Sequencia (sort) os setores que serão encaminhados ao dispositivo (LBA); • Agrupa requisições (merge) de blocos adjacentes; • Implementações: • Noop • Deadline • Anticipatory • CFQ ACESSO A DISCO NO KERNEL DO LINUX (V) (FILESYSTEM I/O) PPGInf - UFPR
  • 13. • Mantém em RAM dados normalmente acessados em disco; • Existem 3 tipos: • Dentry Cache • Mapeamento em RAM utilizado pelo VFS para tradução de i-nodes • Page Cache • Composto por page frames que contêm dados pertencentes a arquivos • Buffer Cache • Área em RAM que contém dados dos blocos em disco ESTRUTURA DE CACHES NO LINUX (I) PPGInf - UFPR
  • 14. • Buffer Cache • Escrita atrasada (write-back) • Descarga dos buffers em lote com intervalos pré-definidos (30s) • Estrutura: • Buffer Headers: descreve um bloco em cache • dirty bit (blk mem ≠ blk disk) • timestamp (políticas de alocação) • Hash Table para busca dos buffer headers • {device, block_number} identificador do bloco ESTRUTURA DE CACHES NO LINUX (II) PPGInf - UFPR
  • 15. • Page Cache • Mais simples que o buffer cache • Opera sobre arquivos (read, write, mmap) • Não opera necessariamente sobre blocos adjacentes • Estrutura: • I-node Queue lista dos descritores de página de determinado arquivo • Page Hash Table para busca dos descritores de página • {i-node, offset} identificador da página ESTRUTURA DE CACHES NO LINUX (III) PPGInf - UFPR
  • 16. • A separação entre Page e Buffer Cache foi mantida somente até a versão 2.4 do Kernel, sendo unificados posteriormente; • Lista das principais operações ESTRUTURA DE CACHES NO LINUX (IV) PPGInf - UFPR
  • 17. • É um dispositivo de armazenamento secundário; • Útil para armazenamento de grandes quantidades de dados; • Não-volátil; • Composição magnética; • Possui partes mecânicas. DISPOSITIVOS DE ARMAZENAMENTO (I) HARD DISK DRIVES (HDD) PPGInf - UFPR
  • 18. • Limitações: • Tempo de posicionamento (seek time) • impacta o acesso aleatório • Velocidade de rotação (rotation time) • Barramento de dados DISPOSITIVOS DE ARMAZENAMENTO (II) HARD DISK DRIVES (HDD) PPGInf - UFPR
  • 19. • Composição eletrônica; • Baseado em memórias NAND flash; • Armazenam eletrons por tempo indefinido sem uso de energia; • Baixo consumo de energia; • Solid State: pela ausência de partes móveis; • São versões mais complexas dos SDs e CF (CompactFlash); • Melhor mídia de armazenamento que os HDDs. DISPOSITIVOS DE ARMAZENAMENTO (III) SOLID STATE DISK (SSD) PPGInf - UFPR
  • 20. DISPOSITIVOS DE ARMAZENAMENTO (IV) SOLID STATE DISK (SSD) • Operações: • Escrita: programming • Remoção: erasing • Leitura: bias-voltage • Limitações: • Leitura e escrita async • Escrita ≈2x leitura • Limite de escritas por bloco • Write amplification • Garbage Collection • Age em um limiar • Evita comprometer futuras escritas • Wear Leveling PPGInf - UFPR
  • 21. • Operações: • Escrita: programming • Remoção: erasing • Leitura: bias-voltage • Limitações: • Leitura e escrita async • Escrita ≈2x leitura • Limite de escritas por bloco • Write amplification • Garbage Collection • Age em um limiar • Evita comprometer futuras escritas • Wear Leveling DISPOSITIVOS DE ARMAZENAMENTO (V) SOLID STATE DISK (SSD) (t1) (t2) (t3) (t4) PPGInf - UFPR
  • 22. • Arranjo de discos com o objetivo de aumentar o desempenho e/ou garantir a redundância dos dados; • Desenvolvido inicialmente para melhorar o desempenho dos discos rotacionais; • aumento do paralelismo • Garante a redundância; • espelhamento dos dados RAID (I) PPGInf - UFPR
  • 23. • RAID0 • RAID1 • RAID5 RAID (II) Abordagens: • Mirroring • Striping • Parity • Hot Sparing PPGInf - UFPR
  • 24. • Tem por objetivo manter em cache dados com maior probabilidade de uso posterior; • Os principais algoritmos estudados são: • Algoritmo Ótimo (OPT) • Least Recently Used (LRU) • Low Inter-Reference Set (LIRS) • Adaptive Replacement Cache (ARC) • Multi-Queue (MQ) ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (I) PPGInf - UFPR
  • 25. • Não é factível • Baseia-se no futuro; • Serve apenas como linha de base para outras implementações (I/O hits) ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (II) OPT PPGInf - UFPR
  • 26. • Não é factível • Baseia-se no futuro; • Serve apenas como linha de base para outras implementações (I/O hits) ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (II) OPT futuro PPGInf - UFPR
  • 27. • Considera apenas recência • Baseia-se no passado e é factível; • Diversas implementações foram propostas tanto em hardware (aproximações) quanto em software; • Ruim em workloads filescaning e acesso a blocos com frequências variadas; ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (IV) LRU PPGInf - UFPR
  • 28. • Considera apenas recência • Baseia-se no passado e é factível; • Diversas implementações foram propostas tanto em hardware (aproximações) quanto em software; • Ruim em workloads filescaning e acesso a blocos com frequências variadas; ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (IV) LRU passado problema! PPGInf - UFPR
  • 29. ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (V) LIRS • Desenvolvido para cache de 1º Nível (RAM); • Busca reduzir os problemas do LRU; • IRR: Inter Reference Recency • Número de blocos acessados sem repetições entre as duas últimas referências • Mesmo os blocos com baixa recência podem ser substituídos por conta do IRR; • Não é adaptativo! PPGInf - UFPR
  • 30. ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (V) LIRS • Desenvolvido para cache de 1º Nível (RAM); • Busca reduzir os problemas do LRU; • IRR: Inter Reference Recency • Número de blocos acessados sem repetições entre as duas últimas referências • Mesmo os blocos com baixa recência podem ser substituídos por conta do IRR; • Não é adaptativo! PPGInf - UFPR
  • 31. • Desenvolvido para cache de 1º Nível (RAM); • Busca reduzir os problemas do LRU; • IRR: Inter Reference Recency • Número de blocos acessados sem repetições entre as duas últimas referências • Mesmo os blocos com baixa recência podem ser substituídos por conta do IRR; • Não é adaptativo! ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (V) LIRS HIR LIR PPGInf - UFPR
  • 32. ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (VI) ARC • Adaptável a diversos workloads • Detecta mudanças contextuais • Sem tuning manual • Considera • Recência • Frequência • Utilizado em caches de 2º nível (SSDs); • Mantém informações históricas (ghost lists); • Não conta frequências • MRU: = 1 acesso • MFU: > 1 acesso PPGInf - UFPR
  • 33. ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (VII) ARC PPGInf - UFPR
  • 34. ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (VII) ARC PPGInf - UFPR
  • 35. • Projetado para caches de 2º nível (SSD); • Identifica padrões de acesso a 2º nível como diferentes do 1º nível; • Não requer modificações no primeiro nível de cache; • Mantém blocos com diferentes frequências em diferentes filas LRU; • Informações históricas são mantidas no history buffer; • FIFO: sem overhead ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (VIII) MULTI-QUEUE PPGInf - UFPR
  • 36. • Função de alocação na cache: • k = log 2 f (f a frequência de acessos) • Ex.: o 8º acesso a um bloco de Q2 leva o bloco para Q3 • Os blocos saem da cache para o history buffer por Q0 • Queda de fila • tempos lógicos • expireTime = currentTime + lifeTime • currentTime++ a cada rodada • verifica LRU das m filas em cada acesso ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (IX) MULTI-QUEUE PPGInf - UFPR
  • 37. • Implementação Linux para cache de 2º nível com SSDs; • Opera na camada de blocos (Block Layer) • File System agnostic • Cria um dispositivo virtual; • Aproveita o que há de melhor nos SSDs e HDDs de forma transparente através de mecanismos de cache; IMPLEMENTAÇÕES DE CACHE NO LINUX (I) BCACHE PPGInf - UFPR
  • 38. • COW (Copy-On-Write) • Devido a limitação de escrita dos SSDs, evita atualização dos dados; • Estrutura: • Log-structured (simples, não espacial, fácil restore) • B-tree • Algoritmo de substituição: LRU • Parametrização de: • limites de acesso sequencial (4M) IMPLEMENTAÇÕES DE CACHE NO LINUX (II) BCACHE PPGInf - UFPR
  • 39. • Opera junto ao device-mapper • mais simples, menos intrusivo; • Algoritmo de substituição: MQ • implementação mais robusta que o BCache; • Faz uso de 3 dispositivos de armazenamento; • dados • cache • metadados • Modos de operação: • write-back • write-through • pass-through IMPLEMENTAÇÕES DE CACHE NO LINUX (III) DMCACHE PPGInf - UFPR
  • 40. • Políticas de substituição: • multi-queue • cleaner (para alteração nos dispositivos) • Parametrização de: • limites de acesso sequencial • limites de acesso aleatório IMPLEMENTAÇÕES DE CACHE NO LINUX (IV) DMCACHE PPGInf - UFPR
  • 41. • Problema: grande variedade de • Implementações • Parametrizações • Algoritmos de substituição • Arranjos • Dispositivos • Cargas de trabalho (workloads) • Qual é a melhor combinação desses itens para cada workload? PROPOSTA (I) PPGInf - UFPR
  • 42. • Objetivo Geral • Uma análise experimental desses fatores no cenário do armazenamento de dados restrito ao Linux para uso em conjunto de HDDs e SSDs, em especial, BCache, DMCache e RAID. PROPOSTA (II) PPGInf - UFPR
  • 43. • Objetivos Específicos • analisar o desempenho das implementações de cache de segundo nível BCache e DMCache para o Kernel Linux; • verificar as reais vantagens e desvantagens do uso de cache frente a outras abordagens; • apontar melhores caminhos na escolha dos arranjos de discos e tecnologias; • identificar falhas e possíveis otimizações para os algoritmos ou para outros detalhes inerentes as duas abordagens. PROPOSTA (III) PPGInf - UFPR
  • 44. • Metodologia Análise experimental através de • Microbenchmarks: • Para medir o desempenho em situações isoladas; • Explicar com clareza os macrobenchmarks; • Ferramenta: • Flexible I/O (fio) • Medição: acesso sequencial e aleatório. PROPOSTA (IV) PPGInf - UFPR
  • 45. • Metodologia Análise experimental através de: • Macrobenchmarks • Para medição de desempenho em situações próximas às reais; • Simulação: acesso Webserver, Varmail, Fileserver e Oltp; • Ferramentas: • Filebench (Webserver, Fileserver, Varmail) • DBT e/ou TPCC-Uva (Oltp, TPC-C) PROPOSTA (V) PPGInf - UFPR
  • 47. Resultados Preliminares PROPOSTA (VII) SSD x HDD • Leituras sequenciais • SSD ~ 5x ↑ • Leituras aleatórias • SSD ~ 50x ↑ • Escritas sequenciais • SSD ~ 4x ↑ • Escritas aleatórias • SSD ~ 5x ↑ PPGInf - UFPR
  • 48. Resultados Preliminares PROPOSTA (VIII) HDD x Caches • Leituras sequenciais • Cache ~ HDD • Escritas sequenciais • Cache ~ HDD PPGInf - UFPR
  • 49. Resultados Preliminares PROPOSTA (VIII) HDD x Caches • Leituras aleatórias • DMCache: ↑ 15ª rodada, ~ 4x > Bcache • BCache: LRU descarta dados importantes • Escritas aleatórias • BCache: envia tudo para a cache • DMCache: é mais seletivo ↓ desempenho PPGInf - UFPR
  • 50. • Second Buffer Cache Management • Algoritmo genérico de cache 2º nível, adaptativo: MQ • Não otimizado para uso em SSDs (para webservers, NFS, CIFS, Samba) • Limitações • Traces proprietários (MS) • Caches muito pequenos (N1: 1GB, N2: 2MB) • Foco em simuladores • A Self-Tuning, Low Overhead Replacement Cache • Algoritmo adaptativo: ARC • Possui implementação para Solaris • Limitações • Testes apenas em cache de 1º Nível • Mostram apenas hit I/O • Workloads sintéticos (sem traces reais) • Caches muito pequenos • Não apresentam outras métricas: uso de CPU e memória TRABALHOS RELACIONADOS (I) PPGInf - UFPR
  • 51. • SSD Buffer Pool Extensions for Database Systems • Analisa regiões “quentes” do disco com base nos padrões de acesso e leva à cache blocos mais importantes • Limitações: • De uso especifico para bancos de dados • Testes realizados apenas sobre o banco DB2 • Flashing Up the Storage Hierarchy • Estuda o impacto do tamanho das caches, gerenciamento de metadados e fluxos de dados sobre configurações hierárquicas (RAM, SSD, HDD) • Propõe algoritmo para otimizar de ordenação dos dados hierarquicamente • Limitações • Aplicação focada em bancos de dados TRABALHOS RELACIONADOS (II) PPGInf - UFPR
  • 52. 1. Estudar as implementações de cache de 2º nível do Linux 2. Estudar a implementação de RAID do Linux 3. Estudar os benchmarks de disco (micro) e aplicação (macro) 4. Implementar a automatização dos benchmarks 5. Realizar testes e comparações dos arranjos frente a implementações de cache 6. Analisar os resultados obtidos nos testes 7. Escrever a dissertação 8. Preparar Defesa CALENDÁRIO PPGInf - UFPR