Uma análise de desempenho de motores de armazenamento chave-valor para ambientes com recursos de armazenamento persistente compartilhados
Abstract
Resumo: Os motores de armazenamento chave-valor possuem atualmente um status importante em diversos segmentos de tecnologia da informação, tendo sua aplicabilidade comprovada desde sistemas minimalistas de Internet das Coisas e dispositivos móveis até grandes e complexas aplicações científicas e de Big Data. Essenciais para a persistência de dados, as tecnologias de armazenamento também obtiveram avanços substanciais ao longo dos últimos anos com a substituição progressiva dos tradicionais discos rígidos por dispositivos baseados em memória flash em grande parte das infraestruturas de computação em nuvem públicas e privadas. Apesar de sua adoção crescente e alto desempenho, os dispositivos baseados em memória flash são muito mais complexos que seus predecessores, empregando técnicas avançadas de mapeamento e organização interna dos dados, cujos detalhes de implementação não são divulgados pela maioria dos fabricantes neste segmento. Tal complexidade e ausência de informações importantes sobre o funcionamento interno desses dispositivos não somente prejudicam a avaliação de desempenho de motores de armazenamento chave-valor, mas também tornam esta tarefa ainda mais complexa em cenários onde este tipo de recurso de armazenamento é compartilhado por outras cargas de trabalho. Uma vez que tais recursos são cada vez mais compartilhados em ambientes de computação em nuvem, a avaliação de motores de armazenamento chave-valor em tais condições é tão desafiadora quanto necessária. Este estudo propõe o Storiks, umframework desenvolvido para avaliar como o desempenho de um motor de armazenamento chave-valor é afetado por cargas de trabalho concorrentes compartilhando um mesmo dispositivo baseado em memória flash. A partir deste framework, este estudo avaliou experimentalmente 840 combinações de cargas de trabalho, dispositivos de armazenamento e versões de sistema operacional. Os resultados obtidos por esses experimentos demonstram que esta interferência de desempenho pode assumir padrões distintos de acordo com cada um desses fatores, variando desde patamares próximos a nenhuma interferência até condições altamente degradantes, onde o desempenho do motor de armazenamento chave-valor é reduzido em mais de 90%. Abstract: Key-value stores have today an important status in numerous information technology segments, ranging from the minimalist world of mobile devices and Internet of Things to highly complex scientific applications and Big Data. Essential to persist data, storage technology has also shown substantial improvements over the recent years with the progressive replacement of old hard disk drives by flash-based storage devices in most private and public cloud computing infrastructures. Despite the increased adoption and superior performance, flash-based storage devices usually comprise complex hardware and firmware logic with many details not revealed by their respective manufacturers. This complexity and lack of more information about their internal behavior not only hinder a proper performance evaluation of key-value stores but also turn this task even more complex in scenarios where such resources are shared with other co-located workloads. Once sharing resources is a concept increasingly used in cloud environments, evaluating key-value stores in such a context is challenging but necessary. This study proposes Storiks, a framework designed to assess how the key-value store's performance is affected by concurrent workloads when sharing the same flash-based storage device. Using this framework, we experimentally evaluated 840 combinations of different workloads, storage devices, and operating system versions. We demonstrate from these results that such interference may assume distinct patterns according to each of these factors, ranging from approximately no interference to highly degradation conditions, where the key-value store's performance is reduced by more than 90%.
Collections
- Teses [132]