13
73 Autores cientfico-tØcnicos y acadØmicos Jeremiah P. Ostriker, astrofsico en la Universidad de Princeton, ha dicho que no hace aœn muchos aæos, la cosmolo- ga era mÆs teologa que ciencia. Y ha aæadido, los supercomputadores han ayudado a cambiar esa opinin. 1. INTRODUCCIN Y OBJETIVOS La simulacin es una de las tØcnicas mÆs importan- tes utilizadas en el Æmbito de la computacin. Puede verse la huella de esa tØcnica en muchas Æreas del campo cientfico como la previsin del cambio climÆti- co, monitorizacin de los reactores nucleares o la mejo- ra de la eficiencia de los productos de automocin. La simulacin por ordenador juega hoy da un papel indis- cutible al facilitar soluciones a la gran mayora de los retos y problemas tØcnicos y cientficos planteados. Los profesionales que utilizan la simulacin como herramienta bÆsica disponen de una potencia de cÆlcu- lo muy notable debido a los avances en la tecnologa del hardware de los computadores. Todava mÆs si se tiene en cuenta la utilizacin de las redes y del procesa- miento masivamente paralelo. En resumen, la investigacin cientfica y el desarro- llo tØcnico estÆn soportados, hoy da, en un alto grado, por tØcnicas de simulacin computacional o simulacin numØrica; con ello es posible la experimentacin, el contraste de hiptesis y, como consecuencia, la verifica- cin de las teoras, todo lo cual evita el experimento fsico directo que consume mucho tiempo e incluso, en muchos casos, es imposible de realizar, por razones econmicas, polticas o medioambientales. La meta de hoy, en un mercado que evoluciona muy rÆpidamente, es la de crear una fabricacin Ægil de todo tipo de productos y con una necesidad limitada de prototipos. Ello conlleva la realizacin de simulacio- nes grandes, rÆpidas y complejas. Estas ideas y tendencias no son nuevas. Llevamos una dØcada manejando la misma filosofa para justificar con ello el procesamiento paralelo mediante supercom- putadores como œnica solucin a los problemas tØcnicos actuales, solucin basada en tØcnicas de simulacin. Estas son las opiniones de profesores, investigadores y tØcnicos relevantes como W. J. Camp y S. J. Plimpton de Sandia Nacional Lab, en Alburquerque o de A. S. Jacobson y A. L. Berkin de Jet Propulsion Lab, en Cali- fornia. [Communications of the ACM, Vol 37, Num 4]. Desde las primeras etapas del proceso electrnico de la informacin, siempre se han utilizado las mÆqui- FØlix Garca Merayo Dr. y Ldo. en InformÆtica Profesor Titular de Universidad-UPM Vicepresidente de ACTA Aplicaciones de la supercomputacin Aplicaciones de la supercomputacin

Aplicaciones de la supercomputación - acta.es · ción se compila los meses de junio y noviembre de ... de las tres etapas anteriores constituyen lo que se denomina un programa paralelocompleto

Embed Size (px)

Citation preview

73Autores científico-técnicos y académicos

Jeremiah P. Ostriker, astrofísico en laUniversidad de Princeton, ha dicho que�no hace aún muchos años, la cosmolo-gía era más teología que ciencia�. Y haañadido, �los supercomputadores han

ayudado a cambiar esa opinión�.

1. INTRODUCCIÓN Y OBJETIVOSLa simulación es una de las técnicas más importan-

tes utilizadas en el ámbito de la computación. Puedeverse la huella de esa técnica en muchas áreas delcampo científico como la previsión del cambio climáti-co, monitorización de los reactores nucleares o la mejo-ra de la eficiencia de los productos de automoción. Lasimulación por ordenador juega hoy día un papel indis-cutible al facilitar soluciones a la gran mayoría de losretos y problemas técnicos y científicos planteados.

Los profesionales que utilizan la simulación comoherramienta básica disponen de una potencia de cálcu-lo muy notable debido a los avances en la tecnologíadel hardware de los computadores. Todavía más si setiene en cuenta la utilización de las redes y del procesa-miento masivamente paralelo.

En resumen, la investigación científica y el desarro-llo técnico están soportados, hoy día, en un alto grado,por técnicas de simulación computacional o simulaciónnumérica; con ello es posible la experimentación, elcontraste de hipótesis y, como consecuencia, la verifica-ción de las teorías, todo lo cual evita el experimentofísico directo que consume mucho tiempo e incluso, enmuchos casos, es imposible de realizar, por razoneseconómicas, políticas o medioambientales.

La meta de hoy, en un mercado que evolucionamuy rápidamente, es la de crear una fabricación ágil detodo tipo de productos y con una necesidad limitadade prototipos. Ello conlleva la realización de simulacio-nes grandes, rápidas y complejas.

Estas ideas y tendencias no son nuevas. Llevamosuna década manejando la misma filosofía para justificarcon ello el procesamiento paralelo mediante supercom-putadores como única solución a los problemas técnicosactuales, solución basada en técnicas de simulación.Estas son las opiniones de profesores, investigadores ytécnicos relevantes como W. J. Camp y S. J. Plimpton deSandia Nacional Lab, en Alburquerque o de A. S.Jacobson y A. L. Berkin de Jet Propulsion Lab, en Cali-fornia. [Communications of the ACM, Vol 37, Num 4].

Desde las primeras etapas del proceso electrónicode la información, siempre se han utilizado las máqui-

Félix García MerayoDr. y Ldo. en Informática

Profesor Titular de Universidad-UPMVicepresidente de ACTA

Aplicaciones de la supercomputaciónAplicaciones de la supercomputación

74 Autores científico-técnicos y académicos

nas más potentes para resolver las aplicaciones científi-cas y las relativas a la ingeniería de cualquier tipo. Yesta tendencia todavía persiste. Nos centraremos en elárea de desarrollo de problemas científicos basados enarquitecturas MIMD.

Una reseña de las aplicaciones más significativasque se ejecutan o simulan en arquitecturas realesincluiría:

• Circulación atmosférica global o previsión deltiempo en 3D

• Dinámica de fluidos • Cromodinámica cuántica• Flujo de la sangre en el corazón• Dinámica molecular• Evolución de las galaxias

La publicación Computer de IEEE, febrero 2004,en un artículo relativo a las tendencias de la industria,indicaba una aplicación que será operativa en el 2005.

La compañía IBM ha introducido una pequeñamáquina prototipo (del tamaño de una lavadora) dealtas prestaciones a la que le ha dado el nombre de BlueGene/L, máquina con un bajo consumo de energía y,por tanto, económica y con un bajo nivel de disipacióncalorífica, características que los supercomputadores nosiempre satisfacen: muchos de ellos poseen una alta can-tidad de procesadores muy rápidos y próximos entre sígeneradores de altas temperaturas y que deben trabajarpor períodos limitados de tiempo.

