At À Doubletwist Inc. DoubleTwist Inc we nous worked travaillé with 40 4 CPU Sun Ultra Machines with 4 GB RAM each to carry out avec 40 4 CPU Sun Ultra Machines à 4 Go de RAM chacun pour mener à bien annotations of human genome les annotations du génome humain . We were first, ahead of Celera and HGP. Nous étions tout d'abord, avant de Celera et HGP.
At that time (2000-2001) it was possibly the largest massively scaled Java Technology Deployment. À cette époque (2000-2001) il est peut-être la plus grande échelle massivement la technologie Java de déploiement. Human Genome Annotation run took about 1.5 months the first time. L'annotation du génome humain a géré environ 1,5 mois, la première fois. With several revisions it took about a month even with all that hardware and an additional Sun Ultra Sparc box. Avec plusieurs révisions, il a fallu environ un mois, même avec tout ce matériel supplémentaire et un Sun Ultra Sparc boîte.

Today I was reading about Become.com’s Web Crawler deployment. Aujourd'hui, je lisais à propos de Become.com 's Web Crawler déploiement. It maybe somewhat bigger in the data it handles and an interesting example of massive scaled deployment. Il peut-être un peu plus importante dans les données et il gère un exemple intéressant de l'échelle de déploiement massif.

Java de déploiement

Become.com’s decision to deploy Java technology Become.com 's décision de déployer la technologie Java followed the experience of the company’s CTO, chairman, and cofounder, Yeogirl Yun, at Wisenut.com, where Wisenut spent a year creating a C++ web crawler that had significant memory and threading problems. suivi l'expérience de l'entreprise CTO, président et co-fondateur, Yeogirl Yun, à Wisenut.com, où WiseNut passé un an la création d'un C + + robot d'exploration du Web qui ont d'importantes mémoire et des problèmes d'enfilage.

We needed to do it faster this time ,” observes Yun. "Nous avions besoin de le faire plus rapidement cette fois", fait remarquer Yun. “So we made the radical decision to implement a crawler using Java technology. "Alors, nous avons pris la décision radicale de mettre en oeuvre un robot d'exploration en utilisant la technologie Java. No one believed it was possible, but we were able to build the prototype crawler in three months using two developers, which was a major achievement. Nul ne pense qu'il est possible, mais nous avons été en mesure de construire le prototype de robot d'exploration dans trois mois en utilisant deux développeurs, qui a été un succès majeur. The built-in network library, multithreading framework, and RMI [remote method invocation] saved a lot of development time. Le Built-in network bibliothèque, multithreading cadre, et RMI [invocation à distance méthode] a permis d'économiser beaucoup de temps de développement.

Become.com’s crawlers build a web index, a searchable database, roughly every two weeks. Become.com 's robots d'exploration construire un index Web, une base de données, soit à peu près toutes les deux semaines. It searches for shopping-related information only. Il cherche les achats liés à l'information. The fetcher, which itself stores no information, classifies information by running several checks on every page it locates. Le fetcher, qui se stocke pas d'information, classe les informations en exécutant plusieurs vérifications sur chaque page il localise. It looks for page type and language and filters out duplicates or spam. Il semble pour la page type et la langue et les filtres de spam ou doubles. It identifies links, buying guides, expert reviews, forums, articles, and other relevant materials. Il identifie des liens, des guides d'achat, commentaires d'experts, des forums, des articles et autres documents pertinents. Then it sends information back to the crawl controller, which guides the crawl. Ensuite, il envoie les informations à l'exploration contrôleur, qui guide l'exploration. Once the process is finished, it forms a database of all pages visited, in order by URL. Une fois le processus terminé, elle constitue une base de données de toutes les pages visitées, dans l'ordre par URL. Although searches are currently limited to English, the crawler is constructed so that it can scale easily to other languages. Bien que les recherches sont actuellement limitées à l'anglais, le robot d'exploration est construit de telle sorte qu'il s'adapte facilement à d'autres langues.

The gathered information then goes to an “inverted” index, currently of 3.2 billion web pages, in order not by URLs but by keywords. Les informations recueillies ensuite à une "inversion" index, actuellement de 3,2 milliards de pages Web, afin de ne pas par URL, mais par des mots-clés. Finally, the index is fine-tuned to both expert feedback from the Become.com research team and page-value connectivity analysis, which notes the frequency with which other pages on the same topic link to a page. Enfin, l'indice est affiné à la fois les commentaires des experts Become.com l'équipe de recherche et de la page-valeur connectivité analyse, qui note la fréquence avec laquelle d'autres pages sur le même thème lien vers une page. The crawler takes about a week to complete its task. Le robot d'exploration dure environ une semaine pour achever sa tâche. Finally, all of this information goes into the next crawl. Enfin, l'ensemble de ces informations va dans la prochaine exploration.

Détails

In developing Crawler B, Bart Niechwiej tried out the java.nio library (NIO) and got better performance than with a multithreaded version. En développant à chenilles B, Bart Niechwiej essayé java.nio la bibliothèque (NIO) et a obtenu une meilleure performance que d'une version multithread. Unfortunately, some classes — such as URL — did not support the NIO, so he implemented a URL connection. Malheureusement, certaines classes - tels que Web - n'a pas la NIO, il a mis en place une connexion Web.

He used Tomcat for his statistics server and required 20 GB of memory for fetchers, which ran on 10 separate 32-bit machines of 2 GB each. Il a utilisé Tomcat pour son serveur les statistiques nécessaires et 20 Go de mémoire pour fetchers, qui s'est déroulée le 10 distincte 32-bit machines de 2 Go chacun.