Adicionar aceleração flash a conjuntos de memória partilhada

Os Servidores de E/S Virtuais (VIOS) com aceleração flash de conjuntos de memória partilhada (SSP, Shared Storage Pool), podem melhorar o desempenho utilizando unidades de disco de segunda geração (SSD, Solid-State Drive) ou cache de memória flash no Virtual I/O Server.

Esta funcionalidade permite a cada Virtual I/O Server utilizar um dispositivo de cache flash para cache apenas de leitura. Os dispositivos de cache flash podem ser:
  • Dispositivos ligados ao servidor, como um SSD incorporado no servidor.
  • Dispositivos directamente ligados ao servidor utilizando controladores Serial Attached SCSI (SAS).
  • Recursos disponíveis na rede de área de armazenamento (SAN).

O VIOS deve ser capaz de identificar o dispositivo como um dispositivo flash para que o dispositivo seja considerado elegível para ser utilizado como dispositivo de cache. O VIOS utiliza o campo TAXA DE ROTAÇÃO MÉDIA (MEDIUM ROTATION RATE) da página SCSI Block Device Characteristics VPD (SCSI INQUIRY página B1) para determinar se o dispositivo é um dispositivo flash. Se um dispositivo não suportar essa página ou apresentar um valor diferente de 0001h Non-rotating medium no campo TAXA de ROTAÇÃO MÉDIA (MEDIUM ROTATION RATE), o dispositivo não pode ser utilizado como dispositivo de cache.

Pode obter o benefício de desempenho máximo utilizando dispositivos de cache flash ligados localmente.

A aceleração flash do SSP é baseada na colocação em cache em Servidores de E/S Virtuais, enquanto que a colocação em cache flash Power ou a cache do lado do servidor é executada na partição lógica cliente. Para obter mais informações sobre colocação em memória do lado do servidor, consulte ou .

Ambos os tipos de cache podem ser utilizados de forma independente. As características de desempenho de ambos os tipos de cache são semelhantes, em tipos semelhantes de carga de trabalho da partição lógica cliente.

A aceleração flash do SSP executa a cache só de leitura sobre todo o conjunto de memória, incluindo quaisquer níveis de memória no conjunto. Apenas são colocados em cache os dados de utilizador (blocos de dados) no conjunto, os metadados não são colocados em cache. Em vez disso, o acesso aos metadados pode ser acelerado utilizando armazenamento SSD no SAN para o nível do sistema.

Conceitos e termos na aceleração flash do SSP

É possível colocar em cache dinamicamente o conjunto de memória (activar ou desactivar a cache), enquanto as cargas de trabalho são executadas nas partições lógicas cliente. As cargas de trabalho não necessitam ser colocadas num estado inactivo para permitir a colocação em memória. Os termos utilizados para explicar o conceito de colocação em memória flash são descritos na seguinte tabela.
Termo Descrição
Dispositivo de cache Um dispositivo de cache é uma unidade de segunda geração (SSD, Solid-State Drive) ou um disco flash que é utilizado para colocação em memória.
Conjunto de Cache Um conjunto de cache é um grupo de dispositivos de cache utilizado apenas para armazenamento de colocação em cache.
Activar a colocação em cache Iniciar a cache do conjunto de memória.
Desactivar a cache Parar a cache do conjunto de memória.

Quando a cache estiver activa para o conjunto de memória, a cache é iniciada em todos os Servidores de E/S Virtuais no conjunto que tem um conjunto de cache definido. Este processo cria implicitamente um dispositivo de cache lógico (conhecido por partição de cache) derivado do conjunto de cache local por cada Virtual I/O Server. Quando a cache do conjunto de memória estiver activada, todos os pedidos de leitura de blocos de dados do conjunto de memória são encaminhados para o software de cache do SSP. Caso seja encontrado um bloco de dados de utilizador específico na cache local do Virtual I/O Server, o pedido de E/S é processado a partir do dispositivo de cache. Se o bloco solicitado não for encontrado na cache ou case se trate de um pedido de escrita, o pedido de E/S é enviado directamente para o conjunto de memória dos dispositivos SAN.

Quando a cache está desactivada para o conjunto de memória, a cache em todos os Servidores de E/S Virtuais no conjunto pára. Este processo implicitamente limpa o dispositivo de cache lógica do conjunto de cache local em cada um dos servidores.

Arquitectura e componentes da aceleração flash do SSP

Os componentes da aceleração flash do SSP incluem a gestão de cache, o motor de cache e conjunto de memória do VIOS. Os componentes estão descritos na seguinte tabela.
Componente Descrição
VIOS A administração e gestão da cache é executada a partir da interface de linha de comandos do VIOS utilizando o comando sspcache.
Conjunto de memória (controlador de conjunto) O conjunto de memória é a cache destino e o controlador de conjunto faz a gestão da coerência da cache do conjunto.
Gestão de cache e motor de cache A gestão de cache faculta os comandos de configuração de cache de nível inferior, enquanto que o motor de cache executa a lógica da colocação em cache local para determinar quais os blocos a colocar na cache do conjunto de memória.
A aceleração flash do SSP executa a coerência da cache distribuída entre os Servidores de E/S Virtuais nas seguintes formas:
  • O controlador do conjunto de memória coordena a coerência da cache de forma transversal no conjunto.
  • O motor de cache faz a gestão da cache ao nível do nó (promovendo ou despromovendo as entradas na cache) e interage com o controlador do conjunto de memória para manter a coerência da cache. Este componente utiliza o mesmo método da cache local da cache flash ou cache do lado do servidor Power.
  • O motor de cache é utilizado para quaisquer operações de E/S do conjunto de memória. Este tipo de colocação em cache é denominado por cache paralela.

A figura seguinte explica o fluxo de várias operações de E/S quando a cache está activada.

Esta imagem é um ficheiro VIOS que contém informações sobre a arquitectura da aceleração flash do SSP.
Os detalhes das operações de E/S que são apresentados na figura, encontra-se explicados na seguinte tabela.
Operação de E/S Descrição
Ocorrência de Leitura de Cache
  • O VIOS passa pedidos de leitura de E/S da partição lógica cliente para o controlador do conjunto de memória.
  • O controlador do conjunto de memória verifica o motor de cache e conclui que a extensão se encontra na cache do dispositivo de cache local.
  • O pedido de E/S é inteiramente satisfeito na cache e devolvido para a partição lógica cliente.
Falha de Leitura de Cache
  • O VIOS passa pedidos de leitura de E/S da partição lógica cliente para o controlador do conjunto de memória.
  • O controlador do conjunto de memória verifica o motor de cache e conclui que a extensão não se encontra na cache do dispositivo de cache local.
  • O controlador do conjunto de memória satisfaz o pedido da SAN sendo devolvido à partição lógica cliente.
Operação de escrita
  • O VIOS passa pedidos de escrita de E/S da partição lógica cliente para o controlador do conjunto de memória.
  • A extensão é invalidada em qualquer nó do conjunto que possui a extensão em cache, para garantir a coerência da cache.
  • O controlador do conjunto de memória executa o pedido de escrita para a SAN.

Atributos da cache na aceleração flash do SSP

Os atributos da cache na aceleração flash do SSP são:
Transparente para as aplicações
Pode ser utilizados conjuntos de aplicações nas partições lógicas cliente.
Independente de sistemas operativos cliente
A chache é suportada nos sistema operativos AIX, IBM® i e Linux®.
Cache de leitura específica do nó
Os resultados de operações de escrita são enviados para a SAN após ocorrer a invalidação da cache.
Acesso aos dados partilhados concorrente e coerente
Suporta acesso aos dados partilhados concorrente com total coerência por todo o SSP.
Independente de tipos de armazenamento
Sem dependência do tipo de memória flash para cache e armazenamento na SAN para SSP.

Vantagens da aceleração flash do SSP