IBM ha balanceado en este super, rendimiento yconsumo de energía mediante la utilización de un grannúmero de procesadores todos ellos de baja potencia.En este sentido, Blue Gene/L alcanza los 1,4 Tflops,situándolo así en el puesto 73 de la lista Top500 de lossuperordenadores más rápidos del mundo. Esta rela-ción se compila los meses de junio y noviembre decada año interviniendo investigadores de las universi-dades de Mannheim y de Tennessee junto con el Law-rence Berkeley National Laboratory.

Blue Gene/L utiliza 512 unidades de proceso de laserie PowerPC 440 a 700 MHz pero con una frecuen-cia real de solo 500 MHz, precisamente para, de estemodo, minimizar la disipación de calor. Cada CPUcontiene dos PowerPC, cada una de ellas dotada condos unidades de aritmética de coma flotante.

Este supercomputador es un prototipo para un sis-tema gubernamental estadounidense, el ASCI Purple,Accelerated Strategic Computing Iniciative, conocido

recientemente con el nombre de Advanced Simulationand Computing Program, que podríamos traducir porsistema de Simulación Avanzada y Programa de Com-putación.

El prototipo, una vez consolidado, será utilizado porla institución Lawrence Livermore National Laboratoryen el 2005 para modelar el desdoblamiento de proteí-nas humanas en la investigación médica.

2. ETAPAS QUE CONDUCEN A LA PARALELIZACIÓNVeamos de cerca las etapas del proceso de creación

de programas paralelos a partir de un algoritmo o pro-grama secuencial ya existente. En relación con lodicho, en muchas ocasiones, un buen algoritmosecuencial de un problema contribuye y apoya unaparalelización posterior sencilla; en otras, se hace nece-sario el diseño y creación de un algoritmo nuevo.

El trabajo de paralelización [Supercomputación,Manual Formativo 30] conlleva: la identificación deaquellas partes de un algoritmo que pueden procesarsea la vez, en paralelo; determinar cómo distribuir el tra-bajo y los datos del problema entre los elementos deproceso de que se disponga; gestionar el acceso a esosdatos, comunicar éstos entre sí y sincronizar todo el tra-bajo de forma global. Cuando hablamos de trabajo,nos referimos a la computación, al acceso a los datos ya la entrada y salida de información.

Las etapas de un proceso para la creación de unprograma paralelo las puede realizar el programador oel propio software de sistemas, enlace entre el progra-mador y la arquitectura de la máquina. Este softwarese compone de: compilador, programa en código y sis-tema operativo. La meta de la investigación actual secentra en el diseño y producción de compiladoresparalelizantes y en los lenguajes paralelos, aunque elideal sería encontrar una paralelización automática einteligente con la mínima intervención del hombre.

Antes de examinar con más detalle el proceso deparalelización de un algoritmo, de un programa, vamosa establecer formalmente algunos conceptos informáti-cos que consideramos previos y necesarios.

• Tarea. Parte cualquiera de un trabajo realizadopor un programa de ordenador. Es la unidad máspequeña que puede explotar, en concurrenciacon otras, un programa paralelo. O lo que es lo

Aplicaciones de la supercomputaciónSuperComputación

75Autores científico-técnicos y académicos

mismo: una tarea concreta la ejecuta un solo pro-cesador del sistema de computación y, como con-secuencia, la concurrencia entre procesadores seexplota mediante la ejecución de varias tareas almismo tiempo.

Si la cantidad de trabajo que la tarea lleva a caboes pequeña, se dice que la tarea es de granofino, fine grained; en otro caso, será de granogrueso, coarse grained.

• Proceso. Entidad abstracta que realiza tareas. Unprograma paralelo se compone de varios proce-sos cooperativos, cada uno de los cuales ejecutaun subconjunto de tareas de un programa. Lastareas se identifican con los procesos mediante unmecanismo de asignación tarea/s-proceso.

En lenguaje coloquial, un proceso es un segmen-to de código que se procesa en un determinadoprocesador de forma concurrente con otros pro-cesos.

• Procesador. Recurso físico donde se ejecutanprocesos. Los programas paralelos se escriben enfunción de los procesos necesarios y no de losprocesadores físicos de que se dispone; los proce-sos se aplican o asignan posteriormente a los pro-cesadores disponibles del sistema de computa-ción.

• Red de interconexión. Red física capaz deconectar entre sí los procesadores del sistema decomputación paralela.

Dados estos conceptos, veamos cuáles son las eta-pas de creación de un programa paralelo, que se ilus-tran en la Figura 1:

1. Descomposición del algoritmo en tareas.2. Asignación de tareas a los procesos.

3. Coordinación de: acceso a los datos, comuni-cación y sincronización entre procesos.

4. Aplicación o vinculación de los procesos conlos procesadores.

Veamos un poco más de cerca cada una de esasetapas.

Descomposición. Separar en partes la computacióntotal, de forma que las tareas estén disponibles diná-micamente a medida que el programa se va ejecutan-do. En un instante determinado del tiempo, cuantomayor sea el número de tareas disponibles en la ejecu-ción mayor será el número de procesos y, por tanto,de procesadores que entrarán en acción de formaefectiva.

En general, dado un problema de un cierto tamañoy su correspondiente descomposición en tareas, puedeconstruirse un perfil de concurrencia, concurrencyprofile, indicador de cuántas operaciones o tareas de laaplicación se realizan a la vez, en un instante determi-nado, lo que nos dará el aprovechamiento del sistematotal en cada momento, es decir, el equilibrio de ocu-pación de cada uno y todos los procesadores.

Asignación. Por asignación quiere significarse elmecanismo mediante el cual las tareas se distribuyenentre los procesos, es decir, qué proceso es responsablede qué parte de la computación. El objetivo en estaetapa debe ser equilibrar la carga entre procesos parareducir así la comunicación entre los mismos, opera-ción que suele ser la más cara, sobre todo cuando pro-cesos diferentes se ejecutan en procesadores tambiéndiferentes. Ese hecho se conoce con el nombre deequilibrio de cargas, load balancing. La carga detrabajo a equilibrar, comprende: la computación pro-piamente dicha, la entrada/salida y el acceso o comuni-cación a/entre los datos.

Aplicaciones de la supercomputaciónSuperComputación

Figura 1. Etapas de la paralelización de una aplicación

76 Autores científico-técnicos y académicos

Coordinación. Esta etapa se refiere, de forma parti-cular, al momento en el que se escriben los programasmediante un lenguaje de programación concreto,teniendo en cuenta: cómo organizar las estructuras delos datos, cómo planificar las tareas asignadas a unproceso para explotar así la localidad de los datos ycómo organizar y expresar la comunicación y sincroni-zación entre procesos. Por tanto, los dos agentes quejuegan aquí el papel más importante son la arquitectu-ra hardware del sistema paralelo y el modelo de pro-gramación adoptado.

Aplicación. Los procesos cooperativos resultantesde las tres etapas anteriores constituyen lo que sedenomina un programa paralelo completo. Este pro-grama puede controlar por sí mismo la vinculación oasociación entre procesos y procesadores o bien dejaresa misión para que sea realizada por el sistema opera-tivo encargado de llevar a cabo una ejecución paralelade la aplicación.

Tabla 1. Etapas de la paralelización, recursos y objetivos

Trataremos ahora de identificar y describir en ciertomodo las grandes familias de aplicaciones que se eje-cutan en los supercomputadores de hoy día sin aspirara conseguir una relación exhaustiva de las mismas nide pormenorizar ninguna de ellas.

La mayor parte de las aplicaciones que pueden serparalelizadas, es decir, que contienen un alto grado deparalelismo para poder ser subdivididas y distribuidasentre los distintos elementos de proceso de un super-computador, pertenecen a dos categorías generales:

1. Proceso numérico. Nos referimos a las aplica-ciones científicas y de ingeniería las cuales pre-sentan grandes problemas de computación: cál-culo de partículas en el plasma; dinámica de flui-dos, como el modelo de previsión del tiempo oel diseño de aviones; diseño asistido por ordena-dor, CAD, y otras muchas.

2. Proceso simbólico. Incluyen los sistemas debase de datos, las aplicaciones de Inteligencia Arti-ficial, IA, como, por ejemplo, los sistemas expertoso los sistemas de percepción y planificación.

Estas dos categorías se distinguen, entre otrascosas, por la relación entre los cálculos a ejecutar y elmovimiento de los datos entre todos los procesadoresque posea el sistema de computación.

3. CARACTERÍSTICAS GENERALES DE LAS APLICACIONES CIENTÍFICASEn general, las aplicaciones científicas y, como con-

secuencia, también las pertenecientes al campo de laingeniería, poseen un número de características comu-nes que se hacen patentes en los programas de orde-nador con los que se da solución eficiente a unas yotras. Enumeraremos, en primer lugar, las caracterís-ticas de los cálculos para después analizar lascaracterísticas de los datos con los que se realizantales cálculos.

Aunque estas características son muy generales, seencuentran sin embargo en prácticamente todas lasaplicaciones importantes ejecutadas sobre supercom-putadores.

Características de los cálculos• Una estructura básica y frecuente en los progra-

mas de ordenador es el bucle o iteración: eje-cución repetida de una serie de instrucciones demáquina en las que sólo cambian algunas varia-bles o índices, estos últimos representados pornúmeros enteros, manteniéndose constante elresto del cuerpo del programa.

• El volumen de los cálculos es muy considera-ble, es decir, los modelos que el usuario se pro-pone ejecutar con el computador sobrepasan confrecuencia las posibilidades de los ordenadoresmás potentes, ya sea por consideraciones dememoria insuficiente como por velocidad noapropiada.

• Las dos características precedentes correspondencon mucha frecuencia a la resolución de siste-mas de ecuaciones de todo tipo mediante eluso de algoritmos iterativos, abundantes en labibliografía del Cálculo Numérico.

Aplicaciones de la supercomputaciónSuperComputación

77Autores científico-técnicos y académicos

Características de los datos de partida• Los datos que intervienen en este tipo de aplica-

ciones son datos del campo algebraico real y portanto, desde el punto de vista informático, ven-drán expresados en coma flotante. Ello conllevasiempre la necesidad de manejar grandes preci-siones, es decir, gran cantidad de cifras significati-vas en los mismos.

• En todo modelo, la cantidad de datos a mane-jar es considerable y, por tanto, se hace necesa-rio disponer de memorias de gran capacidad.

4. ESTRUCTURA DE LAS GRANDES APLICACIONES CIENTÍFICASNos vamos a apoyar en un ejemplo: la dinámica de

fluidos aplicada a la aerodinámica. La dinámica defluidos no es propiamente una aplicación sino másbien una técnica general empleada en un cierto núme-ro de aplicaciones: la aeronáutica, el automóvil, lameteorología, el estudio del flujo del aire a través deuna turbina, el movimiento de un líquido a través deuna red. Por tanto, una gran parte de las aplicacionesprocesadas en los superordenadores, se basan en lateoría general de la dinámica de fluidos.

El ejemplo de la aerodinámica que vamos a anali-zar a continuación permite evidenciar la contribucióndel superordenador y los problemas derivados. Detodas formas, la simulación digital que se aplica,muchas veces no excluye el que también haya que eje-cutar una simulación analógica ya que ambas técnicas,en este caso, son complementarias.

El problema consiste en un análisis de los flujosaerodinámicos en torno a un objeto en movimiento. Elobjetivo es determinar en cada uno de los puntos delmedio, y en cada instante del tiempo, el valor de losparámetros representativos como, la presión, la tempe-ratura, etc. El algoritmo matemático que se aplica es elcorrespondiente a las ecuaciones de Navier-Stokes, lascuales expresan la conservación de la masa, delmomento y de la energía y constituyen un sistema deecuaciones diferenciales en derivadas parciales. El totalde éstas sobrepasa las sesenta.

Figura 2. Discretización del espacio entorno a un avión

El problema con el que nos encontramos es que noes posible resolver tal sistema de ecuaciones de una

LA NOTACIÓN CIENTÍFICACuando se emplean cantidades del campo real

en un sistema de computación, se opera con ellassiguiendo una técnica especial que se denominaaritmética de la coma flotante. Esos númerosreales se representan entonces, utilizando una nota-ción conocida con el nombre de notación científi-ca o también de coma flotante. Por ejemplo, ladistancia de la Tierra al Sol es de unos149500000000 metros, cantidad muy grande y congran abundancia de ceros para ser manejada consencillez. Haciendo uso de la notación científica encoma flotante, podríamos escribirla así: 1.495,0 x108. De igual manera, un número extremadamentepequeño como sería 0,000000004321, podríamosescribirlo como 0,4321 x 10-8. En estas representa-ciones, la coma decimal se desplaza o flota deacuerdo al valor del exponente de 10. Así, la distan-cia del primer ejemplo podría escribirse de variasformas:

1495,0 x 108 = 149,5 x 109 = 1,495 x 1011 = ....

La parte fraccionaria que precede a la potenciade 10, se denomina mantisa.

