Todo lo que hacemos en Internet, que es casi todo lo que hacemos en estos días, depende del trabajo de los clústeres, que a veces se denominan pods.
Cuando transmitimos un nuevo programa de televisión, pedimos un par de jeans o hacemos una reunión de Zoom con la abuela, usamos clústeres. Estás leyendo esta historia gracias a los pods.
Entonces, ¿Qué es un Clúster? ¿Qué es un Pod?
Un clúster o un pod es simplemente un conjunto de computadoras conectadas por redes de alta velocidad en una sola unidad.
Los arquitectos de computación deben haber llegado, al menos inconscientemente, a términos arraigados en la naturaleza. Las vainas de guisantes y los cardúmenes de delfines, como los grupos de computadoras de hoy, muestran el poder de muchos individuos que trabajan en equipo.
Las Raíces de los Pods y los Superpods
Los vínculos son más profundos. Los biólogos dicen que las vainas no solo protegen y nutren a cada guisante, sino que también pueden reasignar recursos de semillas dañadas a semillas prósperas. De manera similar, un equilibrador de cargas mueve trabajos de un nodo de cómputo fallido a uno en funcionamiento.
La veterana bióloga marina Denise Herzing que trabaja frente a la costa de las Bahamas, a menudo ve todos los días los mismos cardúmenes, grupos de familias de quizás 20 delfines.
“Hace años, en la península de Baja California, vi un cardumen gigante. Fue muy emocionante y un poco abrumador porque como investigador quiero observar de cerca a un grupo pequeño, no a mil animales repartidos en un área grande”, dijo el fundador del Proyecto Wild Dolphin.
Para los delfines, los cardúmenes gigantes son vitales. “Protegen a los viajeros mediante la creación de un enorme sistema sensorial, mil pares de oídos que escuchan a los depredadores como un supersensor”, dijo, señalando los paralelismos con los grupos utilizados en la computación en cloud de la actualidad.
Los Pods Brotan en los Primeros Data Centers
Cuando las empresas comenzaron a computarizar sus sistemas de contabilidad a principios de la década de 1960, instintivamente agruparon varias computadoras para tener copias de seguridad en caso de que una fallara, cuenta Greg Pfister, un extecnólogo de IBM y experto en clústeres.
“Estoy bastante seguro de que NCR, MetLife y mucha gente hicieron ese tipo de cosas”, dijo Pfister, autor de In Search of Clusters, considerado por algunos como la biblia del campo.
En mayo de 1983, Digital Equipment Corp. combinó varias de sus populares minicomputadoras VAX de 32 bits en lo que llamó VAXcluster. Cada computadora ejecutaba su propio sistema operativo, pero compartían otros recursos, para proporcionar a los usuarios de TI una única imagen del sistema.
A fines de la década de 1990, la llegada de los procesadores de PC de bajo costo, redes Ethernet y Linux inspiró al menos ocho proyectos de investigación importantes que crearon clústeres. La NASA diseñó una con 16 placas base para PC en dos redes de 10Mbits por segundo y la denominó Beowulf, ya que destruye los mainframes gigantes y los sistemas masivamente paralelos de la época.
Las Redes de Clústeres Necesitan Velocidad
Los investigadores descubrieron que los clústeres se podían ensamblar rápidamente y ofrecer un alto rendimiento a bajo costo siempre que utilizaran redes de alta velocidad para eliminar los cuellos de botella.
El proyecto Network of Workstations (NoW) de Berkeley enlazó docenas de workstations Sparc en las interconexiones más rápidas del día. Crearon una imagen de un cardumen de peces pequeños comiendo un pez más grande para ilustrar su trabajo.
Un investigador, Eric Brewer, vio que los clústeres eran ideales para las aplicaciones emergentes de Internet, por lo que utilizó el sistema NoW de 100 servidores como motor de búsqueda.
“Durante un tiempo tuvimos el mejor motor de búsqueda del mundo en el campus de Berkeley”, dijo David Patterson, un veterano de NoW y de muchos proyectos de investigación de computación en Berkeley.
El trabajo fue tan exitoso que Brewer cofundó Inktomi, uno de los primeros motores de búsqueda construido con un clúster de 1000 sistemas inspirado en NoW. Tenía muchos rivales, incluida una startup llamada Google creada por empresarios de su rival Stanford.
“Construyeron sus clústeres de red a partir de varias PC y definieron un modelo comercial que les permitió crecer y mejorar realmente la calidad de la búsqueda; el resto es historia”, dijo Patterson, coautor de un popular libro de texto sobre computación.
Hoy en día, los clústeres o pods son la base de la mayoría de las supercomputadoras que forman parte de la lista TOP500 del mundo, así como de prácticamente todos los servicios de computación de cloud. Y la mayoría usa las GPU de NVIDIA, pero nos estamos adelantando a la historia.
Pods y Clústeres: Una Guerra de Palabras
Si bien los arquitectos de computación llamaron a estos “clústeres de sistemas”, algunos especialistas en redes prefirieron el término “pod”. Al convertir el término biológico en un acrónimo tecnológico, dijeron que POD significaba un “punto de entrega” (Point Of Delivery en inglés) de servicios de computación.
El término “pod” ganó fuerza en los primeros días de la computación de cloud. Los proveedores de servicios se apresuraron a construir sistemas cada vez más grandes, del tamaño de un almacén, a menudo ordenando contenedores de envío completos, también conocidos como pods, de sistemas preconfigurados que podrían conectarse como bloques de Lego.
Más recientemente, el grupo de Kubernetes adoptó el término pod. Definen un pod de software como “un contenedor único o una pequeña cantidad de contenedores que están estrechamente acoplados y que comparten recursos”.
Industrias como la aeroespacial y la electrónica de consumo también adoptaron el término pod, quizás para dar a sus conceptos una calidez orgánica. Entre los ejemplos más icónicos se encuentran el iPod, el precursor del iPhone y el vehículo de un solo astronauta de la película 2001: Una odisea espacial.
Cuando la IA Conoció a los Clústeres
En 2012, los servicios de computación en cloud escucharon el Big Bang de la IA, la génesis de una nueva y poderosa forma de computación. Se apresuraron a construir clústeres gigantes de GPU que, gracias a sus clústeres internos de núcleos aceleradores, podrían procesar enormes conjuntos de datos para entrenar y ejecutar redes neuronales.
Para ayudar a difundir la inteligencia artificial en cualquier data center empresarial, NVIDIA empaqueta clústeres de GPU en redes InfiniBand en Sistemas NVIDIA DGX. Una arquitectura de referencia permite a los usuarios escalar fácilmente desde un único sistema DGX a un NVIDIA DGX POD o incluso a un NVIDIA DGX SuperPOD de clase de supercomputadora.
Por ejemplo, Cambridge-1 es una supercomputadora de IA en un DGX SuperPOD. Está dedicado al avance de las ciencias de la vida y de la atención de la salud en el Reino Unido.
Es uno de los muchos clústeres y pods listos para la IA que se están extendiendo como nunca antes. Están surgiendo como la propia IA, en muchas formas y tamaños en todas las industrias y empresas.