Towards programmable and adaptable caches

Bibliographic Details
Main Author: Peixoto, José Pedro Ribeiro
Publication Date: 2024
Format: Master thesis
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: https://hdl.handle.net/1822/94073
Summary: Dissertação de mestrado em Informatics Engineering
id RCAP_7304eae57a25146fb0a1936ce368a94c
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/94073
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Towards programmable and adaptable cachesRumo a sistemas de armazenamento em memória programáveis e adaptáveisArmazenamento definido por softwareCacheArmazenamentoAdaptabilidadeMulti-inquilinoQualidade de serviçoMaximização da taxa de sucessoControlo de desempenhoSoftware-defined storageStorageAdaptabilityMulti-tenancyQuality of serviceHit ratio maximizationPerformance controlEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Informatics EngineeringServiços web como Facebook e Reddit, entre outros, lidam com exigentes cargas de trabalho, processando milhões de pedidos por segundo. Como tal, estes dependem do armazenamento em memória (cache) em quase todas as camadas da infraestrutura para fornecer alta responsividade, reduzir a carga na rede e no armazenamento, e diminuir os custos operacionais. No entanto, à medida que a complexidade das implementações de cache, a heterogeneidade das cargas de trabalho, e o número de inquilinos aumentam, também aumenta a dificuldade em gerir eficientemente estes sistemas de cache. Nomeadamente, os atuais sistemas de armazenamento em cache como a CacheLib, a poderosa biblioteca de cache da Meta, gerem os recursos de forma rígida e monolítica, o que é adverso aos seus inquilinos e cargas de trabalho altamente dinâmicas. Por um lado, as políticas manuais, rígidas, e propensas a erros, mesmo que ótimas pontualmente, acabam por condicionar a eficácia das caches à medida que a carga de trabalho varia. Por outro lado, as implementações típicas unificam controlo e dados, e à medida que a sua base de código cresce, é progressivamente mais difícil de as manter e desenvolver. Por último, a investigação tipicamente propõe caches com novas políticas de gestão que continuam a sofrer dos mesmos problemas devido ao seu desenho tradicional de cache e dos seus pressupostos. Assim, esta dissertação propõe o Holpaca, um novo desenho de cache programável e adaptável, para permitir uma configuração polivalente dos recursos, como partições e despromoção, entre outros, e ajustar o sistema em função do comportamento dos inquilinos e das cargas de trabalho. Contrariamente aos trabalho anteriores, este desenho segue uma abordagem desacoplada que separa a lógica de controlo dos mecanismos de cache, para promover o desenvolvimento independente e mais fácil das políticas de gestão sem comprometer a responsividade percebida pelo utilizador, nem reiniciar o sistema todo. Para demonstrar a aplicabilidade da nossa solução, prototipámos o Holpaca como uma extensão da CacheLib, combinando o seu desenho programável com o nosso desenho de armazenamento em cache adaptável com control desacoplado e garantias multi-inquilino. A nossa avaliação mostra ganhos promissores ao gerir dinamicamente os recursos de memória, nomeadamente para maximizar a taxa de sucesso global e respeitar múltiplas garantias de qualidade de serviço em ambientes multi-inquilino heterogéneos, tudo isto sem sobrecarga percetível.Web services such as Facebook and Reddit, among others, handle demanding workloads, processing millions of requests per second. As such, they rely on caching at almost every layer of the infrastructure to provide high responsiveness, reduce the load on the network and storage, and lower operating costs. However, as the complexity of cache implementations, the heterogeneity of workloads, and the number of tenants increases, so does the difficulty of efficiently managing these caching systems. In particular, current caching systems such as CacheLib, Meta’s powerful caching library, manage resources in a rigid and monolithic way, which is adverse to their tenants and highly dynamic workloads. On the one hand, manual, rigid, and error-prone policies, even if optimal at times, end up conditioning the effectiveness of caches as the workload varies. On the other hand, typical implementations unify control and data, and as their code base grows, they become progressively more difficult to maintain and develop. Finally, research typically proposes caches with new management policies that still suffer from the same problems due to the traditional design of caches and their assumptions. As such, this dissertation proposes Holpaca, a new programmable and adaptable cache design, to allow a general-purpose configuration of resources, such as partitions and eviction, among others, and adjust the system according to the behavior of tenants and workloads. Contrary to prior work, this design follows a decoupled approach that separates the control logic from the current caching mechanisms, to promote the independent and easier development of management policies without compromising the user-perceived responsiveness or restarting the entire system. To demonstrate the applicability of our solution, we prototyped Holpaca as an extension of CacheLib, combining its programmable design with our adaptable caching design with decoupled control and multi tenant guarantees. Our evaluation shows promising gains by dynamically managing memory resources, namely to maximize the overall hit rate and respect multiple quality of service guarantees in heterogeneous multi-tenant environments, all without noticeable overhead.This work is financed by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia, within projects LA/P/0063/2020 and UIDP/50014/2020. This work is cofinanced by Component 5 - Capitalization and Business Innovation, integrated in the Resilience Dimension of the Recovery and Resilience Plan within the scope of the Recovery and Resilience Mechanism (MRR) of the European Union (EU), framed in the Next Generation EU, for the period 2021 - 2026, within project ATE, with reference 56.Paulo, João Tiago MedeirosMacedo, Ricardo GonçalvesUniversidade do MinhoPeixoto, José Pedro Ribeiro2024-05-202024-05-20T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/94073eng203670175info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-01-04T01:19:44Zoai:repositorium.sdum.uminho.pt:1822/94073Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T19:20:48.386811Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Towards programmable and adaptable caches
Rumo a sistemas de armazenamento em memória programáveis e adaptáveis
title Towards programmable and adaptable caches
spellingShingle Towards programmable and adaptable caches
Peixoto, José Pedro Ribeiro
Armazenamento definido por software
Cache
Armazenamento
Adaptabilidade
Multi-inquilino
Qualidade de serviço
Maximização da taxa de sucesso
Controlo de desempenho
Software-defined storage
Storage
Adaptability
Multi-tenancy
Quality of service
Hit ratio maximization
Performance control
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Towards programmable and adaptable caches
title_full Towards programmable and adaptable caches
title_fullStr Towards programmable and adaptable caches
title_full_unstemmed Towards programmable and adaptable caches
title_sort Towards programmable and adaptable caches
author Peixoto, José Pedro Ribeiro
author_facet Peixoto, José Pedro Ribeiro
author_role author
dc.contributor.none.fl_str_mv Paulo, João Tiago Medeiros
Macedo, Ricardo Gonçalves
Universidade do Minho
dc.contributor.author.fl_str_mv Peixoto, José Pedro Ribeiro
dc.subject.por.fl_str_mv Armazenamento definido por software
Cache
Armazenamento
Adaptabilidade
Multi-inquilino
Qualidade de serviço
Maximização da taxa de sucesso
Controlo de desempenho
Software-defined storage
Storage
Adaptability
Multi-tenancy
Quality of service
Hit ratio maximization
Performance control
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Armazenamento definido por software
Cache
Armazenamento
Adaptabilidade
Multi-inquilino
Qualidade de serviço
Maximização da taxa de sucesso
Controlo de desempenho
Software-defined storage
Storage
Adaptability
Multi-tenancy
Quality of service
Hit ratio maximization
Performance control
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado em Informatics Engineering
publishDate 2024
dc.date.none.fl_str_mv 2024-05-20
2024-05-20T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1822/94073
url https://hdl.handle.net/1822/94073
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 203670175
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833598033226366976