• Aucun résultat trouvé

Intermède pratique

2 La lecture, pour interagir et devenir

2.3 La fiction, un simulateur

2.3.1 Simulateur et modèle

Na primeira etapa, dispositivos de armazenamento são classificados com base no seu desempenho, pois é interessante utilizar os dispositivos de armazenamento mais rápidos o máximo possível, mas sem sobrecarregá-los para não sobrecarregar o sistema de armazenamento como um todo e evitar comportamentos inesperados. BACOS busca equilibrar a carga do sistema atribuindo mais requisições a dispositivos com maior desempenho e atribuir menos requisições a dispositivos mais lentos. Entretanto, dispositivos de armazenamento populares como HDD, SSD e PCM (KIM et al., 2014) possuem componentes e interfaces distintas que podem afetar o

desempenho final do dispositivo. O tipo de material, densidade de armazenamento e a tecnologia de persistência dos dados são algumas características que podem determinar o desempenho final do dispositivo. Logo, as diferentes interfaces de transferência de dados, matéria prima e tecnologias dos componentes dos dispositivos de armazenamento torna a tarefa de definir com precisão o desempenho desses dispositivos bastante difícil. Para facilitar a descoberta do desempenho de um dispositivo de armazenamento ao processar operações de entrada ou saída, foi decidido utilizar como métrica de desempenho para dispositivos de armazenamento o Input/Output Operations Per Second (IOPS)(BOSE et al., 2017). O IOPS é uma métrica bastante utilizada na indústria de dispositivos de armazenamento e consegue passar a intuição do quão veloz um dispositivo consegue processar operações de entrada e saída. O IOPS é uma métrica que permite generalizar as características de um determinado dispositivo de armazenamento que estão correlacionadas ao desempenho assim como o tipo de requisição que o dispositivo processa, seja ela de leitura, escrita ou exclusão de dados.

Antes de um dispositivo de armazenamento ser inserido em um sistema de armaze- namento, o administrador deve medir o IOPS máximo do dispositivo para descobrir o número de operações de entrada e saída que o dispositivo consegue suportar, caso o fabricante não tenha disponibilizado essa informação. Portanto, considere um dispositivo de armazenamento dk ∈ {d1, ..., dZ}, onde Z é o número total de dispositivos existentes no sistema de armazena-

mento. Foi utilizado uma ferramenta de benchmark específica, como FIO (AXBOE, 2017), para estressar o dispositivo e verificar o seu IOPS máximo. É interessante que os parâmetros de carga utilizados para medir o IOPS dos dispositivos reflitam no padrão de carga comumente utilizado pelas aplicações consumidoras do sistema de armazenamento. Se a carga de trabalho não é conhecida, é recomendado utilizar uma carga padrão indicado pela documentação da ferramenta FIO como um meio de descobrir o IOPS máximo do dispositivo. A carga possui um tamanho total de ≥ 1GB e é realizado operações de leitura/escrita com acesso aleatório apenas para o dispositivo de armazenamento com uma taxa de leitura/escrita igual a 50%/50%, respectivamente, onde o tamanho dos blocos requisitados é igual a 4KB. Ao utilizar esse tipo de carga, assume-se que operações de leitura e escrita possuem o mesmo impacto no desempenho final do dispositivo. Porém, para uma medição mais precisa do IOPS de um dispositivo de arma- zenamento é recomendado a utilização e comparação com outras ferramentas como o Buttress (ANDERSON et al., 2004). A descoberta do IOPS máximo de um dispositivo de armazenamento é realizado apenas uma vez, no momento em que o dispositivo é inserido no sistema.

Figura 20 – Classificação dos dispositivos de armazenamento em classes de desempenho. Uma vez que foi medido o IOPS máximo de cada dispositivo de armazenamento por meio da submissão da carga de trabalho para um dispositivo e coleta dos valores de IOPS, agrupam-se os dispositivos em classes de desempenhos Cj, para 1 ≤ j ≤ L, onde L é o número

total de classes. Uma classe de desempenho é um conjunto de dispositivos de armazenamento com desempenhos similares. As classes de desempenho são construídas definindo-se limiares de valores para IOPS TCj por classe Cj. Assume-se, sem perda de generalização, que TC1 < TC2 <

... < TCL. Como o sistema de armazenamento lida com dispositivos heterogêneos em relação

ao desempenho, considera-se que existem pelo menos duas classes de desempenho distintas no sistema de armazenamento. Assim, um dispositivo dké atribuído a uma classe de desempenho

Cj se o valor de IOPS do dispositivo dk for maior que o valor limiar TCj da classe Cj, onde j

é o maior j ∈ {1,2,...,L}. A Figura 20 ilustra o processo de classificação dos dispositivos em classes de desempenho. Adota-se por convenção, ao construir as classes de desempenho, que dispositivos de armazenamento da classe Cisão mais rápidos que os dispositivos da classe Cj

caso 1 ≤ j ≤ i ≤ L.

A medição do IOPS de um dispositivo de armazenamento é um processo individual que pode apresentar imprecisões dos valores obtidos por conta da escolha específica dos parâ- metros da carga de trabalho e características particulares dos dispositivos de armazenamento. Entretanto, o mais importante nesse processo é encontrar a vazão máxima suportada dos dis- positivos sobre as mesmas condições para transparecer o quão rápido um dispositivo consegue processar operações em certos níveis de granularidade, rotulados pelas classes de desempenho. Na próxima etapa do BACOS, o desempenho dos dispositivos de armazenamento, por meio das classes de desempenho, será explorado em conjunto à caracterização da carga de trabalho para melhorar o desempenho geral do sistema de armazenamento. Essa etapa serve apenas para

agrupar dispositivos com desempenhos similares em classes de desempenho. Ela não inclui a análise do custo-benefício do número de dispositivos de alto desempenho que deve existir no sistema de armazenamento em relação aos dispositivos de baixo custo. Contudo, essa etapa pode ser complementada com soluções como a apresentada em (XU et al., 2015) que exploram a proporção de dispositivos de baixo custo e alto desempenho no sistema de armazenamento como uma maneira de minimizar os custos de aquisição e maximizar o desempenho geral do sistema. O número de classes de desempenho não é definido pela estratégia BACOS, pois o mesmo pode ser definido por um administrador de sistema através do limiar TC para uma classe

de desempenho de acordo com a heterogeneidade do ambiente.

BACOS tira proveito do desempenho dos dispositivos atualmente configurados no sistema. Logo, as classes de desempenho facilitam o gerenciamento de pools de dispositivos de armazenamento, reduz a complexidade da variação dos parâmetros utilizados pela estratégia de balanceamento BACOS e ajuda a escalar a solução.