Publicação

Automatic parameter tuning using reinforcement learning

Ver documento

Detalhes bibliográficos
Resumo:Every 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.
Autores principais:Ferreira, Luís Manuel Meruje
Assunto:Reinforcement learning Distributed databases Middleware Optimization Machine learning Aprendizagem por reforço Bases de dados distribuídas Otimização Aprendizagem máquina
Ano:2020
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Universidade do Minho
Idioma:inglês
Origem:RepositóriUM - Universidade do Minho
_version_ 1866270577908514816
author Ferreira, Luís Manuel Meruje
author_facet Ferreira, Luís Manuel Meruje
author_role author
contributor_name_str_mv Coelho, Fábio André Castanheira Luís
Pereira, José
Universidade do Minho
country_str PT
creators_json_txt [{\"Person.name\":\"Ferreira, Luís Manuel Meruje\"}]
datacite.contributors.contributor.contributorName.fl_str_mv Coelho, Fábio André Castanheira Luís
Pereira, José
Universidade do Minho
datacite.creators.creator.creatorName.fl_str_mv Ferreira, Luís Manuel Meruje
datacite.date.Accepted.fl_str_mv 2020-12-10T00:00:00Z
datacite.date.available.fl_str_mv 2023-04-27T14:57:15Z
datacite.date.embargoed.fl_str_mv 2023-04-27T14:57:15Z
datacite.rights.fl_str_mv http://purl.org/coar/access_right/c_abf2
datacite.subjects.subject.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
datacite.titles.title.fl_str_mv Automatic parameter tuning using reinforcement learning
dc.contributor.none.fl_str_mv Coelho, Fábio André Castanheira Luís
Pereira, José
Universidade do Minho
dc.creator.none.fl_str_mv Ferreira, Luís Manuel Meruje
dc.date.Accepted.fl_str_mv 2020-12-10T00:00:00Z
dc.date.available.fl_str_mv 2023-04-27T14:57:15Z
dc.date.embargoed.fl_str_mv 2023-04-27T14:57:15Z
dc.format.none.fl_str_mv application/pdf
dc.identifier.none.fl_str_mv https://hdl.handle.net/1822/84184
dc.language.none.fl_str_mv eng
dc.rights.cclincense.fl_str_mv http://creativecommons.org/licenses/by-nd/4.0/
dc.rights.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.rights.copyright.fl_str_mv openAccess
dc.subject.none.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
dc.title.fl_str_mv Automatic parameter tuning using reinforcement learning
dc.type.none.fl_str_mv http://purl.org/coar/resource_type/c_bdcc
description Every 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.
dirty 0
eu_rights_str_mv openAccess
format masterThesis
fulltext.url.fl_str_mv https://prod-dspace.uminho.pt/bitstreams/e2d53692-6a74-4495-bc70-c803ea8888d4/download
id rum_a2fbb68133bcf67a4d88a994dce96e73
identifier.url.fl_str_mv https://hdl.handle.net/1822/84184
instacron_str repositorium
institution Universidade do Minho
instname_str Universidade do Minho
language eng
network_acronym_str rum
network_name_str RepositóriUM - Universidade do Minho
oai_identifier_str oai:repositorium.uminho.pt:1822/84184
organization_str_mv urn:organizationAcronym:repositorium
person_str_mv Ferreira, Luís Manuel Meruje
publishDate 2020
reponame_str RepositóriUM - Universidade do Minho
repository_id_str urn:repositoryAcronym:rum
service_str_mv urn:repositoryAcronym:rum
spelling engporEvery 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.application/pdfporAutomatic parameter tuning using reinforcement learningFerreira, Luís Manuel MerujeCoelho, Fábio André Castanheira LuísPereira, JoséHostingInstitutionOrganizationalUniversidade do Minhoe-mailmailto:repositorium@usdb.uminho.ptrepositorium@usdb.uminho.ptURNurn:tid:2032593192023-04-27T14:57:15Z2020-12-102020-122020-12-10T00:00:00ZHandlehttps://hdl.handle.net/1822/84184http://purl.org/coar/access_right/c_abf2open accessReinforcement learningDistributed databasesMiddlewareOptimizationMachine learningAprendizagem por reforçoBases de dados distribuídasOtimizaçãoAprendizagem máquina4741853 bytesliteraturehttp://purl.org/coar/resource_type/c_bdccmaster thesis2020-12-10http://creativecommons.org/licenses/by-nd/4.0/openAccesshttp://purl.org/coar/access_right/c_abf2application/pdffulltexthttps://prod-dspace.uminho.pt/bitstreams/e2d53692-6a74-4495-bc70-c803ea8888d4/download
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
status SINGLETON
subject.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
title 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_short Automatic parameter tuning using reinforcement learning
title_sort Automatic parameter tuning using reinforcement learning
topic Reinforcement learning
Distributed databases
Middleware
Optimization
Machine learning
Aprendizagem por reforço
Bases de dados distribuídas
Otimização
Aprendizagem máquina
topic_facet Reinforcement learning
Distributed databases
Middleware
Optimization
Machine learning
Aprendizagem por reforço
Bases de dados distribuídas
Otimização
Aprendizagem máquina
url https://hdl.handle.net/1822/84184
visible 1