Towards programmable and adaptable caches
| Main Author: | |
|---|---|
| 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 |