Processamento de Dados Massivos/Outros ambientes: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Inclusão da figura Anthill.png
mSem resumo de edição
Linha 44:
O ambiente de processamento Anthill <ref>Ferreira, R. A., Meira, Jr., W., Guedes, D., Drummond, L. M. A., Coutinho, B., Teodoro, G., Tavares, T., Araujo, R., and Ferreira, G. T. Anthill: A scalable run-time environment for data mining applications. In ''Proceedings of the 17th International Symposium on Computer Architecture on High Performance Computing'' (Washington, DC, USA, 2005), SBAC-PAD ’05, IEEE Computer Society, pp. 159–167.</ref> foi desenvolvido no DCC/UFMG para dar suporte a um ambiente de mineração de dados em larga escala denominado Tamanduá <ref>Guedes, D., Jr., W. M., and Ferreira, R. Anteater: A service-oriented architecture for high-performance data mining. ''IEEE Internet Computing'' 10, 4 (2006), 36–43.</ref>. Seu modelo de programação se basea no paradigma denominado filtro-fluxo (''filter-stream''), onde o processamento é descrito como operações executados por filtros que processam um fluxo de dados que passa por eles. Cada filtro é descrito de forma que múltiplas instâncias possam ser criadas para processar elementos do fluxo em paralelo, obtendo paralelismo de dados. Filtros podem ser encadeados de forma a executar diversas etapas de processamento sobre um fluxo, transformando os dados a cada estágio, criando paralelismo de tarefas. Um exemplo de uma aplicação com quatro filtros é ilustrada na figura a seguir.
 
[[FileArquivo:Anthill.png|thumbcentro|commoldura|x256px|Representação da estrutura de uma aplicação executando no ambiente de processamento distribuído Anthill]]
 
Ao contrário do modelo MapReduce, aplicações no Anthill podem executar operações genéricas sobre os dados em cada filtro, não estando restritas a operações apenas que se encaixem em mapeamentos e reduções. Além disso, os fluxos podem implementar diferentes padrões de distribuição dos dados entre as instâncias, como ''round-robin'' (elementos são distribuídos de forma cíclica), ''broadcast'' (elementos replicados para todas as cópias de um filtro) e ''labeled'' (rotulado, onde elementos com uma mesma chave são sempre direcionados para o mesmo destino). Com o fluxo rotulado, processamento do tipo MapReduce pode ser facilmente implementado. Uma limitação do ambiente atual é que não há um sistema de arquivos integrado como no caso de HDFS e GFS: os dados devem ser distribuídos entre os nós de processamento pelo usuário, que deve definir o filtro de leitura para extrair os dados dos diversos arquivos.