Programas para computación avanzada

Las máquinas de computación en paralelo plantean otro reto fundamental: redactar programas que realicen muchas cosas simultáneamente. ¿Cómo organizar una colmena de actividades para que formen un todo coherente?

Los ordenadores son demasiado lentos. Ni siquiera la máquina convencional más veloz puede habérselas con más de un par de centenares de millones de multiplicaciones por segundo. ¿Qué hacer entonces con los problemas difíciles, por ejemplo, la simulación de las interacciones en sistemas de átomos? Incluso en los sistemas atómicos, tales simulaciones pueden requerir semanas de funcionamiento continuo de las máquinas más rápidas hoy disponibles. Son muchos los problemas importantes cuya dificultad es por lo menos igual a la de los aludidos: desde la simulación de la mutua atracción gravitatoria de objetos celestes, pasando por problemas de mecánica de fluidos, que desempeñan un papel fundamental en la predicción meteorológica, hasta el examen rápido de ingentes bases de conocimientos, cuestión esta que adquiere relevancia creciente en inteligencia artificial.

Una solución provisional consiste en tratar de conferir más velocidad al ordenador secuencial al uso, que ejecuta las instrucciones una tras otra por medio de una unidad central de procesamiento, mejorando sus circuitos y su organización interna. Pero la solución a largo plazo reside en el paralelismo, esto es, en interconectar muchos ordenadores y aplicar toda su potencia de cómputo conjunta a la resolución de un mismo problema. Diez ordenadores idénticos, que trabajasen en tándem, resolverían un problema, en el caso óptimo, diez veces antes que un ordenador que operara en solitario. Esa es la razón de que se encuentren ya en el mercado ordenadores en paralelo que disponen de decenas, centenares a millares de procesadores, de subordenadores. La fabricación de una computadora de funcionamiento en paralelo plantea varios problemas técnicos, muchos de ellos relativos a las vías de comunicación entre los procesadores [véase "Nuevas arquitecturas para computación avanzada", por Geoffrey C. Fox y Paul C. Messina, en este número]. A diferencia de las estrategias para dotar de mayor velocidad a los ordenadores tradicionales, que sólo obligan a ligeros retoques en el estilo de programación, la computación en paralelo plantea también serios problemas de programación.

Puedes obtener el artículo en...

¿Tienes acceso a la revista?

Los boletines de Investigación y Ciencia

Elige qué contenidos quieres recibir.