Programação Paralela em Arquiteturas Multi-Core/Aplicações Internet: diferenças entre revisões
Programação Paralela em Arquiteturas Multi-Core/Aplicações Internet (editar)
Revisão das 14h34min de 14 de dezembro de 2007
, 14 de dezembro de 2007→Web Crawlers
[edição não verificada] | [edição não verificada] |
=== Web Crawlers ===
Uma outra aplicação interessante do paralelismo na internet é na construção de Web crawlers, também conhecidos como
==== Definição ====
Um crawler geralmente começa a funcionar a partir de um conjunto inicial de
Com a expansão diária do tamanho da Web, fica cada vez mais difícil coletar toda ou uma significante parte da Web em um só processo. Então, a paralelização dos Web crawlers se tornam uma medida essencial para maximizar a taxa de captura dos dados.
*Qualidade: geralmente é mais interessante coletar as páginas mais "importantes" primeiro, a fim de maximizar a "qualidade" dos dados coletados. Em crawlers paralelos, cada processo pode não ter conhecimento da imagem de toda a rede coletada, tomando decisões de acordo com a imagem local da parte que coletou.
*
A paralelização dos web crawlers nos trazem importantes vantagens em relação aos crawlers não paralelizados, como:
*[
*
*
Note que as páginas coletadas devem ser transferidas para uma central de comando, a fim de se construir um indice geral. Essa transferência de dados pode ser bastante reduzida usando algum dos seguintes métodos:
[[Image:arquitetura_crawler.jpg | center | Arquitetura geral de um crawler paralelo]]
A figura acima nos mostra a arquitetura geral de um crawler paralelo, que consiste de múltiplos processos, referidos por <math>C-proc</math>. Cada <math>C-proc</math> é responsável por executar uma tarefa básica de um crawler não paralelo. Ele coleta páginas da Web, armazena as páginas localmente, extrai todas as URLs que encontrar e segue os [[link]]s. Dependendo da forma com que as tarefas são divididas entre os <math>C-proc</math>, pode ser necessário a troca de dados entre os processos. A distribuição de tarefas entre os <math>C-proc</math> pode ser feita numa rede local (como uma [
*Intra-site crawler: quando todos os processos rodam em uma mesma rede local e se comunicam em alta velocidade. Na figura anterior, isso pode ser observado no caso onde todos os <math>C-proc</math> rodam na rede local da parte de cima.
==== Conclusão ====
Web crawlers vem sendo utilizados com cada vez mais frequência para coletar dados da Web para máquinas de busca, caches e [
▲Web crawlers vem sendo utilizados com cada vez mais frequência para coletar dados da Web para máquinas de busca, caches e [[mineração de dados]]. Como o tamanho da Web aumenta a cada dia que passa, o uso de crawlers paralelos vem se tornando cada vez mais importante. Conforme observado nessa subseção, construir um crawler paralelo eficiente é muito mais complicado do que uma simples paralelização.
== Programação paralela na web ==
|