An adaptive replica placement approach for distributed key-value stores
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Institucional da Universidade Federal do Ceará (UFC) |
Texto Completo: | http://www.repositorio.ufc.br/handle/riufc/46964 |
Resumo: | The use of distributed key-value stores (KVS) has experienced fast adoption by various types of applications in recent years due to key advantages such as HTTP-based RESTful APIs, high availability and elasticity. Due to great scalability characteristics, KVS systems commonly use consistent hashing as data placement mechanism. Although KVS systems offer many advantages, they were not designed to dynamically adapt to changing workloads which often include data access skew. Furthermore, the underlying physical storage nodes may be heterogeneous and do not expose their performance capabilities to higher level data placement layers. In this dissertation, those issues are addressed and it is proposed an essential step towards a dynamic autonomous solution by leveraging deep reinforcement learning. A self-learning approach is designed which incrementally changes the placement of data replicas, improving the load balancing among storage nodes. The proposed approach is dynamic in the sense that is capable of avoiding hot spots, i.e. overloaded storage nodes when facing different workloads including uneven data popularity situations. Also, the solution developed is intended to be pluggable. It assumes no previous knowledge of the storage nodes capabilities, thus different KVS deployments may make use of it. The experiments show that the proposed strategy performs well on changing workloads including data access skew aspects. In addition, an evaluation of the proposed approach is done on scenarios when storage nodes heterogeneity changes. The results demonstrate that the proposed approach can adapt, building up on the knowledge about the storage node’s performance it has already acquired. |
id |
UFC-7_1577ed577047ab9e0884b576f8cf6c6f |
---|---|
oai_identifier_str |
oai:repositorio.ufc.br:riufc/46964 |
network_acronym_str |
UFC-7 |
network_name_str |
Repositório Institucional da Universidade Federal do Ceará (UFC) |
repository_id_str |
|
spelling |
An adaptive replica placement approach for distributed key-value storesDistributed key-value storeReplica placementLoad balancingThe use of distributed key-value stores (KVS) has experienced fast adoption by various types of applications in recent years due to key advantages such as HTTP-based RESTful APIs, high availability and elasticity. Due to great scalability characteristics, KVS systems commonly use consistent hashing as data placement mechanism. Although KVS systems offer many advantages, they were not designed to dynamically adapt to changing workloads which often include data access skew. Furthermore, the underlying physical storage nodes may be heterogeneous and do not expose their performance capabilities to higher level data placement layers. In this dissertation, those issues are addressed and it is proposed an essential step towards a dynamic autonomous solution by leveraging deep reinforcement learning. A self-learning approach is designed which incrementally changes the placement of data replicas, improving the load balancing among storage nodes. The proposed approach is dynamic in the sense that is capable of avoiding hot spots, i.e. overloaded storage nodes when facing different workloads including uneven data popularity situations. Also, the solution developed is intended to be pluggable. It assumes no previous knowledge of the storage nodes capabilities, thus different KVS deployments may make use of it. The experiments show that the proposed strategy performs well on changing workloads including data access skew aspects. In addition, an evaluation of the proposed approach is done on scenarios when storage nodes heterogeneity changes. The results demonstrate that the proposed approach can adapt, building up on the knowledge about the storage node’s performance it has already acquired.O uso de KVS (armazenamento de valores-chave distribuídos) sofreu adoção rápida por vários tipos de aplicativos nos últimos anos devido às várias vantagens oferecidas, como APIs RESTful baseadas em HTTP, alta disponibilidade e elasticidade. Devido às excelentes características de escalabilidade, os sistemas KVS geralmente usam hashing consistente como mecanismo de alocação de dados. Embora os sistemas KVS ofereçam muitas vantagens, eles não foram projetados para se adaptar dinamicamente a cargas de trabalho que geralmente incluem enviesamento no acesso aos dados. Além disso, os nós de armazenamento físico subjacentes podem ser heterogêneos e não expor seus recursos e métricas de desempenho a camada acima responsável pela alocação dos dados. Nesta dissertação, essas questões são abordadas e propõe-se um passo essencial para uma solução autônoma dinâmica, alavancando a aprendizagem por reforço profundo. Uma abordagem de autoaprendizagem é projetada para alterar de forma incremental o posicionamento de réplicas de dados, melhorando o balanceamento de carga entre os nós de armazenamento. A abordagem proposta é dinâmica no sentido de que é capaz de evitar a concentração de dados populares evitando que nós de armazenamento se tornem sobrecarregados. Além disso, a solução desenvolvida pensada para ser conectável. Ela não pressupõe nenhum conhecimento prévio dos recursos dos nós de armazenamento, portanto diferentes implantações de KVS podem utilizá-la. Os experimentos mostram que a estratégia proposta funciona bem diante de mudanças de diferentes cargas de trabalho, que podem incluir enviesamento no acesso aos dados. Além disso, uma avaliação da abordagem proposta é feita em cenários em que a heterogeneidade dos nós de armazenamento é alterada. Os resultados demonstram que a abordagem proposta pode se adaptar, construindo sobre o conhecimento do desempenho dos nós de armazenamento adquirido previamente.Machado, Javam de CastroMoreira, Leonardo OliveiraCosta Filho, José Serafim da2019-10-21T20:24:02Z2019-10-21T20:24:02Z2019info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfCOSTA FILHO, José Serafim da. An adaptive replica placement approach for distributed key-value stores. 2019. 76 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2019.http://www.repositorio.ufc.br/handle/riufc/46964engreponame:Repositório Institucional da Universidade Federal do Ceará (UFC)instname:Universidade Federal do Ceará (UFC)instacron:UFCinfo:eu-repo/semantics/openAccess2019-10-21T20:29:20Zoai:repositorio.ufc.br:riufc/46964Repositório InstitucionalPUBhttp://www.repositorio.ufc.br/ri-oai/requestbu@ufc.br || repositorio@ufc.bropendoar:2024-09-11T18:59:05.531121Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC)false |
dc.title.none.fl_str_mv |
An adaptive replica placement approach for distributed key-value stores |
title |
An adaptive replica placement approach for distributed key-value stores |
spellingShingle |
An adaptive replica placement approach for distributed key-value stores Costa Filho, José Serafim da Distributed key-value store Replica placement Load balancing |
title_short |
An adaptive replica placement approach for distributed key-value stores |
title_full |
An adaptive replica placement approach for distributed key-value stores |
title_fullStr |
An adaptive replica placement approach for distributed key-value stores |
title_full_unstemmed |
An adaptive replica placement approach for distributed key-value stores |
title_sort |
An adaptive replica placement approach for distributed key-value stores |
author |
Costa Filho, José Serafim da |
author_facet |
Costa Filho, José Serafim da |
author_role |
author |
dc.contributor.none.fl_str_mv |
Machado, Javam de Castro Moreira, Leonardo Oliveira |
dc.contributor.author.fl_str_mv |
Costa Filho, José Serafim da |
dc.subject.por.fl_str_mv |
Distributed key-value store Replica placement Load balancing |
topic |
Distributed key-value store Replica placement Load balancing |
description |
The use of distributed key-value stores (KVS) has experienced fast adoption by various types of applications in recent years due to key advantages such as HTTP-based RESTful APIs, high availability and elasticity. Due to great scalability characteristics, KVS systems commonly use consistent hashing as data placement mechanism. Although KVS systems offer many advantages, they were not designed to dynamically adapt to changing workloads which often include data access skew. Furthermore, the underlying physical storage nodes may be heterogeneous and do not expose their performance capabilities to higher level data placement layers. In this dissertation, those issues are addressed and it is proposed an essential step towards a dynamic autonomous solution by leveraging deep reinforcement learning. A self-learning approach is designed which incrementally changes the placement of data replicas, improving the load balancing among storage nodes. The proposed approach is dynamic in the sense that is capable of avoiding hot spots, i.e. overloaded storage nodes when facing different workloads including uneven data popularity situations. Also, the solution developed is intended to be pluggable. It assumes no previous knowledge of the storage nodes capabilities, thus different KVS deployments may make use of it. The experiments show that the proposed strategy performs well on changing workloads including data access skew aspects. In addition, an evaluation of the proposed approach is done on scenarios when storage nodes heterogeneity changes. The results demonstrate that the proposed approach can adapt, building up on the knowledge about the storage node’s performance it has already acquired. |
publishDate |
2019 |
dc.date.none.fl_str_mv |
2019-10-21T20:24:02Z 2019-10-21T20:24:02Z 2019 |
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 |
COSTA FILHO, José Serafim da. An adaptive replica placement approach for distributed key-value stores. 2019. 76 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2019. http://www.repositorio.ufc.br/handle/riufc/46964 |
identifier_str_mv |
COSTA FILHO, José Serafim da. An adaptive replica placement approach for distributed key-value stores. 2019. 76 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2019. |
url |
http://www.repositorio.ufc.br/handle/riufc/46964 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
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ório Institucional da Universidade Federal do Ceará (UFC) instname:Universidade Federal do Ceará (UFC) instacron:UFC |
instname_str |
Universidade Federal do Ceará (UFC) |
instacron_str |
UFC |
institution |
UFC |
reponame_str |
Repositório Institucional da Universidade Federal do Ceará (UFC) |
collection |
Repositório Institucional da Universidade Federal do Ceará (UFC) |
repository.name.fl_str_mv |
Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC) |
repository.mail.fl_str_mv |
bu@ufc.br || repositorio@ufc.br |
_version_ |
1813029022438785024 |