Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/84184

Registo completo
Campo DCValorIdioma
dc.contributor.advisorCoelho, Fábio André Castanheira Luíspor
dc.contributor.advisorPereira, Josépor
dc.contributor.authorFerreira, Luís Manuel Merujepor
dc.date.accessioned2023-04-27T14:57:15Z-
dc.date.available2023-04-27T14:57:15Z-
dc.date.issued2020-12-10-
dc.date.submitted2020-12-
dc.identifier.urihttps://hdl.handle.net/1822/84184-
dc.descriptionDissertação de mestrado integrado em Informatics Engineeringpor
dc.description.abstractEvery 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.por
dc.description.abstractTodos 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.por
dc.description.sponsorshipThe 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.por
dc.description.sponsorshipAgradeço ainda ao INESCTEC pelo financiamento deste trabalho através da sua orçamentação plurianual sob o projeto INESTEC-UID/EEA/50014.por
dc.language.isoengpor
dc.relationPOCI-01-0247-FEDER-045907por
dc.relationINESTEC-UID/EEA/50014por
dc.rightsopenAccesspor
dc.rights.urihttp://creativecommons.org/licenses/by-nd/4.0/por
dc.subjectReinforcement learningpor
dc.subjectDistributed databasespor
dc.subjectMiddlewarepor
dc.subjectOptimizationpor
dc.subjectMachine learningpor
dc.subjectAprendizagem por reforçopor
dc.subjectBases de dados distribuídaspor
dc.subjectOtimizaçãopor
dc.subjectAprendizagem máquinapor
dc.titleAutomatic parameter tuning using reinforcement learningpor
dc.typemasterThesiseng
dc.identifier.tid203259319por
thesis.degree.grantorUniversidade do Minhopor
sdum.degree.grade19 valorespor
sdum.uoeiEscola de Engenhariapor
dc.subject.fosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informáticapor
Aparece nas coleções:BUM - Dissertações de Mestrado
DI - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Luis Manuel Meruje Ferreira.pdf4,63 MBAdobe PDFVer/Abrir

Este trabalho está licenciado sob uma Licença Creative Commons Creative Commons

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID