La arquitectura hardware de Google

Ya hemos hablado en entradas anteriores de la buena relación coste/prestaciones de los sistemas de tipo cluster, y hemos comentado la posibilidad de diseñar arquitecturas realmente potentes incluso a partir de componentes obsoletos y completamente heterogéneos.

Como demostración para los "incrédulos", vamos a hablar hoy de la arquitectura que soporta el motor de búsqueda de Google, un cluster. Las consideraciones iniciales que los diseñadores de Google se hicieron estaban relacionadas con fiabilidad, la productividad y la relación precio/prestaciones. Debían conseguir una arquitectura con estas características que permitiera la ejecución de una aplicación programada en C/C++ y que se ejecuta sobre plataformas con Linux con replicación en como mínimo, tres puntos geográficos.

Para ello han construido un cluster a medida completamente heterogéneo y muy escalable. En cifras, cada tres meses se actualiza alguno de los componentes de los nodos de cómputo (procesador, memoria o disco) y entre un 2 y un 3% de los nodos son sustituidos cada año.

Los nodos de cómputo están agrupados en racks que contienen entre 40 y 80 nodos dcada uno. Hay cerca de 1000 racks en la actualidad, con nodos x86, desde Celeron a 533 MHz hasta biprocesadores Pentium IV. Cada nodo tiene enstre 256 MB y 1 GB de memoria DDR y 80 GB de capacidad de almacenamiento.

El cluster utiliza Gigabit Ethernet (cobre, cables de categoría 5) para la conexión entre los nodos, y los enlaces a Internet tienen un ancho de banda mayor (2 Gb/s en media).

Todos los nodos tienen instalado un sistema operativo Linux y herramientas a medida para instalación y actualización de software, para la monitorización (en media se reinician al día 20 nodos en remoto) y para la gestión del Google File System (GFS).

Como podéis observar no se ha realizado una inversión excesivamente alta en la plataforma hardware que soporta el sistema, sino que se aprovechan todo tipo de nodos de cómputo que todavía pueden servir en una arquitectura de este tipo aunque individualmente ya estén obsoletos. Sin embargo se ha conseguido un sistema independiente de fabricantes HW y SW, y que proporciona las prestaciones adecuadas para la ejecución de la aplicación.
aaa

No hay comentarios: