Uma Proposta de Algoritmo para a Fragmentação Virtual Adaptativa
Autores
7365 |
3205,299,790
|
|
7366 |
3205,299,790
|
|
7367 |
3205,299,790
|
Informações:
Publicações do PESC
A Fragmentação Virtual Adaptativa (AVP) é um algoritmo para processamento paralelo de consultas OLAP em clusters de computadores com memória distribuída. Nesta dissertação, são propostos dois algoritmos de processamento de consulta multicore que contribuem para a evolução da AVP: AVPMSimples e AVPMRandômica. A abordagem é inspirada na própria AVP, com a criação de subpartições virtuais – definidas por predicados de consultas – a serem processadas por cores individuais. Enquanto a AVPMSimples se apresenta como algoritmo ingênuo e adota tamanhos fixos para as subpartições, a AVPMRandômica é adaptativa, buscando de forma randômica por um tamanho de subpartição ótimo. Os algoritmos foram acrescentados à implementação padrão da AVP, o ParGRES, e foram testados em uma base de dados do benchmark TPC-H com aproximadamente 300 GBytes. Observou-se que a AVPMRandômica tende a se comportar como AVPMSimples, o que indica que esta é uma boa solução, mais simples do que a primeira e com mesmo desempenho. A utilização de múltiplos cores proporcionou aceleração no processamento de algumas consultas apenas. A razão pela qual os algoritmos propostos não aceleram nas outras consultas foi constatada como sendo a não aceleração da fase de planejamento das consultas, cujo tempo em geral domina a fase de execução para pequenas subpartições.
AVP is an algorithm for parallel processing of OLAP queries in computer clusters with shared nothing architecture. This dissertation proposes two multicore query processing algorithms that contributes to AVP evolution: AVPMSimple and AVPMRandom. The new approach is inspired by AVP itself, with the creation of virtual subpartitions – defined by query predicates – to be processed by individual cores. While AVPMSimple is a naive algorithm that adopts fixed sizes subpartitions, AVPMRandom is adaptive, randomly searching for an optimal subpartition size. Both algorithms were added to ParGRES, the default AVP implementation, and tested against a TPC-H benchmark database of approximately 300 GB. Experimental evaluation shows that AVPMRandom tends to behave like AVPMSimples, indicating that the later is a good solution as it is simpler than the former and presents the same performance. Just a few queries used during the experiments benefits from the use of multiple cores. The reason why the proposed algorithms did not accelerate all queries is the lack of acceleration during the query planning phase, which generally is significantly longer than the execution phase time for small subpartitions.