Con esta notación se facilita la percepción delnúmero, es decir, de su orden de magnitud, siempreconservando el grado de precisión que no es másque el total de cifras significativas, cifras distintas decero, que posee la mantisa. La precisión de las man-tisas del ejemplo último es siempre de cuatro cifrassignificativas.

En las aplicaciones científicas o de ingeniería eluso de la aritmética de coma flotante es algo sin locual no sería posible la computación de las mismas.

Aplicaciones de la supercomputaciónSuperComputación

78 Autores científico-técnicos y académicos

forma exacta; es necesario recurrir a métodos aproxi-mados, es decir, utilizar métodos numéricos, conocidosglobalmente como método de las diferencias finitas.

EL ALGORITMO

Las ecuaciones de Navier-Stokes aplicables al movi-miento de un fluido viscoso son un caso particularde la ecuación del transporte de Boltzmann aplica-ble también al flujo de electrones en un semiconduc-tor. Esta ecuación, en teoría de campos, se escribede la forma vectorial siguiente:

siendo: (x, y, z) las coordenadas de posición de unapartícula del fluido; V (x, y, z, t) su velocidad corres-pondiente, de componentes respectivas, Vx, Vy, Vz,(= dx/dt, etc.); t, la variable tiempo; es el opera-dor gradiente; ρ la densidad, P la presión,

→F el vec-

tor fuerza y υ la viscosidad.

La ecuación vectorial anterior equivale a tres ecua-ciones escalares que se obtienen reemplazandosucesivamente el vector velocidad del fluido

→V por

sus respectivas componentes, Vx,Vy y Vz. Éstas, a suvez, conducen a la ecuación del movimiento o ecua-ción del momento, a dos ecuaciones de continuidady a la ecuación del equilibrio de la energía, tambiénconocida como primera ley de la termodinámica oprincipio de la conservación de la energía.

Existe otro método que lleva el nombre general deelementos finitos, muy empleado para el análisis deestructuras en la ingeniería civil. Es un método muyadecuado al estudio y simulación del medio continuo.El algoritmo matemático sobre el que descansa vuelvea ser un sistema de ecuaciones diferenciales en deriva-das parciales no resoluble de forma exacta y si median-te métodos numéricos aproximados que conducen aecuaciones algebraicas polinómicas. En lugar de discre-tizar el entorno en estudio por puntos, ese entorno sedecompone en elementos. En la Figura 3 se muestra ladiferencia entre ambos métodos. En (a) el entorno seha discretizado mediante una malla a la que se aplicarálas diferencias finitas; en (b) el medio se ha descom-puesto en elementos superficiales que lo recubren total-mente y sobre ellos se aplicarán las técnicas de elemen-tos finitos.

(a)

(b)

Figura 3. Rejillas para diferencias finitas (a) y para elementos finitos (b)

Volviendo a la aplicación de dinámica de fluidos, latécnica que se aplica es la de discretizar la región obje-to del estudio sustituyéndola, como acaba de decirse,por una malla o rejilla de puntos, es decir, el númeroinfinito de puntos que constituyen el medio continuoreal se reemplaza por un número finito de puntos. Enla Figura 2 se representa esta discretización en tresdimensiones. La discretización de un medio continuopermite, entonces, una simplificación de la formulaciónmatemática del problema.

Esa operación transforma el sistema de ecuacionesen derivadas parciales citado en otro de ecuacionesalgebraicas ordinarias, cuya resolución, como hemosdicho, conduce a la determinación de un valor aproxi-mado de los parámetros del problema en cada uno delos puntos de la rejilla o malla. Ese sistema de ecuacio-nes algebraicas será, con toda seguridad, de un ordenmuy elevado, en correspondencia con el también ele-vado número de puntos de la rejilla donde se aplicanlas hipótesis. Los superordenadores permiten trataresos sistemas, y sus algoritmos correspondientes, deforma muy rápida.

Hasta aquí habríamos aplicado técnicas y operacio-nes definidas más arriba: descomposición y asignación.

Cómo será la estructura de la programación odicho de otra manera, una vez discretizado el medio,cómo procederá la computación.

1. Se adjudica un valor inicial, la mejor estimación,a los distintos parámetros.

2. Se aplica un algoritmo iterativo a esos valoresiniciales. Tal algoritmo está constituido por unasecuencia de operaciones cuyos datos de entradason los valores iniciales y produce como salidaresultados intermedios que son utilizados por laiteración siguiente.

VVFPVVt

V

dt

Vd rrrrrrr

•∇∇+∇•∇++∇−=∇•+∂∂=

3)(

1)(

υυρ

Aplicaciones de la supercomputaciónSuperComputación

· · ·

79Autores científico-técnicos y académicos

3. Esos resultados intermedios constituyen unanueva entrada al algoritmo con el que se produ-ce un nuevo conjunto de resultados intermediosque serán, sin duda, más cercanos a la solucióndefinitiva que los intermedios previos.

4. Esta operación basada en iteraciones sucesivasse repite un elevado número de veces, hasta con-seguir unos resultados que se consideren sufi-cientemente próximos a la solución exacta. Téc-nicamente se dice que, hasta que el algoritmoconverja.

Los pasos precedentes ponen de manifiesto laestructura de la programación con la que se consiguenresultados aproximados cada vez más próximos a losexactos y que constituyen la base de los algoritmoscientíficos: el bucle o iteración. Esta estructura repeti-tiva contenida en los programas de ordenador es relati-vamente sencilla de distribuir entre los procesadores deun sistema paralelo: cada procesador puede ejecutaruna serie de iteraciones, al mismo tiempo que otro pro-cesador ejecutará otras distintas.

En la Figura 4 se muestra el mismo móvil de laFigura 2 al que se le han añadido sólo algunos puntosde la rejilla en la que está inmerso. En la Tabla 2 semuestra de forma sintetizada la marcha del procesodescrito anteriormente: una vez adjudicado un valorinicial, iteración 0, al parámetro a investigar en cadapunto de la malla, desde el 0 hasta el m, comienza laejecución del algoritmo, produciendo resultados inter-medios en cada iteración, iteración 1, 2, 3,.., n-1, n.Puede observarse que, la tabla que acumula los cálcu-los, ©, se cumplimenta columna por columna, a medi-da que los cálculos se ejecutan.

Figura 4. Simulación sobre un número discreto de valores

Tabla 2. Marcha de los cálculos sobre los puntos de una rejilla

De la anterior descripción podemos sacar lassiguientes conclusiones:

• La representación discreta del medio o entornoconduce a resultados tanto más precisos cuantomás fina sea la discretización. O lo que es lomismo: el número de puntos que forma la malladebe ser importante, es decir, elevado.

• Una simulación que tenga en cuenta la totalidadde la zona que rodea al móvil, debe ejecutarsesobre una rejilla de varias decenas de millones depuntos para obtener resultados con exactitud sufi-ciente como para que puedan ser aprovechadospor los ingenieros de diseño y producción.

• A cada punto de la rejilla se le asocia un ciertonúmero de valores como, por ejemplo, los pará-metros del problema, los elementos de la geome-tría, los resultados intermedios. En algunos pro-blemas, el número de esos valores asciende avarias decenas.

• Si se considera una rejilla discreta de 107 puntos,con 20 valores por punto, el modelo de simula-ción considerado en este ejemplo comportaría2x108 datos iniciales.

• Los procesos de discretización descritos sobrepa-san en mucho las posibilidades de un computa-dor convencional. De ahí, la necesidad de dispo-ner de supercomputadores para llevar a caboestas ejecuciones.

A la hora de entrar en la ejecución de los bucleshabremos tenido que pensar y decidir en cómo coordi-nar esa ejecución que necesariamente será paralela y,como consecuencia, cuál será la vinculación o aplica-ción del total de bucles a realizar con el total de proce-sadores que constituyen el sistema paralelo de que sedisponga.

5. UNA FAMILIA AMPLIA DE APLICACIONESHemos descrito un ejemplo de utilización de los

supercomputadores en un problema de aerodinámica.Existen otras aplicaciones pertenecientes al campo dela dinámica de fluidos de las que vamos a describiralgunas. Los usuarios son generalmente grandes com-pañías o bien organizaciones estatales que disponen deaplicaciones desarrolladas por ellas mismas. Estos son

Aplicaciones de la supercomputaciónSuperComputación

80 Autores científico-técnicos y académicos

los campos que someramente vamos a describir:

• Meteorología• Termodinámica• Oceanografía• Industria del petróleo

La meteorologíaLas aplicaciones en este campo comprenden el

análisis de turbulencias y la simulación de la atmósfera,con resultados sobre la previsión del tiempo y la clima-tología en general. Para ello, la teoría de la dinámicade fluidos ya citada representa el agente principal sinolvidar otros fenómenos como, la evaporación, la con-densación, el calor del sol, la física de la formación delas nubes, etcétera.

El usuario se ve forzado al empleo de los grandesordenadores para conseguir modelos más y más com-pletos donde poder integrar un gran número de pará-metros.

El centro europeo de previsión meteorológica amedio plazo, siete días, está instalado en Gran Bretañay la zona de estudio es el Noroeste de Europa, zonadiscretizada bajo una malla tridimensional que com-prende quince capas horizontales cada una de 400 Kmde lado. Los datos se toman diariamente y provienende fuentes diferentes: estaciones terrestres, satélitesmeteorológicos, globos sonda, barcos y aviones delínea. Dada la diversidad de las fuentes de los datos,éstos, antes de entrar en el modelo, son depurados yhomogeneizados.

El modelo simulado por la NASA tiene la geometríade una región comprendida entre dos esferas concén-tricas: una correspondiente a la superficie de la cortezaterrestre y la otra, la zona más alta de la atmósfera.Dado que las cantidades que intervienen en el modeloestarán tomadas y definidas en esa región tridimensio-nal, y cada una de ellas variará con el tiempo, el resul-tado es que el problema a resolver es de cuatro dimen-siones.

El modelo de simulación, utilizando los datos másrecientes, se emplea para producir una nueva previsiónmás próxima al instante real y, como consecuencia,corrección de la inmediata anterior. El corazón delmodelo son las leyes de la naturaleza expresadas,como ya se ha dicho, en ecuaciones diferenciales enderivadas parciales; el procedimiento consiste en calcularel estado del modelo en el instante t+∆t a partir del t.

La previsión a largo plazo conlleva una modeliza-ción más fina empleando cálculos aún más volumino-sos que el medio plazo. Actualmente, esta materia,estas aplicaciones, no tienen límite.

La termodinámicaLa termodinámica va más allá incluso que la diná-

mica de fluidos, en el sentido que tiene en cuenta fenó-menos suplementarios debidos a las reacciones quími-cas que se producen entre los propios fluidos que parti-cipan en el proceso en cuestión.

Actualmente existe un área en la que se dan esosprocesos: la ingeniería del motor del automóvil quetrata de optimizar, entre otras cosas, la forma y dimen-siones de las cámaras de combustión para conseguirlos motores más rentables posibles.

Otro área es la ingeniería nuclear. Para la refrigera-ción de los reactores nucleares se emplea un ciertonúmero de fluidos, gases, líquidos y metales líquidos:en este entorno, las relaciones entre las transferenciasde calor y el caudal de fluido son complejas dandolugar a cálculos de mucha intensidad.

La oceanografíaEl estudio de los océanos presenta numerosos pun-

tos de interés: desde la climatología hasta los diversosrecursos del propio océano. Es muy importante la inci-dencia de estas masas líquidas sobre el clima, habidacuenta de la capacidad de agua almacenada, la trans-ferencia de calor que se produce en el propio medio ycon la atmósfera.

Para modelar el clima de la tierra es importanteentender cómo la atmósfera interacciona con los océa-nos que ocupan las tres cuartas partes de la superficieterrestre. Desde este punto de vista, volvemos a encon-trar aquí casi los mismos tipos de problemas que los yadescritos anteriormente con el estudio del modelo deltiempo con la diferencia que supone el hecho de queahora los fenómenos se propagan más lentamente,horas en lugar de segundos, sobre distancias muchomás grandes. Además, estos estudios se hacen con unhorizonte temporal de varios años y no para conocer laprevisión del tiempo para el día siguiente.

Los modelos oceanográficos simulan el movimientode las corrientes del agua del mar, corrientes que sedesarrollan y evolucionan bajo la influencia de diversas

Aplicaciones de la supercomputaciónSuperComputación

81Autores científico-técnicos y académicos

fuerzas físicas, incluyendo los efectos de la atmósfera,vientos y fricción con el fondo marino. En las cercaníasde las costas se da además la fricción vertical, causa decorrientes circulares. El objetivo de estos modelos esdiverso: desde simular esas corrientes circulares a lolargo del tiempo y llegar a entender sus interaccionescon el flujo oceánico, hasta prever cuáles serán en elfuturo los efectos de la transferencia de calor desde unpunto del océano hacia los polos.

Una vez más la solución llega de la mano de la dis-cretización de amplias zonas del océano mediante unamalla o rejilla bidimensional en cada capa horizontal,añadiendo luego una sucesión de capas en profundi-dad. En cada punto de la rejilla intervienen parámetroscomo presión, velocidad, temperatura, etc. El modeloestá basado numéricamente en la resolución de gran-des sistemas de ecuaciones y la simulación conlleva ungasto de tiempo y potencia de máquina que no podrí-an conseguirse resultados eficientes sin la intervenciónde los superordenadores más potentes.

A mayor número de puntos por rejilla, mejor aproxi-mación se obtendrá del modelo. Para el océano Atlánti-co, con una superficie de estudio de 2000x2000 Km2,empleando una rejilla horizontal de 100x100 puntos, loque implicaría una distancia entre puntos por cadadimensión, de 20 Km, no supondría una resolucióndemasiado fina, por lo que sería necesario utilizar unarejilla de más puntos. Para la cuarta dimensión, esdecir, para el tiempo, intervalos cortos conducen a unasimulación más aproximada. Así, para simular 5 añosdel movimiento del océano en intervalos de 8 horas, senecesitarían unos 5500 intervalos de tiempo. Todo loanterior deja claro la necesidad de una computaciónde gran exactitud y de la utilización obligatoria desupercomputadores.

La ingeniería del petróleoSe trata de dos aspectos que, aunque diferentes,

están íntimamente ligados. Por una parte, la búsquedade yacimientos o exploración y, por otra, las técnicasde optimización para obtener una producción máximay económica. El coste del petróleo, bajo tierra o bajo elmar, justifica la inversión en la elaboración de modelosde simulación cuya resolución última se lleva a cabo encomputadores de altas prestaciones.

A medida que se avanza en profundidad, se com-prueba que la Tierra está formada por capas distintas:arena, rocas, minerales varios, etc. Cada una de ellas

posee propiedades diferentes, como ocurre, por ejem-plo, con la densidad. Al producirse una fuente de ener-gía en la superficie, como la originada por una explo-sión controlada, la onda de esa energía se propagahacia el interior de las sucesivas capas terrestres enprofundidad. Y cuando esa onda se encuentra con lacapa frontera entre dos diferentes, una parte de laenergía se refleja y otra se refracta hacia el interior dela Tierra. Figura 5.

Figura 5. Recorridos de una onda expansiva

Mediante la colocación en la superficie de dispositi-vos detectores o geófonos, es posible registrar la ener-gía reflejada. Empleando ecuaciones del tipo espa-cio=velocidad x tiempo, se llega a conocer la profundi-dad de la capa en cuestión. Después los geofísicospodrán levantar mapas con el perfil de cada capadetectada a partir de todos los datos sísmicos tomados.

Una vez recogidos los datos, en forma digital, de lazona en estudio, se procesarán en grandes computado-res. Esta operativa se conoce con el nombre genéricode tratamiento de la señal. El objetivo de la exploracióngeofísica es la determinación de lugares con condicio-nes favorables para la acumulación de crudo. El proce-so conlleva la ejecución de una enorme cantidad decálculos matemáticos, entre los que se encuentran el fil-trado y deconvolución para suprimir información pará-sita, transformaciones diversas, autocorrelación, etc. Seproducen hasta cinco millones de cantidades en comaflotante, por cada kilómetro investigado. Téngase encuenta que un registro típico de los datos tomados encampo, puede contener hasta 3.000 valores diferentesrespecto a la variable tiempo, cada una correspondien-te a los distintos lugares geográficos donde se hacen lasmediciones.

En cuanto a la producción citada al principio, esnecesario destacar que se trata tanto de la perforacióncomo de la definición previa del propio depósito. Esta

Aplicaciones de la supercomputaciónSuperComputación

82 Autores científico-técnicos y académicos

última se lleva a cabo mediante un proceso de simula-ción con el que es posible estimar las reservas de crudoexistentes así como las cantidades a extraer a lo largodel tiempo.

Figura 6. Rejilla 2D para el estudio de un depósito

Con el modelo de simulación se definen de unaforma discreta, como se esquematiza en la Figura 6, elperfil plano que posee el depósito en estudio. A cadapunto o nodo de los que constituyen la rejilla base se leasignan distintos parámetros como, permeabilidad,porosidad, grosor de la roca, presión, etc. Al fluidocontenido en el depósito se le adjudican también otrosparámetros como viscosidad, relación gas/crudo, densi-dad, etc. Y a la roca, su valor de compresibilidad.

Después de los consiguientes cálculos, relativostodos ellos a la mecánica de fluidos simplificados segúnla teoría de las diferencias finitas, será posible conocery, en consecuencia, poder comparar las distintas políti-cas de explotación del depósito.

Realmente el modelo trabaja con esquemas tridi-mensionales lo que encarece el cálculo tanto en tiempocomo en complejidad.

6. APLICACIONES BASADAS EN EL CONTINUORegresando al método de los elementos finitos, des-

crito someramente más arriba, añadir aquí que sucampo de aplicación es muy amplio ya que los medioscontinuos constituyen una parte importante del entor-no objeto de la simulación tanto en la industria comoen la investigación. Por ello es común basarse en esemétodo para resolver problemas de estructuras en

ingeniería civil o dar solución a numerosos fenómenosfísicos cuya formulación matemática conduce a siste-mas de ecuaciones diferenciales en derivadas parcialesque, como hemos advertido, pueden tratarse eficaz-mente mediante ese método.

En la aeronáutica. Citaremos a título de ejemplosolo algunas de las aplicaciones más generales. Análisisestático de estructuras de aeronaves, Figura 7, cohetesespaciales, vehículos terrestres, y ello para el estudiode, alas de los aviones, fuselaje, estudio de motores,reparto de temperaturas, elementos mecánicos de todotipo, etc. También en el cálculo de las vibraciones y laestabilidad de las estructuras, así como respuesta a ladinámica de las cargas aleatorias, flujo de temperaturastransitorias en las cabezas de los cohetes, en las palasde las turbinas, etc.

Figura 7. Modelización utilizando elementos finitos, Aviones Marcel Dassault

Las aplicaciones más voluminosas hacen relación alanálisis no lineal de grandes deformaciones, estudio delas estructuras en vuelo, optimización del peso de lasestructuras. También para la simulación de impactos.

El objetivo del ingeniero es trabajar con modelosque, aunque complejos, sea posible poder llegar tancerca de la realidad como sea posible, lo que conllevatener en cuenta grandes niveles de detalle.

En el automóvil. Muchas de las aplicaciones cita-das anteriormente para la industria aeronáutica sontambién útiles en la del automóvil. La competenciaempuja a los productores a optimizar sus modelos. Lasprincipales áreas de aplicación son: cálculo de carroce-rías, chasis, suspensión y numerosas piezas mecánicas.Se simula la estructura de los motores, se investigaobtener la mayor ligereza de los elementos constructi-vos que sea compatible con la rigidez y con la ausenciade vibraciones. También es posible estudiar la distribu-

Aplicaciones de la supercomputaciónSuperComputación

83Autores científico-técnicos y académicos

ción de temperaturas en los motores y simular acciden-tes contribuyendo así a estudios de seguridad.

Las aplicaciones mencionadas también son aprove-chables en la industria ferroviaria para la construcciónde vagones, locomotoras y coches.

En la ingeniería civil. Cálculo de estructuras dehormigón armado y hormigón en masa; presas bóveday gravedad; puentes, silos; edificios de estructura metá-lica y de hormigón.

Para todos esos problemas existen, desde hace yaalgunos años, paquetes para el computador desarrolla-dos fundamentalmente por compañías de software,basados en las técnicas de elementos finitos y que pro-porcionan excelentes soluciones cuando se emplea,como herramienta de base, el supercomputador.

7. EL CAMPO DE LA INVESTIGACIÓNLos supercomputadores se aplican en numerosos

dominios de la investigación pura y aplicada, en la físi-ca, en la química, etc.

Campo de la física. En esta ciencia existennumerosos dominios que demandan gran potencia decomputación en cuanto a rapidez de cálculo y capaci-dad de memoria y en los que se hace necesario, por lotanto, grandes supercomputadores. Los temas que secitan a continuación han sido identificados desde haceya varios años por la NSF, National Science Founda-tion, en Estados Unidos.

• Teoría cuántica de campos, basada en cálculosque importan integrales de órdenes seis y ocho.

• Teoría de los quarks, tipo teórico de partículaselementales con las que se forman otras partícu-las, como el protón y el electrón.

• Estructura de la materia en los estados condensa-dos.

En lo relacionado con la física nuclear, y especial-mente con la física de las partículas, nuevas aproxima-ciones permiten, utilizando técnicas de Monte Carlo,determinar propiedades fundamentales como la masade los hadrons, compuestos de multipletes de carga oisospín que son degenerados en masa cuando sola-mente se consideran interacciones fuertes con los cons-tituyentes principales de los núcleos atómicos. Estastécnicas emplean rejillas de cuatro dimensiones concientos de millares de nodos, en cada uno de los cuales

se realizan iteraciones con secuencias de operacionesmuy complejas que conducen a un valor muy exactode la propiedad estudiada. Los programas poseen unalto grado de paralelización.

Campos de la química y de la biología. Laquímica cuántica utiliza como base las ecuaciones deSchroedinger, cuya solución permite prever las propie-dades de los átomos y de las moléculas, como las pro-piedades eléctricas, su energía potencial y la estructuramolecular. Como siempre, esas ecuaciones son com-plejas y su resolución pasa por aplicar métodos numé-ricos aproximados. Los tiempos de computación sonmuy grandes para poder obtener resultados suficiente-mente exactos sobre cada átomo y, por consiguiente,sobre la molécula, reunión de átomos.

Tanto la mecánica como la dinámica molecularesutilizan técnicas empíricas consistentes en la realizaciónde tests para el cálculo de diversas estructuras molecu-lares con el fin de identificar aquellas que conducen aresultados más próximos a los datos experimentalesobtenidos en los pasos precedentes.

En la simulación de fluidos se considera que éstosestán constituidos por un gran número de moléculascada una ejerciendo fuerza sobre las otras, y todas ellaspermaneciendo en un espacio cerrado. Para ello se uti-lizan técnicas de Monte Carlo en las que son datos losmovimientos aleatorios de los átomos, los cuales tam-bién se eligen de forma aleatoria. Se estudia la propa-gación de estos movimientos a través del fluido en elque cada átomo interacciona con sus vecinos más pró-ximos. Del modelo se deducen las propiedades del flui-do, propiedades que se comparan entonces con losresultados habidos de la experiencia.

Otras aplicaciones modernas en este campo son laquímica de los polímeros y la cristalografía. Hace muypocos años era impensable abordar estos problemascon los supercomputadores existentes en ese momento,lo que dice mucho del avance tan espectacular quehan logrado las técnicas del paralelismo y su hardwareasociado.

8. TÉCNICAS DE DATA MINING: DESCUBRIR EL CONOCIMIENTOUna base de datos es un conjunto de datos organi-

zados de tal forma que se faciliten las operaciones deacceso y mantenimiento de los mismos. Las bases de

Aplicaciones de la supercomputaciónSuperComputación

84 Autores científico-técnicos y académicos

datos necesitan un soporte de almacenamiento exteriora la memoria principal RAM del ordenador. Por ello sehace imprescindible el disco magnético o disco duro.Una transacción a una base de datos consta de dosacciones: un proceso de pregunta o consulta, queryprocess, para descifrar qué dato se necesita y una ope-ración de Entrada/Salida, E/S, para obtener ese dato.El paralelismo trata de reducir los tiempos del procesode consultas más que el de E/S.

El paralelismo relativo a la gestión de las bases dedatos compartidas por varios usuarios y con millonesde registros en su contenido relacionados entre sí, sedebe contemplar desde dos vertientes:

1. Entre las transacciones propiamente dichas llevadasa cabo de forma on-line: se entiende transaccionesdiferentes que se hacen de forma concurrente.

2. Dentro de una transacción compleja: la transac-ción se descompone en partes que se ejecutanconcurrentemente.

La mayor investigación llevada a cabo sobre laexplotación del paralelismo en las bases de datos, seestá haciendo sobre la segunda área enunciada. Inclu-so se han fabricado computadores específicos para laexplotación paralela de transacciones sobre bases dedatos comerciales.

Regresando a la aplicación planteada en este aparta-do, el proceso de la información en general, lo que hacealgunos años se denominaba aplicaciones de gestión, seestá convirtiendo en uno de los más importantes aliadosdel mercado del paralelismo. En los negocios se tomandatos acerca de clientes y productos con el fin de extraer

de esos datos información útil o conocimiento. Esa es labase de la minería de datos, en inglés, data mining. Unejemplo de esta técnica consiste en partir de una base dedatos para determinar los esquemas o patrones de com-pra de ciertos grupos de población o bien segmentar odistribuir los clientes de una firma de acuerdo con lasrelaciones encontradas en sus esquemas de compras.Por ejemplo, no es data mining encontrar todos los clien-tes que han comprado una determinada marca de elec-trodoméstico la última semana; si lo será, sin embargo,segmentar los clientes de acuerdo con sus respectivosgrupos de edad, sus ganancias mensuales y sus preferen-cias en electrodomésticos.

Un tipo especial de minería de datos es la minería porasociaciones. El objetivo es descubrir relaciones especia-les, denominadas asociaciones, dentro de la informacióndisponible relativa a clientes diferentes y sus transaccio-nes respectivas y generar luego reglas de inferencia sobreel comportamiento del cliente. Por ejemplo, la base dedatos podría almacenar, para cada transacción, la lista deartículos adquiridos. El objetivo será determinar asocia-ciones entre conjuntos de artículos tales que la tendenciasea la de haberse adquirido todos juntos.

Veámoslo de forma más concreta. La base de datoscontiene los registros correspondientes a las transaccio-nes de compra de un cliente. Cada transacción tendrásu correspondiente identificador y un conjunto de atri-butos: los artículos comprados. El primer objetivo de laminería por asociaciones será, examinar la base dedatos para poder determinar qué conjuntos de a artícu-los aparecen o se encuentran en ella, artículos que sepresenten juntos y por encima de un determinado por-centaje de transacciones. El problema asociado con elobjetivo enunciado es descubrir un conjunto de artícu-los de tamaño a adquiridos a la vez y que superen unporcentaje dado, así como la frecuencia o probabilidadde que eso ocurra.

Todo lo anterior conduce a un proceso en el queinterviene el conteo de un número alto de transaccio-nes de la base de datos que son candidato a los regis-tros buscados, conteo que, por tanto, se ejecuta sobrecientos de miles de transacciones, ejecución que ha dellevarse a cabo en paralelo si se pretende obtener resul-tados reales en tiempos asequibles y satisfactorios.

9. PARA ESCRIBIR UN FINALSimulación de la evolución de las galaxias.

Se trata del estudio de la evolución de las estrellas en

DIVERSAS APLICACIONES SOBRE BASES DE DATOS

CLASE CARACTERÍSTICAS

COMERCIAL Transacciones simples y cortasBanca, líneas aéreas, ventas, Tráfico elevadofabricación Actualización moderada

INGENIERÍA Transacciones largasCAD, diseño VLSI, Diversas versiones de diseñoEnsamblaje de aviones Estructura jerárquica

ESTADÍSTICA Relativamente estableCenso, tiempo Consultas estadísticas

TEXTO Esquemas de consulta complejosBases de datos de bibliotecas sobre datos-texto

SISTEMAS EXPERTOS Consultas complejasInteligencia Artificial, Data Mining Capacidad deductiva

Aplicaciones de la supercomputaciónSuperComputación

85Autores científico-técnicos y académicos

un sistema de galaxias a través del tiempo para darsolución a cuestiones como, qué ocurre cuando lasgalaxias colisionan o cómo un conjunto aleatorio deestrellas se enlazan entre sí para dar lugar a una formagaláctica concreta. Este problema, problema de los n-cuerpos, conduce a una simulación del movimiento deun cierto número de cuerpos, estrellas en este caso,que se mueven bajo las fuerzas procedentes de losotros. El cálculo se discretiza en el espacio, consideran-do cada estrella como un cuerpo separado, y en eltiempo, simulando el movimiento de las galaxias a lolargo de pequeños intervalos de tiempo, en cada unode los cuales se calculan las fuerzas gravitatorias sobrecada estrella debidas a las restantes y se actualiza suposición, velocidad y otros atributos.

El algoritmo utilizado se debe a Barnes-Hut y poreso, además, lleva su nombre. En este algoritmo se dauna concurrencia muy amplia, aplicable a la multitudde estrellas del modelo y a los intervalos de tiempo.Pero dada la irregularidad y su naturaleza cambiante,se hace necesaria la explotación de esa concurrenciade manera eficiente sobre una arquitectura paralela.

Visualización de escenas complejas pormedio de trazador de rayos. La visualización es unaspecto importante de la ingeniería de procesos: cuan-to más real es una imagen, mejor será la evaluación delos resultados. El objetivo de los métodos gráficos porcomputador, es producir imágenes que no puedan dis-tinguirse de las fotografías de escenas reales de tresdimensiones.

Una de las aplicaciones de gráficos por ordenador ysu técnica asociada consiste en convertir las escenas enimágenes mediante trazador de rayos, ray tracing. Laescena se representa como un conjunto de objetos enun espacio 3-D y la imagen a convertir se representacomo un conjunto bidimensional de pixels de los quese calculan los valores de color, opacidad y brillo. Lacomputación trata de simular el comportamiento físicode la luz produciendo, como resultado, una representa-ción bidimensional sobre una imagen plana.

El paralelismo se explota sobre cada uno de losrayos y a través de los diversos pixels. Cada rayo esindependiente de los demás y, por tanto, puede tratar-se en paralelo con los otros. Se trata de una aplicaciónque requiere gran cantidad de datos tomados de unsistema paralelo con elementos de proceso remotosentre sí. Decía François Sillion, para poner de manifies-to la duración en tiempo que entraña este tipo de apli-caciones: los resultados sobre fotos reales se consiguenen unidades de tiempo geológicas.

Diseño VLSI, Very Large Scale Integration,asistido por ordenador. Cuando los computadoreseran fabricados a base de transistores separados, losefectos de los errores en su diseño como, por ejemplo,los debidos a un error de conexión, podían solucionar-se fácilmente. Los tiempos de diseño y fabricación eranmenores que en las actuales técnicas para producir cir-cuitos de gran integración VLSI. Localizar un problemaen estos circuitos modernos se hace más complicadoya que no puede hacerse un test punto por punto entrelos miles de circuitos contenidos en un chip VLSI.

Actualmente se hace una simulación de la lógicadel circuito, simulación que representa una búsquedaprobabilística de los errores. Esa simulación puede con-sumir miles de horas de CPU aunque se tratara de ungran computador. Es necesario, una vez más, acudir alcomputador paralelo ya que afortunadamente, la simu-lación aludida presenta un alto grado de paralelismo.

Sistemas de Inteligencia Artificial, IA. Elparalelismo ha llamado a las puertas de las aplicacio-nes de IA debido a que las técnicas de búsqueda,search en inglés, juegan aquí un papel primordial ycentral. Los sistemas expertos realizan un razonamientoútil basado en conjuntos de reglas obtenidas de la pro-pia experiencia humana. Pensemos, por ejemplo, en eldiagnóstico médico. Los sistemas actuales contienenmás de 10.000 reglas y su proceso en el computadorpresentan un alto grado de paralelismo potencial.

Las reglas se almacenan y procesan mediante pro-gramas denominados sistemas de producción. Actual-mente se habla de sistemas de producción paralelos y,por tanto, se sustentan en arquitecturas superorde-nador.

Otros elementos de la Inteligencia Artificial ademásde los sistemas expertos: visión artificial, proceso del len-guaje natural, planificación y solución de problemas. Setrata, en todos los casos, de aplicaciones donde la concu-rrencia conseguida por el supercomputador convierten aéste en una herramienta fundamental.

El trabajo se expande hasta llenar el tiempo disponible para su terminación.

C. Northcote Parkinson

Es imposible producir un sistema útil cuando no se confía en ninguno de sus componentes.

Séneca

Aplicaciones de la supercomputaciónSuperComputación