AVALIAÇÃO DOS MECANISMOS DE
CACHE EM DISPOSITIVOS DE
ARMAZENAMENTO SECUNDÁRIO
COM DISCOS DE ESTADO SÓLIDO
Proposta de Diss...
SUMÁRIO
• INTRODUÇÃO
• ESTRUTURAS DE ARMAZENAMENTO SECUNDÁRIO
• Acesso a disco no Kernel do Linux
• Estrutura de Caches no...
INTRODUÇÃO (I)
• 60 a 70: revolução da computação;
• 70 a 80: era da informação;
• ↑ foco no armazenamento;
• Confiabilida...
INTRODUÇÃO (II)
• Hierarquia do Armazenamento de Dados
• Processamento ↑ versus I/O →
• Voláteis (≥ Flash) versus Não-Volá...
INTRODUÇÃO (III)
• Memória RAM como Cache
• Padrão aos SOs.
• SSD como Cache
• É viável?
• Necessário revisitar:
• Algorit...
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
processament...
• Interface:
• ↑ VFS interface
• ↓ File Systems interface
• Cada File System
• possui características
próprias;
• implemen...
ACESSO A DISCO NO KERNEL DO LINUX (III)
(FILESYSTEM I/O)
• Interface:
• ↑ i-node, offset, size
• ↓ block
• Mapeamento
• Fe...
ACESSO A DISCO NO KERNEL DO LINUX (IV)
(FILESYSTEM I/O)
• Interface
• ↑ logical block
• ↓ physical block
• Abstrai detalhe...
• Sequencia (sort) os setores
que serão encaminhados
ao dispositivo (LBA);
• Agrupa requisições
(merge) de blocos
adjacent...
• Mantém em RAM dados normalmente acessados em disco;
• Existem 3 tipos:
• Dentry Cache
• Mapeamento em RAM utilizado pelo...
• Buffer Cache
• Escrita atrasada (write-back)
• Descarga dos buffers em lote com intervalos pré-definidos
(30s)
• Estrutu...
• Page Cache
• Mais simples que o buffer cache
• Opera sobre arquivos (read, write, mmap)
• Não opera necessariamente sobr...
• A separação entre Page e Buffer Cache foi
mantida somente até a versão 2.4 do Kernel,
sendo unificados posteriormente;
•...
• É um dispositivo de armazenamento secundário;
• Útil para armazenamento de grandes quantidades
de dados;
• Não-volátil;
...
• Limitações:
• Tempo de posicionamento (seek time)
• impacta o acesso aleatório
• Velocidade de rotação (rotation time)
•...
• Composição eletrônica;
• Baseado em memórias NAND flash;
• Armazenam eletrons por tempo indefinido
sem uso de energia;
•...
DISPOSITIVOS DE ARMAZENAMENTO (IV)
SOLID STATE DISK (SSD)
• Operações:
• Escrita: programming
• Remoção: erasing
• Leitura...
• Operações:
• Escrita: programming
• Remoção: erasing
• Leitura: bias-voltage
• Limitações:
• Leitura e escrita async
• E...
• Arranjo de discos com o objetivo de aumentar o
desempenho e/ou garantir a redundância dos
dados;
• Desenvolvido inicialm...
• 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ã...
• Não é factível
• Baseia-se no futuro;
• Serve apenas como linha de base para outras
implementações (I/O hits)
ALGORITMOS...
• Não é factível
• Baseia-se no futuro;
• Serve apenas como linha de base para outras
implementações (I/O hits)
ALGORITMOS...
• Considera apenas recência
• Baseia-se no passado e é factível;
• Diversas implementações foram propostas tanto em hardwa...
• Considera apenas recência
• Baseia-se no passado e é factível;
• Diversas implementações foram propostas tanto em hardwa...
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (V)
LIRS
• Desenvolvido para cache de 1º Nível (RAM);
• Busca reduzir os problemas do ...
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (V)
LIRS
• Desenvolvido para cache de 1º Nível (RAM);
• Busca reduzir os problemas do ...
• Desenvolvido para cache de 1º Nível (RAM);
• Busca reduzir os problemas do LRU;
• IRR: Inter Reference Recency
• Número ...
ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (VI)
ARC
• Adaptável a diversos
workloads
• Detecta mudanças contextuais
• Sem tuning ...
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 re...
• 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 ...
• Implementação Linux para cache de 2º nível com
SSDs;
• Opera na camada de blocos (Block Layer)
• File System agnostic
• ...
• COW (Copy-On-Write)
• Devido a limitação de escrita dos SSDs, evita atualização dos
dados;
• Estrutura:
• Log-structured...
• Opera junto ao device-mapper
• mais simples, menos intrusivo;
• Algoritmo de substituição: MQ
• implementação mais robus...
• Políticas de substituição:
• multi-queue
• cleaner (para alteração nos dispositivos)
• Parametrização de:
• limites de a...
• Problema: grande variedade de
• Implementações
• Parametrizações
• Algoritmos de substituição
• Arranjos
• Dispositivos
...
• Objetivo Geral
• Uma análise experimental desses fatores no
cenário do armazenamento de dados restrito
ao Linux para uso...
• Objetivos Específicos
• analisar o desempenho das implementações de
cache de segundo nível BCache e DMCache para o
Kerne...
• Metodologia
Análise experimental através de
• Microbenchmarks:
• Para medir o desempenho em situações
isoladas;
• Explic...
• Metodologia
Análise experimental através de:
• Macrobenchmarks
• Para medição de desempenho em situações
próximas às rea...
Resultados Preliminares
PROPOSTA (VI)
PPGInf - UFPR
Resultados Preliminares
PROPOSTA (VII)
SSD x HDD
• Leituras sequenciais
• SSD ~ 5x ↑
• Leituras aleatórias
• SSD ~ 50x ↑
•...
Resultados Preliminares
PROPOSTA (VIII)
HDD x Caches
• Leituras sequenciais
• Cache ~ HDD
• Escritas sequenciais
• Cache ~...
Resultados Preliminares
PROPOSTA (VIII)
HDD x Caches
• Leituras aleatórias
• DMCache:
↑ 15ª rodada,
~ 4x > Bcache
• BCache...
• Second Buffer Cache Management
• Algoritmo genérico de cache 2º nível, adaptativo: MQ
• Não otimizado para uso em SSDs (...
• SSD Buffer Pool Extensions for Database Systems
• Analisa regiões “quentes” do disco com base nos padrões de
acesso e le...
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 bench...
OBRIGADO!
PPGInf - UFPR
Próximos SlideShares
Carregando em…5
×

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

379 visualizações

Publicada em

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

Publicada em: Ciências
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
379
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
10
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

  1. 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. 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. 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. 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. 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. 6. ACESSO A DISCO NO KERNEL DO LINUX (I) • RAW I/O • File System I/O • Direct I/O (sem cache) PPGInf - UFPR
  7. 7. ACESSO A DISCO NO KERNEL DO LINUX (II) • RAW I/O • File System I/O • Direct I/O (sem cache) PPGInf - UFPR
  8. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 23. • RAID0 • RAID1 • RAID5 RAID (II) Abordagens: • Mirroring • Striping • Parity • Hot Sparing PPGInf - UFPR
  24. 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. 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. 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. 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. 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. 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. 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. 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. 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. 33. ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (VII) ARC PPGInf - UFPR
  34. 34. ALGORITMOS DE SUBSTITUIÇÃO DE CACHE (VII) ARC PPGInf - UFPR
  35. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  46. 46. Resultados Preliminares PROPOSTA (VI) PPGInf - UFPR
  47. 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. 48. Resultados Preliminares PROPOSTA (VIII) HDD x Caches • Leituras sequenciais • Cache ~ HDD • Escritas sequenciais • Cache ~ HDD PPGInf - UFPR
  49. 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. 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. 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. 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
  53. 53. OBRIGADO! PPGInf - UFPR

×