15.07.2013 Views

ISCTE – ESCOLA DE GESTÃO - Universidade Técnica de Lisboa

ISCTE – ESCOLA DE GESTÃO - Universidade Técnica de Lisboa

ISCTE – ESCOLA DE GESTÃO - Universidade Técnica de Lisboa

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

superior ao aumento do número <strong>de</strong> escritas. Mantem-se a tendência verificada nos testes anteriores, em<br />

que a implementação que apenas emprega sub-treeing realiza um menor número <strong>de</strong> leituras e escritas e<br />

a implementação que apenas usa sub-chunking realiza mais leituras e escritas que o algoritmo original.<br />

Contudo, verifica-se que o uso conjunto das duas implementações implica um número <strong>de</strong> leituras e<br />

escritas inicialmente próximo do da implementação original mas, à medida que aumenta a cardinalida<strong>de</strong><br />

das dimensões, passa a realizar um maior número <strong>de</strong>stas operações quando comparada com a<br />

implementação original ou a que utiliza apenas sub-treeing.<br />

Estes resultados levantam a questão <strong>de</strong> qual a verda<strong>de</strong>ira utilida<strong>de</strong> <strong>de</strong>stas optimizações, se na prática<br />

conduzem à realização <strong>de</strong> um maior número <strong>de</strong> operações <strong>de</strong> leitura e escrita e , consequentemente, a<br />

maiores tempos <strong>de</strong> execução do algoritmo. O gráfico abaixo respon<strong>de</strong> a esta questão, ao mostrar que a<br />

partir <strong>de</strong> um <strong>de</strong>terminado volume <strong>de</strong> dados (2 560 000 tuplos com 4 dimensões) o algoritmo original não<br />

consegue efectuar o cálculo do agregado. Esta situação verificava-se igualmente na implementação <strong>de</strong><br />

Tam [Tam1998], que não conseguia completar os cálculos para volumes <strong>de</strong> dados superiores a 240000<br />

tuplos com 6 dimensões.<br />

00:23:02<br />

00:20:10<br />

00:17:17<br />

00:14:24<br />

00:11:31<br />

00:08:38<br />

00:05:46<br />

00:02:53<br />

00:00:00<br />

MW MW+ST MW+SC MW+SC+ST<br />

Figura 37 <strong>–</strong> Tempo consumido no cálculo do agregado pelas diferentes implementações para 2560000 tuplos<br />

Como se po<strong>de</strong> observar, o algoritmo original e a implementação que apenas emprega sub-treeing<br />

apresentam um tempo <strong>de</strong> cálculo igual a 0, o que na prática significa que não conseguiram efectuar o<br />

cálculo por falta <strong>de</strong> memória. Apenas as implementações que realizam sub-chunking conseguiram<br />

computar o agregado com sucesso, apresentando a implementação que emprega ambas as<br />

optimizações um <strong>de</strong>sempenho melhor. Com efeito, foi esta a razão pela qual foram <strong>de</strong>senvolvidas e<br />

introduzidas as optimizações referidas: apesar <strong>de</strong> não contribuirem para o <strong>de</strong>sempenho do algoritmo<br />

quando comparado com a sua versão original, são <strong>de</strong>cisivas no sentido em que permitem efectuar<br />

cálculos em situações em que o algoritmo original não consegue respon<strong>de</strong>r.<br />

60

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!