Una supercomputadora es un tipo de computadora con un alto nivel de rendimiento en comparación con una computadora de propósito general. El rendimiento de una supercomputadora se mide comúnmente en operaciones de punto flotante por segundo ( FLOPS ) en lugar de millones de instrucciones por segundo (MIPS). Desde 2017 existen supercomputadoras que pueden realizar más de 10 17 FLOPS (cien cuatrillones de FLOPS, 100 petaFLOPS o 100 PFLOPS). [3] A modo de comparación, una computadora de escritorio tiene un rendimiento en el rango de cientos de gigaFLOPS (10 11 ) a decenas de teraFLOPS (10 13 ). [4] [5] Desde noviembre de 2017, las 500 supercomputadoras más rápidas del mundo funcionan con sistemas operativos basados en Linux . [6] Se están llevando a cabo investigaciones adicionales en los Estados Unidos, la Unión Europea, Taiwán, Japón y China para construir supercomputadoras de exaescala más rápidas, potentes y tecnológicamente superiores . [7]
Las supercomputadoras desempeñan un papel importante en el campo de la ciencia computacional y se utilizan para una amplia gama de tareas computacionales intensivas en diversos campos, incluida la mecánica cuántica , el pronóstico del tiempo , la investigación climática , la exploración de petróleo y gas , el modelado molecular (cómputo de las estructuras y propiedades). de compuestos químicos, macromoléculas biológicas , polímeros y cristales) y simulaciones físicas (como simulaciones de los primeros momentos del universo, la aerodinámica de aviones y naves espaciales , la detonación de armas nucleares y la fusión nuclear ). Han sido fundamentales en el campo del criptoanálisis . [8]
Las supercomputadoras se introdujeron en la década de 1960, y durante varias décadas la más rápida fue fabricada por Seymour Cray en Control Data Corporation (CDC), Cray Research y las empresas posteriores que llevaban su nombre o monograma. Las primeras máquinas de este tipo eran diseños convencionales altamente optimizados que funcionaban más rápidamente que sus contemporáneos de uso más general. A lo largo de la década, se agregaron cantidades cada vez mayores de paralelismo , siendo típico entre uno y cuatro procesadores . En la década de 1970, llegaron a dominar los procesadores vectoriales que operaban con grandes conjuntos de datos. Un ejemplo notable es el exitoso Cray-1 de 1976. Las computadoras vectoriales siguieron siendo el diseño dominante hasta la década de 1990. Desde entonces hasta hoy, las supercomputadoras masivamente paralelas con decenas de miles de procesadores disponibles se convirtieron en la norma. [9] [10]
Estados Unidos ha sido durante mucho tiempo el líder en el campo de las supercomputadoras, primero gracias al dominio casi ininterrumpido de Cray en el campo y luego a través de una variedad de empresas de tecnología. Japón hizo grandes avances en este campo en las décadas de 1980 y 1990, y China se volvió cada vez más activa en este campo. En mayo de 2022, la supercomputadora más rápida en la lista de supercomputadoras TOP500 es Frontier , en EE. UU., con una puntuación de referencia LINPACK de 1,102 ExaFlop/s, seguida de Fugaku . [11] Estados Unidos tiene cinco de los 10 primeros; China tiene dos; Japón, Finlandia y Francia tienen uno cada uno. [12] En junio de 2018, todas las supercomputadoras combinadas en la lista TOP500 superaron la marca de 1 exaFLOPS . [13]
En 1960, UNIVAC construyó la Computadora de Investigación Atómica Livermore (LARC), hoy considerada una de las primeras supercomputadoras, para el Centro de Investigación y Desarrollo de la Marina de los EE. UU. Todavía utilizaba memoria de tambor de alta velocidad , en lugar de la nueva tecnología de unidad de disco emergente . [14] Además, entre las primeras supercomputadoras se encontraba la IBM 7030 Stretch . El IBM 7030 fue construido por IBM para el Laboratorio Nacional de Los Álamos , que en 1955 había solicitado una computadora 100 veces más rápida que cualquier computadora existente. El IBM 7030 utilizaba transistores , memoria de núcleo magnético, instrucciones canalizadas , datos precargados a través de un controlador de memoria e incluía unidades de disco de acceso aleatorio pioneras. El IBM 7030 se completó en 1961 y, a pesar de no superar el desafío de multiplicar por cien su rendimiento, fue adquirido por el Laboratorio Nacional de Los Álamos. Clientes en Inglaterra y Francia también compraron la computadora, y se convirtió en la base de la IBM 7950 Harvest , una supercomputadora construida para criptoanálisis . [15]
El tercer proyecto pionero de supercomputadora a principios de la década de 1960 fue el Atlas de la Universidad de Manchester , construido por un equipo dirigido por Tom Kilburn . Diseñó el Atlas para que tuviera espacio de memoria para hasta un millón de palabras de 48 bits, pero como el almacenamiento magnético con tal capacidad era inasequible, la memoria central real del Atlas era sólo de 16.000 palabras, con un tambor que proporcionaba memoria para otras 96.000. palabras. El sistema operativo Atlas intercambiaba datos en forma de páginas entre el núcleo magnético y el tambor. El sistema operativo Atlas también introdujo el tiempo compartido en la supercomputación, de modo que se podía ejecutar más de un programa en la supercomputadora al mismo tiempo. [16] Atlas fue una empresa conjunta entre Ferranti y la Universidad de Manchester y fue diseñado para operar a velocidades de procesamiento cercanas a un microsegundo por instrucción, aproximadamente un millón de instrucciones por segundo. [17]
El CDC 6600 , diseñado por Seymour Cray , se terminó en 1964 y marcó la transición de los transistores de germanio a los de silicio . Los transistores de silicio podían funcionar más rápidamente y el problema del sobrecalentamiento se resolvió introduciendo refrigeración en el diseño de la supercomputadora. [18] Así, la CDC6600 se convirtió en la computadora más rápida del mundo. Dado que el 6600 superó a todos los demás ordenadores contemporáneos en unas 10 veces, se le denominó superordenador y definió el mercado de los superordenadores, cuando se vendieron cien ordenadores a 8 millones de dólares cada uno. [19] [20] [21] [22]
Cray dejó CDC en 1972 para formar su propia empresa, Cray Research . [20] Cuatro años después de dejar CDC, Cray entregó el Cray-1 de 80 MHz en 1976, que se convirtió en una de las supercomputadoras de mayor éxito de la historia. [23] [24] El Cray-2 fue lanzado en 1985. Tenía ocho unidades centrales de procesamiento (CPU), refrigeración líquida y el líquido refrigerante de la electrónica Fluorinert se bombeaba a través de la arquitectura de supercomputadora . Alcanzó 1,9 gigaFLOPS , convirtiéndose en el primer superordenador en romper la barrera de los gigaflops. [25]
La única computadora que desafió seriamente el desempeño del Cray-1 en la década de 1970 fue la ILLIAC IV . Esta máquina fue el primer ejemplo realizado de una verdadera computadora masivamente paralela , en la que muchos procesadores trabajaban juntos para resolver diferentes partes de un único problema mayor. En contraste con los sistemas vectoriales, que fueron diseñados para ejecutar un único flujo de datos lo más rápido posible, en este concepto, la computadora alimenta partes separadas de los datos a procesadores completamente diferentes y luego recombina los resultados. El diseño del ILLIAC se finalizó en 1966 con 256 procesadores y ofrece una velocidad de hasta 1 GFLOPS, en comparación con el pico de 250 MFLOPS del Cray-1 de la década de 1970. Sin embargo, los problemas de desarrollo llevaron a que sólo se construyeran 64 procesadores, y el sistema nunca podría funcionar más rápido que unos 200 MFLOPS, aunque era mucho más grande y complejo que el Cray. Otro problema era que escribir software para el sistema era difícil y obtener el máximo rendimiento requería un gran esfuerzo.
Pero se consideró ampliamente que el éxito parcial del ILLIAC IV señalaba el camino hacia el futuro de la supercomputación. Cray argumentó en contra de esto, bromeando: "Si estuvieras arando un campo, ¿qué preferirías usar? ¿Dos bueyes fuertes o 1024 gallinas?" [26] Pero a principios de la década de 1980, varios equipos estaban trabajando en diseños paralelos con miles de procesadores, en particular la Connection Machine (CM) que se desarrolló a partir de investigaciones en el MIT . El CM-1 utilizó hasta 65.536 microprocesadores personalizados simplificados conectados entre sí en una red para compartir datos. Siguieron varias versiones actualizadas; La supercomputadora CM-5 es una computadora de procesamiento masivo en paralelo capaz de realizar muchos miles de millones de operaciones aritméticas por segundo. [27]
En 1982, el sistema de gráficos por computadora LINKS-1 de la Universidad de Osaka utilizaba una arquitectura de procesamiento masivamente paralelo , con 514 microprocesadores , incluidos 257 procesadores de control Zilog Z8001 y 257 procesadores de punto flotante iAPX 86/20 . Se utilizó principalmente para representar gráficos de computadora en 3D realistas . [28] El VPP500 de Fujitsu de 1992 es inusual ya que, para alcanzar velocidades más altas, sus procesadores utilizaban GaAs , un material normalmente reservado para aplicaciones de microondas debido a su toxicidad. [29] La supercomputadora Numerical Wind Tunnel de Fujitsu utilizó 166 procesadores vectoriales para obtener el primer puesto en 1994 con una velocidad máxima de 1,7 gigaFLOPS (GFLOPS) por procesador. [30] [31] El Hitachi SR2201 obtuvo un rendimiento máximo de 600 GFLOPS en 1996 utilizando 2048 procesadores conectados a través de una rápida red de barras transversales tridimensionales . [32] [33] [34] El Intel Paragon podía tener de 1000 a 4000 procesadores Intel i860 en varias configuraciones y fue clasificado como el más rápido del mundo en 1993. El Paragon era una máquina MIMD que conectaba procesadores a través de una conexión bidimensional de alta velocidad. mesh, lo que permite que los procesos se ejecuten en nodos separados, comunicándose a través de la interfaz de paso de mensajes . [35]
El desarrollo de software siguió siendo un problema, pero la serie CM desató una considerable investigación sobre este tema. Muchas empresas realizaron diseños similares utilizando hardware personalizado, incluidas Evans & Sutherland ES-1 , MasPar , nCUBE , Intel iPSC y Goodyear MPP . Pero a mediados de la década de 1990, el rendimiento de las CPU de uso general había mejorado tanto que se podía construir una supercomputadora usándolas como unidades de procesamiento individuales, en lugar de usar chips personalizados. A principios del siglo XXI, los diseños con decenas de miles de CPU básicas eran la norma, y las máquinas posteriores añadieron unidades gráficas a la mezcla. [9] [10]
En 1998, David Bader desarrolló la primera supercomputadora Linux utilizando piezas básicas. [36] Mientras estaba en la Universidad de Nuevo México, Bader intentó construir una supercomputadora que ejecutara Linux utilizando piezas disponibles para el consumidor y una red de interconexión de alta velocidad y baja latencia. El prototipo utilizó un "AltaCluster" de Alta Technologies de ocho computadoras Intel Pentium II duales de 333 MHz que ejecutaban un kernel de Linux modificado. Bader portó una cantidad significativa de software para brindar soporte de Linux para los componentes necesarios, así como código de miembros de la National Computational Science Alliance (NCSA) para garantizar la interoperabilidad, ya que ninguno de ellos se había ejecutado anteriormente en Linux. [37] Utilizando el exitoso diseño del prototipo, dirigió el desarrollo de "RoadRunner", la primera supercomputadora Linux para uso abierto por la comunidad nacional de ciencia e ingeniería a través del National Technology Grid de la National Science Foundation. RoadRunner entró en producción en abril de 1999. En el momento de su implementación, se consideraba una de las 100 supercomputadoras más rápidas del mundo. [37] [38] Aunque los clústeres basados en Linux que utilizaban piezas de consumo, como Beowulf , existían antes del desarrollo del prototipo de Bader y RoadRunner, carecían de la escalabilidad, el ancho de banda y las capacidades de computación paralela para ser considerados supercomputadores "verdaderos". . [37]
Los sistemas con una gran cantidad de procesadores generalmente toman uno de dos caminos. En el enfoque de la computación grid , la potencia de procesamiento de muchas computadoras, organizadas como dominios administrativos diversos y distribuidos, se utiliza de manera oportunista siempre que hay una computadora disponible. [39] En otro enfoque, muchos procesadores se utilizan cerca unos de otros, por ejemplo, en un grupo de ordenadores . En un sistema centralizado masivamente paralelo, la velocidad y la flexibilidad delLa interconexión se vuelve muy importante y las supercomputadoras modernas han utilizado varios enfoques que van desdeInfinibandinterconexiones toroidalestridimensionales.[40][41]El uso deprocesadores multinúcleocombinados con centralización es una dirección emergente, por ejemplo, como en elCyclops64.[42][43]
A medida que el precio, el rendimiento y la eficiencia energética de las unidades de procesamiento de gráficos de uso general (GPGPU) han mejorado, varias supercomputadoras petaFLOPS como Tianhe-I y Nebulae han comenzado a confiar en ellas. [44] Sin embargo, otros sistemas como la computadora K continúan usando procesadores convencionales como los diseños basados en SPARC y la aplicabilidad general de las GPGPU en aplicaciones informáticas de alto rendimiento de propósito general ha sido objeto de debate, en el sentido de que mientras una GPGPU puede ajustarse para obtener una buena puntuación en puntos de referencia específicos, su aplicabilidad general a los algoritmos cotidianos puede ser limitada a menos que se dedique un esfuerzo significativo a ajustar la aplicación a él. [45] Sin embargo, las GPU están ganando terreno, y en 2012 la supercomputadora Jaguar se transformó en Titan al modernizar las CPU con GPU. [46] [47] [48]
Las computadoras de alto rendimiento tienen un ciclo de vida esperado de aproximadamente tres años antes de requerir una actualización. [49] La supercomputadora Gyoukou es única porque utiliza un diseño masivamente paralelo y enfriamiento por inmersión líquida .
Se han diseñado varios sistemas de propósito especial, dedicados a un solo problema. Esto permite el uso de chips FPGA especialmente programados o incluso ASIC personalizados , lo que permite mejores relaciones precio/rendimiento sacrificando la generalidad. Ejemplos de supercomputadoras de propósito especial incluyen Belle , [50] Deep Blue , [51] e Hydra [52] para jugar al ajedrez , Gravity Pipe para astrofísica, [53] MDGRAPE-3 para predicción de estructuras de proteínas y dinámica molecular, [54] y Deep Crack para romper el cifrado DES . [55]
A lo largo de las décadas, la gestión de la densidad térmica ha seguido siendo una cuestión clave para la mayoría de las supercomputadoras centralizadas. [58] [59] [60] La gran cantidad de calor generada por un sistema también puede tener otros efectos, por ejemplo, reducir la vida útil de otros componentes del sistema. [61] Ha habido diversos enfoques para el manejo del calor, desde bombear Fluorinert a través del sistema, hasta un sistema híbrido de enfriamiento líquido-aire o enfriamiento por aire con temperaturas normales de aire acondicionado . [62] [63] Una supercomputadora típica consume grandes cantidades de energía eléctrica, casi toda la cual se convierte en calor, lo que requiere refrigeración. Por ejemplo, Tianhe-1A consume 4,04 megavatios (MW) de electricidad. [64] El costo de alimentar y enfriar el sistema puede ser significativo, por ejemplo, 4 MW a 0,10 dólares/kWh equivalen a 400 dólares la hora o alrededor de 3,5 millones de dólares al año.
La gestión del calor es un problema importante en los dispositivos electrónicos complejos y afecta a los sistemas informáticos potentes de varias maneras. [65] Los problemas de potencia de diseño térmico y disipación de potencia de la CPU en la supercomputación superan los de las tecnologías tradicionales de refrigeración de computadoras . Los premios de supercomputación para la informática ecológica reflejan esta cuestión. [66] [67] [68]
El agrupamiento de miles de procesadores genera inevitablemente cantidades significativas de densidad de calor que es necesario abordar. El Cray-2 estaba refrigerado por líquido y utilizaba una "cascada de enfriamiento" de Fluorinert que se forzaba a través de los módulos bajo presión. [62] Sin embargo, el enfoque de refrigeración líquida sumergida no era práctico para los sistemas de varios gabinetes basados en procesadores disponibles en el mercado, y en el Sistema X se desarrolló un sistema de refrigeración especial que combinaba aire acondicionado con refrigeración líquida junto con el Liebert. compañía . [63]
En el sistema Blue Gene , IBM utilizó deliberadamente procesadores de baja potencia para lidiar con la densidad del calor. [69] El IBM Power 775 , lanzado en 2011, tiene elementos muy compactos que requieren refrigeración por agua. [70] El sistema IBM Aquasar utiliza refrigeración por agua caliente para lograr eficiencia energética, y el agua también se utiliza para calentar edificios. [71] [72]
La eficiencia energética de los sistemas informáticos generalmente se mide en términos de " FLOPS por vatio ". En 2008, Roadrunner de IBM operaba a 376 MFLOPS/W . [73] [74] En noviembre de 2010, Blue Gene/Q alcanzó 1.684 MFLOPS/W [75] [76] y en junio de 2011 los dos primeros lugares de la lista Green 500 fueron ocupados por máquinas Blue Gene en Nueva York (una logrando 2097 MFLOPS/W) con el clúster DEGIMA en Nagasaki ocupando el tercer lugar con 1375 MFLOPS/W. [77]
Debido a que los cables de cobre pueden transferir energía a una supercomputadora con densidades de potencia mucho más altas que las que el aire forzado o los refrigerantes en circulación pueden eliminar el calor residual , [78] la capacidad de los sistemas de refrigeración para eliminar el calor residual es un factor limitante. [79] [80] A partir de 2015 [actualizar], muchas supercomputadoras existentes tienen más capacidad de infraestructura que la demanda máxima real de la máquina; los diseñadores generalmente diseñan de manera conservadora la infraestructura de energía y enfriamiento para manejar más que la energía eléctrica máxima teórica consumida por la supercomputadora. Los diseños para futuras supercomputadoras tienen una potencia limitada: la potencia de diseño térmico de la supercomputadora en su conjunto, la cantidad que la infraestructura de energía y refrigeración puede manejar, es algo mayor que el consumo de energía normal esperado, pero menor que el consumo de energía máximo teórico de el hardware electrónico. [81]
Desde finales del siglo XX, los sistemas operativos de supercomputadoras han sufrido importantes transformaciones, basadas en los cambios en la arquitectura de las supercomputadoras . [82] Si bien los primeros sistemas operativos se adaptaban a cada supercomputadora para ganar velocidad, la tendencia ha sido alejarse de los sistemas operativos internos hacia la adaptación de software genérico como Linux . [83]
Dado que las supercomputadoras masivamente paralelas modernas generalmente separan los cálculos de otros servicios mediante el uso de múltiples tipos de nodos , generalmente ejecutan diferentes sistemas operativos en diferentes nodos, por ejemplo, usando un núcleo liviano pequeño y eficiente como CNK o CNL en los nodos de cómputo, pero un sistema más grande como como derivado de Linux en servidores y nodos de E/S . [84] [85] [86]
Mientras que en un sistema informático multiusuario tradicional la programación de trabajos es, en efecto, un problema de asignación de tareas para el procesamiento y los recursos periféricos, en un sistema masivamente paralelo, el sistema de gestión de trabajos necesita gestionar la asignación de recursos tanto computacionales como de comunicación, así como afrontar con elegancia los inevitables fallos de hardware cuando hay decenas de miles de procesadores presentes. [87]
Aunque la mayoría de las supercomputadoras modernas utilizan sistemas operativos basados en Linux , cada fabricante tiene su propio derivado de Linux específico y no existe ningún estándar industrial, en parte debido al hecho de que las diferencias en las arquitecturas de hardware requieren cambios para optimizar el sistema operativo para cada diseño de hardware. [82] [88]
Las arquitecturas paralelas de las supercomputadoras a menudo exigen el uso de técnicas de programación especiales para aprovechar su velocidad. Las herramientas de software para el procesamiento distribuido incluyen API estándar como MPI [90] y PVM , VTL y software de código abierto como Beowulf .
En el escenario más común, se utilizan entornos como PVM y MPI para clústeres poco conectados y OpenMP para máquinas de memoria compartida estrechamente coordinadas. Se requiere un esfuerzo significativo para optimizar un algoritmo para las características de interconexión de la máquina en la que se ejecutará; El objetivo es evitar que cualquiera de las CPU pierda tiempo esperando datos de otros nodos. Las GPGPU tienen cientos de núcleos de procesador y se programan utilizando modelos de programación como CUDA u OpenCL .
Además, es bastante difícil depurar y probar programas paralelos. Es necesario utilizar técnicas especiales para probar y depurar dichas aplicaciones.
La supercomputación oportunista es una forma de computación grid en red mediante la cual una "supercomputadora virtual" de muchas máquinas informáticas voluntarias débilmente acopladas realiza tareas informáticas muy grandes. La computación grid se ha aplicado a una serie de problemas vergonzosamente paralelos a gran escala que requieren escalas de rendimiento de supercomputación. Sin embargo, los enfoques básicos de computación en red y en la nube que se basan en la computación voluntaria no pueden manejar tareas de supercomputación tradicionales, como las simulaciones de dinámica de fluidos. [91]
El sistema de computación grid más rápido es el proyecto de computación voluntario Folding@home (F@h). En abril de 2020 [actualizar], F@h informó 2,5 exaFLOPS de potencia de procesamiento x86 . De esto, más de 100 PFLOPS son aportados por clientes que se ejecutan en varias GPU y el resto desde varios sistemas de CPU. [92]
La plataforma Berkeley Open Infrastructure for Network Computing (BOINC) alberga una serie de proyectos informáticos voluntarios. En febrero de 2017 [actualizar], BOINC registró una potencia de procesamiento de más de 166 petaFLOPS a través de más de 762 mil Computadoras (Hosts) activas en la red. [93]
En octubre de 2016 [actualizar], la búsqueda distribuida de Mersenne Prime de Great Internet Mersenne Prime Search (GIMPS) logró aproximadamente 0,313 PFLOPS a través de más de 1,3 millones de computadoras. [94] El servidor PrimeNet ha apoyado el enfoque de computación grid de GIMPS, uno de los primeros proyectos informáticos voluntarios, desde 1997.
La supercomputación cuasi oportunista es una forma de computación distribuida mediante la cual la "supercomputadora virtual" de muchas computadoras conectadas en red y geográficamente dispersas realiza tareas informáticas que exigen una enorme potencia de procesamiento. [95] La supercomputación cuasi-oportunista tiene como objetivo proporcionar una mayor calidad de servicio que la computación grid oportunista al lograr un mayor control sobre la asignación de tareas a recursos distribuidos y el uso de inteligencia sobre la disponibilidad y confiabilidad de los sistemas individuales dentro de la red de supercomputación. Sin embargo, la ejecución distribuida cuasi oportunista de software informático paralelo exigente en grids debería lograrse mediante la implementación de acuerdos de asignación grid, subsistemas de coasignación, mecanismos de asignación conscientes de la topología de comunicación, bibliotecas de paso de mensajes tolerantes a fallos y precondicionamiento de datos. [95]
La computación en la nube, con sus recientes y rápidas expansiones y desarrollo, ha captado la atención de los usuarios y desarrolladores de computación de alto rendimiento (HPC) en los últimos años. La computación en la nube intenta proporcionar HPC como servicio exactamente como otras formas de servicios disponibles en la nube, como software como servicio , plataforma como servicio e infraestructura como servicio . Los usuarios de HPC pueden beneficiarse de la nube en diferentes ángulos, como la escalabilidad, la disponibilidad de recursos bajo demanda, la rapidez y el bajo costo. Por otro lado, trasladar aplicaciones HPC también presenta una serie de desafíos. Buenos ejemplos de estos desafíos son los gastos generales de virtualización en la nube, la tenencia múltiple de recursos y los problemas de latencia de la red. Actualmente se están realizando muchas investigaciones para superar estos desafíos y hacer que la HPC en la nube sea una posibilidad más realista. [96] [97] [98] [99]
En 2016, Penguin Computing, Parallel Works, R-HPC, Amazon Web Services , Univa , Silicon Graphics International , Rescale , Sabalcore y Gomput comenzaron a ofrecer computación en la nube HPC . La nube Penguin On Demand (POD) es un modelo informático básico para ejecutar código, pero a cada usuario se le proporciona un nodo de inicio de sesión virtualizado . Los nodos informáticos POD se conectan a través de redes Ethernet no virtualizadas de 10 Gbit/s o QDR InfiniBand . La conectividad del usuario al centro de datos POD oscila entre 50 Mbit/s y 1 Gbit/s. [100] Penguin Computing, citando EC2 Elastic Compute Cloud de Amazon, sostiene que la virtualización de nodos informáticos no es adecuada para HPC. Penguin Computing también ha criticado que las nubes HPC pueden haber asignado nodos informáticos a clientes que están muy separados, lo que provoca una latencia que afecta el rendimiento de algunas aplicaciones HPC. [101]
Las supercomputadoras generalmente apuntan a la máxima capacidad informática en lugar de capacidad informática. Por lo general, se piensa que la computación de capacidad utiliza la máxima potencia informática para resolver un único problema grande en el menor tiempo posible. A menudo, un sistema capaz es capaz de resolver un problema de un tamaño o complejidad que ningún otro ordenador puede, por ejemplo, una aplicación de simulación meteorológica muy compleja . [102]
Por el contrario, normalmente se piensa que la informática de capacidad utiliza potencia informática eficiente y rentable para resolver unos pocos problemas algo grandes o muchos problemas pequeños. [102] Las arquitecturas que se prestan para soportar a muchos usuarios en tareas rutinarias cotidianas pueden tener mucha capacidad, pero normalmente no se consideran supercomputadoras, dado que no resuelven un solo problema muy complejo. [102]
En general, la velocidad de las supercomputadoras se mide y compara en FLOPS (operaciones de punto flotante por segundo) y no en términos de MIPS (millones de instrucciones por segundo), como es el caso de las computadoras de uso general. [103] Estas mediciones se usan comúnmente con un prefijo SI como tera- , combinado en la abreviatura TFLOPS (10 12 FLOPS, pronunciado teraflops ), o peta- , combinado en la abreviatura PFLOPS (10 15 FLOPS, pronunciado petaflops ). Petaescala Las supercomputadoras pueden procesar mil billones (10 15 ) (1000 billones) de FLOPS. Exascale es el rendimiento informático en el rango de exaFLOPS (EFLOPS). Un EFLOPS es un quintillón (10 18 ) FLOPS (un millón de TFLOPS). Sin embargo, el rendimiento de una supercomputadora puede verse gravemente afectado por las fluctuaciones provocadas por elementos como la carga del sistema, el tráfico de la red y los procesos concurrentes, como lo mencionan Brehm y Bruhwiler (2015). [104]
Ningún número por sí solo puede reflejar el rendimiento general de un sistema informático; sin embargo, el objetivo del punto de referencia Linpack es aproximar la rapidez con la que la computadora resuelve problemas numéricos y se utiliza ampliamente en la industria. [105] La medición FLOPS se cita en función del rendimiento teórico de punto flotante de un procesador (derivado de las especificaciones del procesador del fabricante y mostrado como "Rpeak" en las listas TOP500), que generalmente es inalcanzable cuando se ejecutan cargas de trabajo reales, o el rendimiento alcanzable. , derivado de los puntos de referencia LINPACK y mostrado como "Rmax" en la lista TOP500. [106] El punto de referencia LINPACK normalmente realiza la descomposición LU de una matriz grande. [107] El rendimiento de LINPACK da alguna indicación del rendimiento para algunos problemas del mundo real, pero no necesariamente coincide con los requisitos de procesamiento de muchas otras cargas de trabajo de supercomputadoras, que por ejemplo pueden requerir más ancho de banda de memoria, o pueden requerir un mejor rendimiento de computación de enteros, o Es posible que necesite un sistema de E/S de alto rendimiento para lograr altos niveles de rendimiento. [105]
Desde 1993, los superordenadores más rápidos se han clasificado en la lista TOP500 según los resultados de las pruebas comparativas LINPACK . La lista no pretende ser imparcial ni definitiva, pero es una definición actual ampliamente citada de la supercomputadora "más rápida" disponible en un momento dado.
Esta es una lista de las computadoras que aparecieron en la parte superior de la lista TOP500 desde junio de 1993, [108] y la "velocidad máxima" se da como la calificación "Rmax". En 2018, Lenovo se convirtió en el mayor proveedor mundial de supercomputadoras TOP500 con 117 unidades producidas. [109]
Las etapas de la aplicación de una supercomputadora se pueden resumir en la siguiente tabla:
La computadora IBM Blue Gene /P se ha utilizado para simular una cantidad de neuronas artificiales equivalente a aproximadamente el uno por ciento de la corteza cerebral humana, que contiene 1.600 millones de neuronas con aproximadamente 9 billones de conexiones. El mismo grupo de investigación también logró simular con un superordenador un número de neuronas artificiales equivalente a todo el cerebro de una rata. [121]
La previsión meteorológica moderna también se basa en supercomputadoras. La Administración Nacional Oceánica y Atmosférica utiliza supercomputadoras para procesar cientos de millones de observaciones y ayudar a que los pronósticos meteorológicos sean más precisos. [122]
En 2011, los desafíos y dificultades para ir más allá en la supercomputación quedaron subrayados por el abandono por parte de IBM del proyecto de petaescala Blue Waters . [123]
El Programa de Computación y Simulación Avanzada utiliza actualmente supercomputadoras para mantener y simular el arsenal nuclear de los Estados Unidos. [124]
A principios de 2020, la COVID-19 ocupaba un lugar central en el mundo. Las supercomputadoras utilizaron diferentes simulaciones para encontrar compuestos que potencialmente pudieran detener la propagación. Estas computadoras funcionan durante decenas de horas utilizando múltiples CPU en paralelo para modelar diferentes procesos. [125] [126] [127]
En la década de 2010, China, Estados Unidos, la Unión Europea y otros compitieron para ser los primeros en crear una supercomputadora de 1 exaFLOP (10 18 o un quintillón de FLOPS). [128] Erik P. DeBenedictis de Sandia National Laboratories ha teorizado que se requiere una computadora zettaFLOPS (10 21 o un sextillón de FLOPS) para lograr un modelado meteorológico completo , que podría cubrir con precisión un lapso de tiempo de dos semanas. [129] [130] [131] Estos sistemas podrían construirse alrededor de 2030. [132]
Muchas simulaciones de Monte Carlo utilizan el mismo algoritmo para procesar un conjunto de datos generado aleatoriamente; particularmente, ecuaciones integrodiferenciales que describen procesos de transporte físico , caminos aleatorios , colisiones y deposiciones de energía y momento de neutrones, fotones, iones, electrones, etc.El siguiente paso para los microprocesadores puede ser la tercera dimensión ; y centrándose en Monte Carlo, las muchas capas podrían ser idénticas, simplificando el proceso de diseño y fabricación. [133]
El costo de operar supercomputadoras de alto rendimiento ha aumentado, principalmente debido al creciente consumo de energía. A mediados de la década de 1990, una de las 10 mejores supercomputadoras requería alrededor de 100 kilovatios; en 2010, las 10 mejores supercomputadoras requerían entre 1 y 2 megavatios. [134] Un estudio de 2010 encargado por DARPA identificó el consumo de energía como el desafío más generalizado para lograr la computación exaescala . [135] En ese momento, un megavatio por año en consumo de energía costaba alrededor de 1 millón de dólares. Se construyeron instalaciones de supercomputación para eliminar de manera eficiente la creciente cantidad de calor producida por las modernas unidades centrales de procesamiento de múltiples núcleos . Según el consumo de energía de los superordenadores de la lista Green 500 entre 2007 y 2011, un superordenador con 1 exaFLOPS en 2011 habría necesitado casi 500 megavatios. Los sistemas operativos se desarrollaron para el hardware existente para conservar energía siempre que sea posible. [136] Los núcleos de CPU que no se utilizaron durante la ejecución de una aplicación paralelizada se pusieron en estados de bajo consumo, lo que produjo ahorros de energía para algunas aplicaciones de supercomputación. [137]
El costo creciente de operar supercomputadoras ha sido un factor impulsor de una tendencia hacia la agrupación de recursos a través de una infraestructura de supercomputadoras distribuidas. Los primeros centros nacionales de supercomputación surgieron en Estados Unidos, seguidos por Alemania y Japón. La Unión Europea lanzó la Asociación para la Computación Avanzada en Europa (PRACE) con el objetivo de crear una infraestructura de supercomputadoras paneuropea persistente con servicios para ayudar a los científicos de toda la Unión Europea a trasladar, escalar y optimizar aplicaciones de supercomputación. [134] Islandia construyó la primera supercomputadora de cero emisiones del mundo. Ubicada en el Centro de Datos Thor en Reykjavík , Islandia, esta supercomputadora depende de fuentes completamente renovables para su energía en lugar de combustibles fósiles. El clima más frío también reduce la necesidad de refrigeración activa, lo que la convierte en una de las instalaciones más ecológicas del mundo de las computadoras. [138]
La financiación del hardware de supercomputadoras también se volvió cada vez más difícil. A mediados de la década de 1990, un superordenador de los 10 primeros costaba unos 10 millones de euros, mientras que en 2010 los 10 mejores superordenadores requerían una inversión de entre 40 y 50 millones de euros. [134] En la década de 2000, los gobiernos nacionales pusieron en marcha diferentes estrategias para financiar las supercomputadoras. En el Reino Unido, el gobierno nacional financió íntegramente las supercomputadoras y la informática de alto rendimiento quedó bajo el control de una agencia nacional de financiación. Alemania desarrolló un modelo de financiación mixta, combinando financiación estatal local y financiación federal. [134]
Ejemplos de supercomputadoras en la ficción incluyen HAL 9000 , Multivac , The Machine Stops , GLaDOS , The Evitable Conflict , Vulcan's Hammer , Colossus , WOPR , AM y Deep Thought . Se mencionó al Cray X-MP como el superordenador utilizado para secuenciar el ADN extraído de parásitos conservados en la serie Jurassic Park .
realizando 376 millones de cálculos por cada vatio de electricidad utilizado.
IBM... Sistema BlueGene/Q... estableciendo un récord en eficiencia energética con un valor de 1.680 MFLOPS/W, más del doble que el siguiente mejor sistema.
{{cite web}}
: Mantenimiento CS1: posdata ( enlace )