Mostrar registro simples

dc.contributor.advisorAlmeida, Eduardo Cunha de, 1977-pt_BR
dc.contributor.authorDominico, Simone, 1989-pt_BR
dc.contributor.otherAlves, Marco Antonio Zanata, 1984-pt_BR
dc.contributor.otherUniversidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em Informáticapt_BR
dc.date.accessioned2022-05-27T13:11:49Z
dc.date.available2022-05-27T13:11:49Z
dc.date.issued2021pt_BR
dc.identifier.urihttps://hdl.handle.net/1884/75117
dc.descriptionOrientador: Eduardo Cunha de Almeidapt_BR
dc.descriptionCoorientador: Marco Antonio Zanata Alvespt_BR
dc.descriptionTese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa : Curitiba, 15/02/2022pt_BR
dc.descriptionInclui referênciaspt_BR
dc.descriptionÁrea de concentração: Ciência da Computaçãopt_BR
dc.description.abstractResumo: Os Sistemas Gerenciadores de Banco de Dados (SGBDs) modernos usam a execução paralela de consultas para cumprir requisitos de desempenho importantes, como baixo tempo de resposta e grande vazão no processamento de consultas. Contudo, cumprir requisitos de desempenho com o aumento exponencial dos volumes de dados gerados na atual era digital tem sido um constante desafio. Neste sentido, o desenvolvimento dos SGBDs requer o envolvimento com os avanços nas arquiteturas de hardware e sistemas operacionais (SO) para aproveitar de forma eficiente os múltiplos recursos de hardware disponíveis, como processadores, memória e discos. Nesta tese exploramos a execução de consultas em arquitetura de acesso não-uniforme à memória (Non-uniform memory access (NUMA)) que tem potencial para oferecer alta vazão através de vários chips contendo unidades de processamento de múltiplos núcleos agrupados em nós de processamento. No entanto, os SGBDs modernos não exploram o hardware NUMA em todo o seu potencial deixando para os SOs o trabalho de alocação de threads geradas pelas consultas. A alocação de threads dos SOs acarreta em movimento de dados ine?ciente entre os nós NUMA dado que os SOs são projetados para cargas de trabalho de propósito geral e políticas de balanceamento de carga. Esta tese apresenta dois mecanismos de alocação de threads de execução de consultas. O primeiro mecanismo é direcionado para os SGBDs relacionais. O mecanismo proposto utiliza um pipeline de regra-condição-ação que, por meio de contadores de hardware, encontra prontamente o número ideal local de núcleos. Esse mecanismo usa uma fila de prioridade que rastreia o histórico do espaço de endereço de memória usado pelas threads da execução de consultas para decidir sobre a alocação/liberação de núcleos e sua distribuição entre os nós NUMA e, com isso, diminui os acessos remotos à memória ao mesmo tempo em que aumenta consideravelmente a vazão e o speedup máximo. O segundo mecanismo considera os SGBDs multidimensionais. Este mecanismo controla a alocação de threads por meio de um algoritmo de jogo multi-agente. Nesse contexto, as threads são agentes tomadores de decisão e escolhem a melhor alocação baseadas em informações de contadores de hardware e padrões de acesso à memória com redução dos acessos remotos e aumento na economia de energia. Em resumo, estes mecanismos permitem que SGBDs relacionais e multidimensionais aproveitem os recursos computacionais oferecidos por máquinas NUMA melhorando sensivelmente os tempos de resposta e vazão na execução paralela de consultas.pt_BR
dc.description.abstractAbstract: Modern Database Management Systems (DBMS) use parallel query execution to meet performance requirements, like low response time and high throughput in query processing. With the exponential increase in data volumes generated in the current digital age, meeting these performance requirements in query execution has been a constant challenge. In this sense, there is a dire need for co-design among DBMSs, hardware architectures and operating systems (OS) to eficiently take advantage of the multiple hardware resources, such as processors, memory and disks. NUMA hardware has the potential to provide high throughput across multiple chips containing multi-core processing units grouped into processing nodes. However, modern DBMSs do not exploit the NUMA hardware to its full potential, leaving the allocation of query threads to the OSs. The allocation of threads from OSs leads to inefficient data movement between NUMA nodes as OSs are designed for general purpose workloads and load balancing policies. This thesis presents two query processing thread allocation mechanisms. The first mechanism relational DBMSs. The proposed mechanism uses a rule-condition-action pipe that, through hardware counters, readily finds the local optimal number of cores. This mechanism uses a priority queue that tracks the history of the memory address space used by the query execution threads to decide on the allocation/release of cores and their distribution among the NUMA nodes and, with that, decreases the remote memory accesses while considerably increasing the throughput and the maximum speedup. The second mechanism aims multidimensional DBMSs. This mechanism controls the allocation of threads through a multi-agent game algorithm. In this context, threads are decision-making agents that choose the best allocation based on information from hardware counters and memory access patterns, reducing remote access and increasing energy savings. In summary, these mechanisms allow relational and multidimensional DBMS to take advantage of the computational resources offered by NUMA machines, significantly improving the response times and throughput in the parallel processing of queries.pt_BR
dc.format.extent1 recurso online : PDF.pt_BR
dc.format.mimetypeapplication/pdfpt_BR
dc.languagePortuguêspt_BR
dc.subjectArquitetura de redes de computadorpt_BR
dc.subjectBanco de dadospt_BR
dc.subjectThreads (Programa de computador)pt_BR
dc.subjectCiência da Computaçãopt_BR
dc.titleEstratégias de mapeamento de Threads para processamento eficiente de consultaspt_BR
dc.typeTese Digitalpt_BR


Arquivos deste item

Thumbnail

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples