Programação Paralela em Arquiteturas Multi-Core/Aplicações Internet: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 42:
Uma outra aplicação interessante do paralelismo na internet é na construção de web crawlers [http://en.wikipedia.org/wiki/Web_crawler]. Um crawler é um programa que coleta e armazena páginas da internet, sendo muito utilizados em máquinas de busca.
 
Um crawler geralmente começa a funcionar a partir de um conjunto inicial de URLs [[Wikipediahttp:|URL]//en.wikipedia.org/wiki/Uniform_Resource_Locator]s, <math>S_{O}</math>, armazenadas numa fila. Partindo do conjunto inicial, o crawler pega alguma URL, em alguma ordem pré-definida, coleta a página, extrai novas URLs encontradas a partir da página coletada, e insere essas novas URLs na fila. O processo se repete até que o crawler decide parar. As páginas coletas podem ser utilizadas para aplicações como em máquinas de busca, em web [[Wikipedia:|cache]] ou em estudos científicos, por exemplo.
 
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 coleta dos dados.
 
A construção de web crawlers paralelos tem muitas vantagens mas trás também alguns problemas e desafios interessantes. Entre eles, podemos citar:
 
* Sobreposição: com muitos processos rodando em paralelo para coletar páginas, é possível que diferentes processos coletem uma mesma página múltiplas vezes.
 
* Qualidade: geralmente é mais interessante coletar as páginas mais "importantes" primeiro, a fim de maximizar a "qualidade dos dados coletados"
 
== Conclusão ==