Mirago  
LIENS ASSOCIÉS
Technologie
Système de requête
Le Robot
Mirago Media Manager
Langage naturel
Acquis technologiques
Infrastructure









Accueil > Société > Technologie > Acquis technologiques
Acquis Technologiques

En 1965 Gordon Moore prédisait que la puissance des ordinateurs doublerait tous les deux ans. Il a eu raison. Il semble que la loi de Moore ne s'applique pas uniquement au hardware. La croissance d'internet et subséquemment le volume de données indexées par les moteurs de recherche tels que Mirago apparaissent être d'autres candidats sérieux.

Cette croissance exponentielle influence grandement le développement des logiciels et l'architecture hardware de Mirago. Les éléments-clés des systèmes Mirago sont: extension, robustesse, performance et simplicité.

L'extension affecte tout d'abord Q3, The Mirago Query System. Il s'agit du système qui gère les recherches à la fois sur les pages web et les informations indexées via le programme de Trusted Feeds.

L'extension est achevée en divisant les index en collections multiples, chacune de ces collections est sous-divisée en index multiples. L'utilisation de collections individuelles permet d'effectuer des mises à jour à fréquence différente pour différents types de sites. Certains sites sont mis à jour quotidiennement, d'autres hebdomadairement...etc.

Les index individuels correspondent, sur une base de un pour un, aux ordinateurs qui cherchent ces index. Chaque serveur gère globalement le même nombre de documents et les résultats des requêtes sont issus des meilleurs ensembles de réponses retournées par chaque serveur. Les serveurs de requête sont des machines de type PC, chacune est équipée d'une grande mémoire et d'un disque dur standard.

Au fur et à mesure que le nombre de documents augmente, davantage de serveurs peuvent être ajoutés afin d'augmenter les capacités. Comme chaque serveur opére indépendamment de tous les autres serveurs, il n'y a pas de perte en performance de l'ensemble du système de requête.

La robustesse prend en compte la nature physique des systèmes. En dépit de la qualité de la spécification des serveurs, il arrive que les serveurs tombent en panne. La double alimentation en énergie, les systèmes de disques RAID...etc. sont tous faillibles d'une manière ou d'une autre. Les Memory sticks et les processeurs peuvent tomber en panne bien que très rarement.

La nature distribuée de l'architecture est telle que chaque serveur peut tomber en panne sans dégrader de façon significative la performance de l'ensemble du système. Les robots imposent une plus grande pression sur l'équipement que les serveurs de requêtes, ce sont donc eux qui demandent le plus de maintenance.

Mirago exécute des millions et millions de requêtes. La performance est donc essentielle. L'expérience montre que les internautes s'attendent à recevoir les informations les plus pertinentes quelle que soit leur requête de façon quasi instantanée. Bien que certains facteurs soient au-delà du contrôle de Mirago comme la vitesse de la connexion internet de l'internaute, de nombreux facteurs dépendent entièrement de Mirago tels que la taille de la page de résultats et le temps d'exécution de la recherche.

Une requête moyenne devrait être exécutée sur n'importe quel serveur en moins de 10 millisecondes. De monbreuses requêtes sont exécutées en 1 milliseconde rendant le chronométrage parfois difficile particulièrement sur Windows NT.

Depuis que Mirago a commencé à développer sa technologie de requête originale, les coûts, capacité et puissance des ordinateurs ont beaucoup changé. Prenons l'exemple de la réduction des coûts d'un gigabyte de mémoire. Le désign des logiciels créés et utilisés par Mirago a beaucoup changé en conséquence. Aujourd'hui qui penserait à stocker des données sur un autre support qu'une mémoire lorsqu'un accès rapide est requis?

Ceux familiers avec la programmation de logiciels seront intéressés par ce qui suit:

Le logiciel est entièrement écrit en C pour des raisons de performance. Bien que C++, Object Orientation et les autres techniques plus modernes soient très utiles, elles manquent souvent de performance. MFC Objects tels que CString peuvent être simples d'utilisation mais ne sont pas adaptés au paramétrage des moteurs de recherche. Il n'est pas exagéré de dire que même l'allocation de mémoire avec des fonctions telles que malloc est maintenue à un minimum. De même le fil de synchronisation nécessaire à l'actualisation des index dynamiques est également aussi simple que possible.

Le design des logiciels de Mirago est réellement une leçon de simplicité qui profite à la fois de performance et fiabilité. Un concept essentiel de la programmation de logiciel peut être exprimé comme suit:'La façon la plus rapide d'accomplir une tâche est de ne pas la faire du tout'. Cela fait référence au fait que quelle que soit l'optimisation d'un code, s'il peut être totalement évité, la performance ne peut être qu'améliorée. Enfin, du point de vue de la fiabilité une gestion rigoureuse des erreurs est essentielle. Les systèmes physiques peuvent et tombent en panne. Seul un traitement approprié des erreurs permet de maintenir la performance.

 
 

Annoncer sur Mirago Partenariat