Alguns benefícios da aceleração flash do SSP incluem:
  • Melhoramento da latência e débito com determinados volumes de trabalho como os volumes de trabalho analíticos e transaccionais e processamento de transacções online.
  • Aceleração transparente, de tal modo que as partições lógicas cliente não têm conhecimento da cache em servidores de E/S virtuais.
  • Melhor densidade da máquina virtual (VM, Virtual Machine), sem impactos de desempenho.
  • Permite uma utilização e escalonamento mais eficientes da infra-estrutura SAN. O alívio dos pedidos de leitura da SAN podem aumentar o débito de escrita AN congestionadas.
  • Benefícios decorrentes da partilha de blocos nas VMs com base nas unidades lógicas (LU) virtuais clonadas, quando os blocos comuns já se encontram em cache.
  • Compatibilidade com Live Partition Mobility (LPM).

Limitações de cache na aceleração flash do SSP

Algumas limitações de cache em aceleração flash do SSP são:
  • O software de cache do SSP está configurado como uma cache só de leitura, o que significa que apenas são processados pedidos de leitura a partir da unidade de disco de segunda geração flash (SSD, Solid-State Drive). Todos os pedidos de leitura são processados pelo conjunto de memória apenas e para avançam directamente para a SAN.
  • Os dados escritos no conjunto de memória não são preenchidos automaticamente na cache. Caso a operação de escrita seja executada num bloco que esteja na cache, os dados existentes na cache são marcados como inválidos. O mesmo bloco reaparece na cache, dependendo da frequência e antiguidade do acesso ao bloco.
  • Os dispositivos de cache não podem ser partilhados entre Servidores de E/S Virtuais.
  • Os benefícios no desempenho dependem do tamanho do conjunto de trabalho da aplicação e do tipo e tamanho da cache do controlador de disco da SAN. Normalmente, o conjunto de trabalho colectivo tem de ser superior à cache do controlador de disco da SAN para existirem benefícios de desempenho significantes.

Configuração da cache na aceleração flash do SSP

Tem de concluir os seguintes passos a partir da interface de linha de comandos do VIOS para activar a cache:
  1. Crie um conjunto de cache em cada VIOS no conjunto, utilizando o comando cache_mgt.
  2. Active a cache do conjunto de memória no conjunto do SSP a partir de um nó único do VIOS através do comando sspcache.
A criação do conjunto de cache em cada VIOS é um passo que ocorre apenas uma vez. A sintaxe para este comando é:
cache_mgt pool create –d <Nomedisp>[,<Nomedisp>,…] -p <NomeConj>
Por exemplo, para criar uma cache de 1024 MB no conjunto de cada VIOS e, em seguida, activar a cache no conjunto de memória, conclua os seguintes passos:
  1. Para criar uma cache de 1024 MB, introduza o seguinte comando:
    cache_mgt pool create –d /dev/hdisk11 –p cmpool0     
    Este comando tem de ser executado no conjunto de todos os Servidores de E/S Virtuais.
  2. Para activar a cache do conjunto de memória no conjunto do SSP a partir de um nó único do VIOS, introduza o seguinte comando:
    sspcache -enable -sp -size 1024
    Este comando tem de ser executado num único VIOS no conjunto.

Gestão da cache na aceleração flash do SSP

Após concluir a configuração da cache, os requisitos da cache podem mudar ao longo do tempo. Pode ser necessário adicionar novos volumes de trabalho que necessitem ser colocados na cache. Para cumprir as alterações de requisitos, o conjunto de cache pode ser expandido, adicionado dispositivos de cache extra, caso seja necessário. Além disso, pode aumentar o tamanho da cache.

Pode utilizar os seguintes exemplos para gerir a configuração da cache.
  1. Para adicionar um dispositivo de cache ao conjunto de cache, introduza o seguinte comando em cada um dos VIOS no conjunto:
    > cache_mgt pool extend -p cmpool0 -d hdisk12 –f
  2. Para expandir o tamanho da cache para 2048 MB, introduza o seguinte comando num nó:
    > sspcache –resize –sp –size 2048