Publicação
Automatic parameter tuning using reinforcement learning
| 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 |