Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/82135

TítuloUser-level software-defined storage data planes
Outro(s) título(s)Planos de dados definidos por software no espaço do utilizador
Autor(es)Macedo, Ricardo Gonçalves
Orientador(es)Paulo, João Tiago Medeiros
Pereira, José
Palavras-chaveArmazenamento definido por software
Armazenamento programável
Otimizações de armazenamento
Plano de dados
Data plane
Programmable storage
Software-defined storage
Storage optimizations
Data20-Jan-2023
Resumo(s)Os sistemas centrados em dados como bases de dados, sistemas de armazenamento chave-valor, e motores de aprendizagem automática, são hoje componentes fundamentais para as infraestruturas de computação modernas. De forma a atingir bom desempenho, estes sistemas implementam várias otimizações de armazenamento, como escalonamento de E/S, diferenciação, e caching. Esta disserta-ção argumenta que estas otimizações têm vindo a ser implementadas de forma subótima. Em primeiro lugar, as otimizações estão fortemente acopladas à implementação do sistema, e requerem um conhe-cimento extenso do mesmo por parte de quem as implementa, bem como mudanças significativas no seu código, dificultando a sua manutenção e portabilidade. Em segundo lugar, estas otimizações são maioritariamente implementadas de forma isolada e com visibilidade parcial da infraestrutura, levando-as a competir por recursos de E/S partilhados, a contenção no sistema, e variabilidade no desempenho. Esta dissertação resolve estes desafios redefinindo a forma como as otimizações de E/S são imple-mentadas. Em especifico, as otimizações devem (1) ser desacopladas do sistema; (2) tomar decisões coordenadas sobre os recursos de E/S de forma a garantir controlo holistico; e (3) serem programáveis e adaptáveis de acordo com os requisitos do sistema. Para atingir estes objetivos, defendemos que o paradigma de Armazenamento Definido por Software (ADS) fornece um desenho adequado, embora in-completo, para implementar estas otimizações. Assim, começamos por sistematizar o trabalho em ADS, identificando os princípios de desenho comuns entre sistemas, discutimos as caracteristicas que impulsi-onaram a aplicabilidade de cada solução, e identificamos as causas que impossibilitam a solução destes desafios por parte dos sistemas atuais. Como contribuição principal, introduzimos o sistema PAIO, um novo plano de dados de ADS que permite construir optimizações de E/S portáveis e genéricas no espaço do utilizador. Por fim, demonstramos o desempenho e a eficácia de otimizações implementadas com o PAIO construindo três planos de dados: o primeiro garante controlo da latência nos percentis altos em sistemas de armazenamento chave-valor, o segundo gere a largura de banda de aplicações num ambiente de armazenamento partilhado, e o terceiro garante controlo na qualidade de serviço das operações de metadados num sistema de ficheiros paralelo. Com estas contribuições, mostramos que é possível cons-truir otimizações de E/S desacopladas do sistema, que atuam com visibilidade global, e que garantem resultados equiparáveis ou melhores que otimizações implementadas de forma tradicional.
Data-centric systems such as databases, key-value stores (KVS), and machine learning engines have become an integral part of modern I/O infrastructures. Good performance for these systems often requires implementing multiple storage optimizations such as I/O scheduling, differentiation, and caching. This dissertation argues that such optimizations are implemented in a sub-optimal manner. First, optimizations are tightly coupled to the system implementation, and require a deep understanding of the system's internal operation model and profound code refactoring, limiting their maintainability and portability across other systems that would equally benefit from them. Second, optimizations are often implemented in isolation and with partial visibility of the infrastructure, competing for shared I/O resources, and generating I/O contention and performance variation. This dissertation addresses these challenges by redefining how I/O optimizations are implemented. Specifically, optimizations should (1) be decoupled from the targeted system; (2) perform coordinated decisions over I/O resources to ensure holistic control; and (3) be programmable and adaptable to the requirements of the targeted system. We advocate that the Software-Defined Storage (SDS) paradigm provides a compelling but incomplete design for implementing such optimizations. As such, we start by surveying and systematizing the current body of work on SDS, identifying common design features shared between existing systems, discussing the characteristics that have driven the design and applicability of each solution under a given storage scenario, and uncovering why existing systems do not successfully address these challenges. Then, as our main contribution, we introduce PAIO, a new SDS data plane framework that enables building user-level, portable, and generally applicable storage optimizations. Fi-nally, we demonstrate the performance and effectiveness of complex I/O optimizations implemented with PAIO by building three data plane stages. Namely, the first stage ensures tail latency control in Log-Structured Merge tree KVSs, the second achieves per-application bandwidth control in shared storage settings, and the third ensures QoS control of metadata operations in parallel file systems. With these contributions, this dissertation demonstrates that it is possible to build complex I/O optimizations that are decoupled from the targeted system and actuate with global infrastructure visibility, while achieving similar or better results than traditionally implemented ones.
TipoTese de doutoramento
DescriçãoPrograma doutoral em Informática das Universidades do Minho, Aveiro e Porto
URIhttps://hdl.handle.net/1822/82135
AcessoAcesso aberto
Aparece nas coleções:BUM - Teses de Doutoramento
HASLab - Teses de Doutoramento
DI - Teses de doutoramento

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Ricardo Gonçalves Macedo.pdfTese de doutoramento7,78 MBAdobe PDFVer/Abrir

Este trabalho está licenciado sob uma Licença Creative Commons Creative Commons

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID