Automatic parameter tuning using reinforcement learning
Autor(a) principal: | |
---|---|
Data de Publicação: | 2020 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | https://hdl.handle.net/1822/84184 |
Resumo: | Dissertação de mestrado integrado em Informatics Engineering |
id |
RCAP_d05587cb6888a3c10b6e96a6fb6e03ab |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/84184 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Automatic parameter tuning using reinforcement learningReinforcement learningDistributed databasesMiddlewareOptimizationMachine learningAprendizagem por reforçoBases de dados distribuídasOtimizaçãoAprendizagem máquinaEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado integrado em Informatics EngineeringEvery major Database Management System (DBMS) and most components in a distributed system in use today, closed or open source, comprise a set of configuration parameters which have substantial influence over the performance of the system. The correct configuration and tuning of these parameters often leads to a performance level that is orders of magnitude greater than that achieved by default configurations. The number of parameters tends to increase as new versions are released. Moreover, the optimal values for these parameters vary with the environment, namely the workload to which the system is being subjected to, and the physical characteristics of the hardware it is running on. It is common to delegate the responsibility of parameter tuning to a system administrator. The problem with this approach is that it requires both extensive prior experience with the specific system and workload at hand, and a large amount of the administrator’s time. Moreover, variables may establish extensive and non-trivial correlations between them that are very difficult to identify and tune. This dissertation introduces an automated and dynamic approach to parameter tuning using a reinforcement learning approach, while also adopting the use of deep neural networks to tackle the fact that complex relations between variables may exist. Two use cases were implemented to showcase our approach, in the context of a distributed database. One where we adjust tuning variables specific to each replica and another where we adjust the shard configuration of the cluster (i.e. what shard is allocated to what replica). The reinforcement learning agents act at the middleware level, where all replication logic is held. The performance was measured in terms of the reward achieved by those agents as well as the values for the individual performance metrics that make up that reward. For the use case that concerns individual replica configurations, a maximum gain in reward of 105.41% was observed in one of the replicas as well as a maximum gain of 484.31% in one of the individual performance metrics. In the second scenario, of shard reallocation, we saw improvements in reward value up to 28.72% and of up to 69.92% for individual metrics.Todos os principais sistemas de gestão de bases de dados, bem como a maioria dos componentes que são parte constituinte de um sistema distribuído em uso atualmente, licenciados ou abertos, incluem um conjunto de parâmetros de configuração que demonstram ter uma influência substancial sobre o desempenho do sistema. A correta configuração e ajuste destes parâmetros leva frequentemente a níveis de desempenho que podem ser ordens de magnitude acima do que os que são atingidos por configurações pré-definidas. O número de parâmetros tem tendência a aumentar à medida que novas versões são lançadas. Para além disso, os valores ótimos para estas variáveis tendem a variar com o contexto de execução, nomeadamente a carga de trabalho a que o sistema está a ser sujeito, e as características do hardware em que está a ser executado. É comum delegar a tarefa de ajuste dos parâmetros de configuração ao administrador do sistema. O problema com esta abordagem é que esta tarefa requer, por um lado, uma vasta experiência com o workload e sistema a ser configurado, e por outro, uma porção considerável do tempo do administrador. Para além disso, as variáveis podem estabelecer correlações complexas entre si que podem ser muito difíceis de identificar e compreender. Esta dissertação apresenta uma abordagem automatizada e dinâmica para o ajuste de variáveis de configuração, recorrendo para isso a técnicas de aprendizagem por reforço e combinando estas com o uso de redes neuronais para abordar o problema de identificação de correlações entre variáveis. Dois casos de estudo foram implementados para demonstrar a abordagem no contexto de uma base de dados distribuída. Um, em que são ajustados parâmetros de configuração individuais a cada réplica e outro onde se ajusta a configuração de shards do cluster (i.e. a que réplica está alocado cada shard). Os agentes de aprendizagem por reforço atuam ao nível de um middleware, onde é tratada toda a lógica de replicação. O desempenho foi medido em termos da recompensa alcançada pelos agentes assim como pelos valores das métricas individuais de desempenho que compõem essa recompensa. Para o caso de estudo relativo às configurações individuais de cada réplica foi observado um ganho máximo de 105.41% no valor da recompensa e um ganho máximo de 484.31% no valor de uma das métricas individuais. No caso de estudo de realocação de shards, foram observados ganhos no valor de recompensa de até 28.72% e 69.92% para métricas individuais.The project AIDA - Adaptive, Intelligent and Distributed Assurance Platform (reference POCI-01-0247-FEDER-045907) leading to this work is co-financed by the ERDF - European Regional Development Fund through the Operacional Program for Competitiveness and Internationalisation - COMPETE 2020 and by the Portuguese Foundation for Science and Technology - FCT under CMU Portugal.Agradeço ainda ao INESCTEC pelo financiamento deste trabalho através da sua orçamentação plurianual sob o projeto INESTEC-UID/EEA/50014.Coelho, Fábio André Castanheira LuísPereira, JoséUniversidade do MinhoFerreira, Luís Manuel Meruje2020-12-102020-12-10T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/84184eng203259319info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:35:15Zoai:repositorium.sdum.uminho.pt:1822/84184Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:31:05.332979Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Automatic parameter tuning using reinforcement learning |
title |
Automatic parameter tuning using reinforcement learning |
spellingShingle |
Automatic parameter tuning using reinforcement learning Ferreira, Luís Manuel Meruje Reinforcement learning Distributed databases Middleware Optimization Machine learning Aprendizagem por reforço Bases de dados distribuídas Otimização Aprendizagem máquina Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
title_short |
Automatic parameter tuning using reinforcement learning |
title_full |
Automatic parameter tuning using reinforcement learning |
title_fullStr |
Automatic parameter tuning using reinforcement learning |
title_full_unstemmed |
Automatic parameter tuning using reinforcement learning |
title_sort |
Automatic parameter tuning using reinforcement learning |
author |
Ferreira, Luís Manuel Meruje |
author_facet |
Ferreira, Luís Manuel Meruje |
author_role |
author |
dc.contributor.none.fl_str_mv |
Coelho, Fábio André Castanheira Luís Pereira, José Universidade do Minho |
dc.contributor.author.fl_str_mv |
Ferreira, Luís Manuel Meruje |
dc.subject.por.fl_str_mv |
Reinforcement learning Distributed databases Middleware Optimization Machine learning Aprendizagem por reforço Bases de dados distribuídas Otimização Aprendizagem máquina Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
topic |
Reinforcement learning Distributed databases Middleware Optimization Machine learning Aprendizagem por reforço Bases de dados distribuídas Otimização Aprendizagem máquina Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
description |
Dissertação de mestrado integrado em Informatics Engineering |
publishDate |
2020 |
dc.date.none.fl_str_mv |
2020-12-10 2020-12-10T00: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/84184 |
url |
https://hdl.handle.net/1822/84184 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
203259319 |
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 Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799132817954701312 |