Valet: posicionamento eficiente de dados em SSDs modernos
Colaboradores
Devashish R. Purandare, Peter Alvaro, Avani Wildani, Darrell D. E. Long, Ethan L. Miller
Detalhes
ACM Symposium on Cloud Computing 2025 (best paper)
Resumo
A demanda crescente por SSDs, combinada com dificuldades de escalabilidade, deixou os fabricantes correndo para encontrar novas interfaces de SSD que prometam melhor desempenho e durabilidade. Embora essas interfaces reduzam a rigidez de abstrações tradicionais, elas exigem alterações no nível do aplicativo ou do sistema que podem impactar a estabilidade, segurança e portabilidade dos sistemas. Para piorar, tais alterações são tornadas inúteis com a introdução de interfaces de próxima geração. Não é surpreendente, portanto, que essas interfaces tenham visto uma adoção limitada, deixando para trás um cemitério de interfaces experimentais que variam de SSDs de canal aberto a SSDs de stream.
Nossa solução, Valet, aproveita camadas de shim no espaço do usuário para adicionar dicas de posicionamento para dados de aplicativos, entregando até 2-4 vezes mais taxa de escrita sobre sistemas de arquivos e desempenho comparável ou melhor do que soluções específicas de aplicativos, com até 6 vezes menor latência de cauda. O Valet gera dicas de posicionamento dinâmicas, remapeando dados de aplicativos para SSDs modernos com zero modificações no aplicativo, no sistema de arquivos ou no kernel. Demonstramos os benefícios de desempenho, eficiência e multi-locatário do Valet em um conjunto de aplicativos amplamente utilizados: RocksDB, MongoDB e CacheLib, apresentando uma solução que combina o desempenho de soluções específicas de aplicativos com ampla aplicabilidade a aplicativos intensivos em dados com estrutura de log.