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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
5 Balanço final<br />
O objectivo do presente trabalho consistiu em realizar um estudo <strong>de</strong>talhado do algoritmo Multi-Way,<br />
assim como das optimizações propostas por forma a que este pu<strong>de</strong>sse ser aplicado com sucesso a<br />
gran<strong>de</strong>s volumes <strong>de</strong> dados, o que não era possível com a sua implementação tal como proposto.<br />
Infelizmente, não foi possível ter acesso a outras implementações como forma <strong>de</strong> estabelecer mais<br />
comparações, estando apenas disponíveis o artigo <strong>de</strong> proposta do algoritmo Multi-Way [Zhao1997] e o<br />
relatório do trabalho realizado por Tam [Tam1998], no qual é <strong>de</strong>scrita uma variante do algoritmo<br />
disponibilizado no sistema DBMiner. Como tal, optou-se por implementar o algoritmo original e,<br />
adicionalmente, duas optimizações no sentido <strong>de</strong> fazer com que o algoritmo pu<strong>de</strong>sse computar cubos a<br />
partir <strong>de</strong> gran<strong>de</strong>s volumes <strong>de</strong> dados. As optimizações propostas foram as seguintes:<br />
A optimização <strong>de</strong>signada como sub-treeing, que está relacionada com a estrutura <strong>de</strong> dados<br />
básica do algoritmo (MMST) e que permite que o algoritmo explore um número menor <strong>de</strong> nós, o<br />
que provoca um acréscimo no <strong>de</strong>sempenho do mesmo<br />
A optimização <strong>de</strong>signada como sub-chunking, que altera ligeiramente uma das estratégias<br />
adoptadas pelo algoritmo para gerir o tamanho dos arrays <strong>de</strong> forma a que seja sempre<br />
aplicável, in<strong>de</strong>pen<strong>de</strong>ntemente da dimensão dos dados e da memória existente. Porém, como<br />
consequência <strong>de</strong>sta optimização, o algoritmo necessita <strong>de</strong> realizar operações <strong>de</strong> leitura e<br />
escritas adicionais sobre a base <strong>de</strong> dados, o que resulta num <strong>de</strong>créscimo do <strong>de</strong>sempenho.<br />
Assim, verifica-se que apesar da aplicação conjunta das duas optimizações não aumentar o<br />
<strong>de</strong>sempenho do algoritmo, a sua aplicação tem um impacto <strong>de</strong>cisivo a nível do seu potencial. Isto <strong>de</strong>ve-<br />
se fundamentalmente ao facto <strong>de</strong> que as optimizações propostas tornam possível a execução do<br />
algoritmo em situações nas quais, tanto a sua implementação original como a variante proposta por Tam,<br />
não conseguem obter resultados por falta <strong>de</strong> memória.<br />
63