Google

Architecture Google

Jean-Luc Antoine - 26/11/2005

Stratégies financières sur l'évolution de l'architecture Google

Google doit faire face à un challenge auquel nulle autre entreprise est confrontée : servir des centaines de millions de requêtes par jour.
Pour y parvenir, le besoin en terme de puissance de calcul est colossal. Aucune machine ne peut à elle seule effectuer ce travail. C'est une des raisons qui a poussé Google à concevoir un index distribué : des milliers de machines se répartissent cette charge.

Le choix des machines

Le choix de ces machines a été essentiellement financier : quelle est le meilleur ratio entre le coût et la performance ? Dans ce calcul sont pris en compte les coût d'acquisition et de fonctionnement.
Au niveau de l'acquisition, il est assez simple d'identifier le meilleur rapport performance CPU/prix, mais d'autres éléments sont à prendre en compte : prix de la carte mère, alimentation, et tout autre composant matériel permettant de faire fonctionner la machine. D'un point de vue logiciel, un OS gratuit a été choisi (Linux).
Le coût de fonctionnement prend en compte la consommation électrique, l'espace requis en salle machine, la maintenance (le personnel), le taux de pannes...
Ces savants calculs ont abouti au système actuellement en fonctionnement, qui a priori a donné entière satisfaction... jusqu'à présent.
Avec les nombreux nouveaux services que Google annonce régulièrement (analytics, google base...), les besoins en terme de puissance de calcul se sont accrus, le système atteint ses limites : combien de dizaines de milliers d'ordinateurs faut-il ? Un datacenter ne peut croître indéfiniment.
Il semblerait que les choix initiaux aboutissent à une remise en cause de l'existant : désormais il existe des systèmes bien plus performants pour un coût total nettement inférieur. D'où vient ce miracle ? D'un outsider : Sun

Le processeur Ultrasparc T1 (Niagara) de Sun

On savait l'engagement de Sun sur l'opteron d'AMD, un partenariat très important. Malgré tout, Sun a continué ses propres activités de conception de CPU, sur des technologies parfaitement matures. Après quelques années de travail, le processeur Niagara arrive a maturité : Sun a annoncé le 6 décembre 2005 sa sortie officielle.
En quoi ce processeur est-il si important ?
Avant tout par sa performance : il dispose de 8 coeurs, chacun étant multi-threads (capable de gérer 4 threads), ce qui permet de faire tourner simultanément 32 threads, l'idéal pour des opérations massivement parallèles. Ces coeurs ne se partagent cependant qu'une unité de calcul, mais les opérations de gestion de l'index de Google ne sont pas consommateurs en calculs, simplement en traitements (contrairement à des logiciels de traitement d'image par exemple). C'est la génération suivante des CPU de Sun (nom de code Rock) qui améliorera les unités de calcul. Quoiqu'il en soit, ce processeur permet donc de faire tourner pratiquement plus de trente fois plus de taches qu'un processeur classique, le tout dans un seul CPU... Le ratio n'est pas exactement un rapport de 1 pour 32, pour des raisons d'architecture interne, mais il est assez significatif. D'un point de vue encombrement du datacenter et optimisation des interventions physiques par le personnel, ce CPU répond parfaitement : en intégrant les besoins nouveaux de traitement en plus de ceux existants, un parc de 2000 machines peut être remplacé par 400 machines à base de ce processeur. Un gain non négligeable.
Mais ce processeur n'a pas que la puissance pour lui, il a aussi la consommation. Pour faire tourner l'équivalent d'une trentaine de CPU classiques, il faut très nettement plus que ce qui est requis pour un seul CPU Ultrasparc T1. Cela est encore démultiplié par la faible consommation électrique du processeur lui-même : Sun a fait le choix de la course à la technologie et non pas de la course à la fréquence. Résultat, il tourne seulement à 1.2 Ghz, et ne chauffe pas. Gain électrique direct et indirect (clim, moins de BTU). La puissance d'alimentation d'un serveur à base de ce processeur n'est que de 250 Watts (serveurs Sun T1000 et T2000).
Le prix du processeur est certes plus élevé que celui des CPU de la gamme pentiums, mais en mettant en regard les économies de place, électriques, de puissance clim, de personnel de maintenance, et les gains en performance, Google a fait rapidement son choix, Niagara est adapté.
Helas, on ne change pas facilement une architecture comme celle de Google. Une application compilée pour du x86 ne fonctionnera pas sur ces nouvelles machines. L'OS n'est pas le même non plus. Il peut donc y avoir des dysfonctionnement bas-niveaux. Il faut aussi prévoir la cohabitation avec les "vieux" systèmes en place car on ne bascule pas en un claquement de doigts sur un nouveau système.
Google a donc du pain sur la planche, des risques de stabilité lors de la migration, mais l'opération s'avèrera très rapidement rentable.

Jean-Luc Antoine

Server Info
Remote Info
Compress

Batchs
BootSector
Droit
Accessoire GFA
On Now
Ecran plasma
Système d'exploitation
Son
Unités
Scripting
Multilingue
Site Web
Bruit et son
Architecture Google


4K
Color picker
TaskList
Backup files
Mini Port Scanner
Website To CHM
PixyDemo
Web password recovery
4KWebServer
Kill Popup
VBE decoder
Script Optimizer
Database Password Recovery
Class
Ini
EMail validator
Graphical Class
MP3 Info
Pinger Class
IP ranger class
SoftwareMetering
Path Validator
Time Stamper Class
LoggerCLS
HTA
Keyword Ranking
DOM Explorer
HTA-Notepad
PixyPortManager
Other
flashMessage
Kill Popup
VBE decoder (fixed)
Error Codes
Maze generator
Char counter
HTML To Word
ICQ Choose User
ScreenSaver Password decoder
Mp3Playlister - singleList
Long Filename To Short
Trace Math
Dump Hexa File
Self modifying script
Mp3Playlister - multiList
HTANoid
PixyWebServer
Python
Progress indication

©2002 Jean-Luc Antoine. All Rights Reserved. Scripts or any other material on this website may not be redistributed or put as part of ANY collection (script archives, CDs etc) without prior written permission. Permission granted to use and modify any of the scripts found on InterClasse.com