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
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