Proyecto de Graduación Me gustaría profundizar en el desarrollo de la computación paralela.
El desarrollo de las computadoras modernas a partir de la década de 1940 se puede dividir en dos eras de desarrollo obvias: la era de la computación en serie y la era de la computación en paralelo. Cada era de la informática comienza con el desarrollo de la arquitectura, continúa con el desarrollo del software del sistema (especialmente compiladores y sistemas operativos), software de aplicación y finalmente culmina con el desarrollo de entornos de resolución de problemas.
Un ordenador paralelo está compuesto por un conjunto de unidades de procesamiento. Este grupo de unidades de procesamiento se comunica y colabora entre sí para completar una tarea informática a gran escala a una velocidad más rápida. Por tanto, los dos componentes más importantes de una computadora paralela son los nodos informáticos y los mecanismos de comunicación y colaboración entre nodos. El desarrollo de la arquitectura informática paralela también se refleja principalmente en la mejora del rendimiento de los nodos informáticos y la mejora de la tecnología de comunicación entre nodos.
El rendimiento de los nodos continúa mejorando
A principios de la década de 1960, debido a la aparición de los transistores y las memorias de núcleo magnético, las unidades de procesamiento se hicieron cada vez más pequeñas, y las memorias se hicieron más pequeñas y baratas. El resultado de estos avances tecnológicos condujo al surgimiento de las computadoras paralelas. Las computadoras paralelas durante este período eran en su mayoría sistemas multiprocesadores de almacenamiento compartido a pequeña escala, los llamados mainframes. IBM 360 es un representante típico de este período.
A finales de los años 60, un mismo procesador empezó a tener múltiples unidades funcionales con la misma función, y también apareció la tecnología de tuberías. En comparación con simplemente aumentar la frecuencia del reloj, la aplicación de estas funciones paralelas dentro del procesador mejora enormemente el rendimiento de los sistemas informáticos paralelos. En ese momento, la Universidad de Illinois y Burroughs Company comenzaron a implementar el plan Illiac IV para desarrollar un sistema host SIMD de 64 CPU, que involucraba tecnología de hardware, arquitectura, dispositivos de E/S, sistemas operativos, lenguajes de programación y numerosas aplicaciones. temas de investigación dentro. Sin embargo, cuando finalmente se lanzó un sistema prototipo mucho más pequeño (que utilizaba sólo 16 CPU) en 1975, todo el mundo de la informática había cambiado drásticamente.
El primero es la innovación del concepto de sistema de almacenamiento, proponiendo las ideas de almacenamiento virtual y caché. Tomemos como ejemplo IBM 360/85 e IBM 360/91. Son dos modelos de la misma serie. La frecuencia principal de IBM 360/91 es mayor que la de IBM 360/85. La memoria seleccionada también es más rápida y adopta A. canal de instrucción programado dinámicamente. Sin embargo, el rendimiento general de IBM 360/85 es mayor que el de IBM 360/91. La única razón es que el primero utiliza tecnología de almacenamiento en caché, mientras que el segundo no.
En segundo lugar, la memoria semiconductora comenzó a sustituir a la memoria de núcleo magnético. Inicialmente, la memoria semiconductora solo se usaba como caché en algunas máquinas, pero la CDC7600 fue la primera en adoptar por completo esta memoria semiconductora más pequeña, más rápida y directamente direccionable que desde entonces ha desaparecido del escenario de la historia. Al mismo tiempo, también aparecieron los circuitos integrados, que rápidamente se utilizaron en las computadoras. Estos dos avances revolucionarios en la tecnología de componentes hicieron que las diversas mejoras propuestas por los diseñadores de Illiac IV fueran muy inferiores al hardware subyacente y la arquitectura paralela.
Rápido desarrollo de los procesadores
Después de la llegada de Cray-1 en 1976, las computadoras vectoriales han controlado firmemente todo el mercado de computadoras de alto rendimiento durante 15 años. Cray-1 diseñó cuidadosamente los circuitos lógicos utilizados, adoptó un conjunto de instrucciones reducido que ahora llamamos RISC e introdujo registros vectoriales para completar operaciones vectoriales. El uso de esta serie de medios técnicos ha permitido que la frecuencia principal de Cray-1 alcance los 80MHz.
A medida que la longitud de la palabra de la máquina aumenta de 4, 8 y 16 bits a 32 bits, el rendimiento de los microprocesadores también aumenta significativamente. Fue precisamente al ver el potencial de los microprocesadores que la Universidad Carnegie Mellon comenzó a desarrollar un sistema compuesto por 16 procesadores PDP-11/40 a través de un interruptor de barra transversal basado en el popular miniordenador DEC PDP-11, un sistema multiprocesador de almacenamiento compartido C. .mmp formado conectando 16 módulos de memoria compartida.
Desde la década de 1980, la tecnología de los microprocesadores ha ido avanzando a gran velocidad. Posteriormente apareció un protocolo de bus que era muy adecuado para el método SMP. La Universidad de California en Berkeley amplió el protocolo de bus y propuso una solución al problema de coherencia de la caché. Desde entonces, el camino para disfrutar de los multiprocesadores de almacenamiento creados por C.mmp se ha vuelto cada vez más amplio. Esta arquitectura ahora domina esencialmente los mercados de servidores y estaciones de trabajo de escritorio.
Los mecanismos de comunicación avanzan con paso firme
Al mismo tiempo, también comenzaron a surgir ordenadores paralelos basados en mecanismos de paso de mensajes. A mediados de la década de 1980, Caltech conectó con éxito 64 procesadores i8086/i8087 a través de una estructura de interconexión de hipercubo. Desde entonces, han aparecido sucesivamente ordenadores paralelos basados en el mecanismo de paso de mensajes, como la serie Intel iPSC, la serie INMOS Transputer, Intel Paragon y Vulcan, el predecesor de IBM SP.
Desde finales de los 80 hasta principios de los 90, las computadoras paralelas a gran escala basadas en memoria compartida lograron un nuevo desarrollo. IBM conectó una gran cantidad de los primeros microprocesadores RISC a través de una red de interconexión de mariposa. La gente comenzó a considerar cómo lograr un cierto grado de escalabilidad en el sistema y al mismo tiempo lograr consistencia en la memoria caché compartida. A principios de la década de 1990, la Universidad de Stanford propuso el plan DASH, que logra la coherencia de la caché en la memoria compartida distribuida manteniendo una estructura de directorios que almacena la información de ubicación de cada bloque de caché. Posteriormente, IEEE propuso un estándar para protocolos de coherencia de caché basado en esto.
Desde los años 90, las principales arquitecturas han comenzado a converger.
Perteneciente al tipo paralelo de datos, CM-5, además de utilizar una gran cantidad de microprocesadores comerciales, también permite que programas a nivel de usuario transmitan algunos mensajes sencillos.
Cray T3D es una computadora paralela de almacenamiento compartido con estructura NUMA, pero también proporciona un mecanismo de sincronización global, un mecanismo de cola de mensajes y adopta algunas tecnologías para reducir los retrasos en la entrega de mensajes.
Con la comercialización de microprocesadores, el desarrollo de equipos de red y el lanzamiento de estándares de programación paralela como MPI/PVM, comenzaron a aparecer ordenadores paralelos con arquitectura de clúster. El sistema de clúster de la serie IBM SP2 es un representante típico. En estos sistemas, cada nodo utiliza computadoras comerciales estándar y están conectados a través de redes de alta velocidad.
1.2 Desarrollo y situación actual de la computación paralela de elementos finitos
Actualmente, en el campo de la mecánica computacional, la atención se centra en el método de los elementos finitos basado en el principio variacional
y el método de elementos de frontera de las ecuaciones integrales de frontera, así como las diversas computadoras paralelas ahora disponibles, han formado gradualmente una nueva rama de la disciplina: la computación paralela de elementos finitos. Es altamente eficiente, lo que permite resolver muchos problemas mecánicos grandes y complejos que no se pueden resolver
o no se pueden resolver
con las computadoras seriales y los algoritmos seriales actuales. resuelto satisfactoriamente, por lo que su velocidad de desarrollo es asombrosa. Ha habido un aumento en el uso de máquinas paralelas para análisis e investigación de ingeniería en el mundo. En las dos décadas que van de 1975 a 1995, se han publicado más de 1.000 artículos sobre el método de elementos finitos
y los correspondientes cálculos numéricos paralelos.
La computación paralela de elementos finitos se está desarrollando en dos direcciones. El primero es implementar varios algoritmos para la resolución paralela de ecuaciones de sistemas. El segundo son los métodos de análisis paralelo, que incluyen el método de cálculo paralelo de elementos finitos y el algoritmo paralelo de elementos límite. El primero tiende a ser maduro, mientras que el segundo tiene menos investigación. La investigación sobre este aspecto tiene como objetivo explorar el paralelismo potencial del cálculo de elementos finitos en sí, que es el problema fundamental del cálculo de elementos finitos paralelos.
1.2.1 Doméstico
El diseño y la implementación efectiva de algoritmos paralelos dependen en gran medida del entorno de hardware y software de la máquina paralela
.
Solo unas pocas unidades en China tienen máquinas paralelas y los modelos son desordenados. Por lo tanto, hay pocos investigadores, comenzaron tarde y se limitan a entornos de hardware específicos. A juzgar por el contenido del método de análisis de elementos finitos, las docenas de artículos de investigación (informes) publicados no han mostrado una fuerte sistematicidad.
1) El profesor Zhou Shuquan de la Universidad de Aeronáutica y Astronáutica de Nanjing y otros realizaron la rigidez en la máquina vectorial YH-1.
Cálculo de matrices, descomposición de Cholesky de matrices simétricas con bandas y solución de matrices lineales. ecuaciones, etc.
Procesamiento en paralelo. Para problemas de análisis de ingeniería de estructuras irregulares, también adoptaron un método de almacenamiento de ancho de banda variable
y realizaron el cálculo paralelo de la matriz de rigidez y la solución de las ecuaciones lineales dispersas de ancho de banda variable
Paralelo solución directa20.
2) El investigador Wang Xixian del Centro de Computación de la Academia de Ciencias de China y otros propusieron un sistema de ecuaciones lineales de ancho de banda variable en análisis de elementos finitos
en un sistema MIMD distribuido basado en un chip Transputer
Método de solución directa paralela, finalización preliminar de un programa de análisis estático 21.
3) El profesor Zhang Ruqing de la Universidad de Chongqing y otros han llevado a cabo una amplia gama de investigaciones de algoritmos paralelos con la ayuda del sistema MIMD de memoria compartida ELXSI-6400***.
Los principales resultados son:
a) Se propone un algoritmo paralelo para la solución de estructura de neutrones en análisis estático y un algoritmo paralelo para el método de subestructura integral de estado modular
en análisis dinámico.
b) A partir del método del frente de onda, se desarrolló un algoritmo paralelo de múltiples frentes de onda para resolver grandes problemas de análisis estructural;
c) Del método Jacobi. método de iteración en bloques y método residual ponderado A partir de esto, se derivó el formato básico del método de solución paralela de ecuaciones de elementos finitos y de la iteración paralela de ecuaciones de elementos finitos basado en control asíncrono;
d) Utilizando el teoría de coloración en teoría de grafos, se implementó la matriz de rigidez Computación paralela
e) Implementó el método de solución iterativa paralela SOR basado en segmentación de líneas coloreadas
f) Implementó el método de iteración subespacial; , método de Lanczos y método de iteración secante polinomial
Un algoritmo paralelo para resolver las frecuencias naturales y modos de estructuras usando el método de iteración vectorial;
g) Para el análisis elástico-plástico, un método multi- se propone un algoritmo paralelo de subestructura de frente de onda;
h) Para el problema de contacto elástico, se propone un método de solución paralelo basado en el principio de variación de parámetros
i) Procesamiento paralelo del uno-; Se implementa el método de integración de pasos 22.
4) El profesor Qiao Xin de la Universidad de Aeronáutica y Astronáutica de Nanjing y otros utilizaron el sistema MIMD distribuido del chip Transputer para implementar el método de solución directa paralela de ecuaciones de elementos finitos y propusieron un método basado en subestructuras. p>
Método de cálculo paralelo de preprocesamiento estructural ***método de gradiente de yugo 23.
Se han llevado a cabo algunas investigaciones.
Los resultados de la investigación anterior muestran que la investigación nacional sobre métodos de computación paralela se basa en
máquinas vectoriales, máquinas paralelas distribuidas y máquinas paralelas de almacenamiento compartido en términos de hardware. Puede ser muy amplio, pero la sistemática y la profundidad aún están lejos de ser suficientes. Todavía hay un largo camino por recorrer entre el desarrollo de software y la aplicación práctica y la comercialización de aplicaciones específicas que no dependen de máquinas paralelas. algoritmos paralelos de propósito general para este entorno, y también hay poca investigación sobre hardware para computación paralela destinado al análisis estructural de elementos finitos.
1.2.2 En el extranjero
Desde que A.K. Noor de la Administración Nacional de Aeronáutica y del Espacio (NASA) publicó el primer
artículo sobre cálculo paralelo de elementos finitos en 1975, Finite La tecnología de procesamiento paralelo de elementos se ha desarrollado casi simultáneamente con las máquinas informáticas paralelas. Según estadísticas incompletas, en 1992 se habían publicado más de 400 artículos sobre este tema en el extranjero, y el número de artículos de los últimos cinco años era el número total de artículos de los 12 años anteriores.
El contenido de la investigación también
se ha desarrollado desde la investigación de algoritmos en el pasado hasta la investigación que combina algoritmos, software y hardware, y se ha desarrollado algún software práctico de análisis estructural a gran escala para algunos modelos
.
1) Máquina de Elementos Finitos FEM25 (Máquina de Elementos Finitos). Ya a finales de la década de 1970, alguien había publicado un artículo sobre FEM. En 1982, O.O. Storaasli del Centro de Investigación Langley de la NASA y otros escribieron una introducción detallada al diseño del centro para uso en investigación. . La máquina consta de una matriz de procesador, una microcomputadora como controlador, un sistema operativo paralelo y algunos programas de algoritmos paralelos generales modularizados. Los usuarios utilizan el editor de texto del sistema y otras funciones especiales del controlador pueden establecer finitos. calcular modelos de elementos y realizar
análisis. Durante más de 10 años, algunas personas han hecho incansables esfuerzos en esta área, pero las perspectivas de desarrollo del FEM aún no son muy optimistas.
2) Máquina paralela de arrays cardíacos 26. La máquina paralela de matriz cardíaca se utiliza principalmente para el procesamiento paralelo de señales e imágenes. Sin embargo, debido a su eficaz función de cálculo matricial, algunas personas la han aplicado al análisis de elementos finitos en los últimos años y se han realizado algunos intentos útiles.
3) Máquina vectorial gigante 27. En el análisis de elementos finitos, muestra cada vez más un gran poder.
El líder es el CM-2 de American Thinking Company. Muchos analistas estructurales aplican esta máquina vectorial gigante con 65536 procesadores a cálculos de elementos finitos. Por ejemplo, T. Belyschko et al utilizaron métodos explícitos para completar un proyecto con 32768 procesadores. El cálculo de elementos finitos no lineales de la capa de una unidad. eficiencia paralela y la velocidad es casi un orden de magnitud mayor que la máquina paralela CRAY X-MP/14.
4) Red de máquinas paralelas y red de estaciones de trabajo 28. Yagawa y otros de la Universidad de Tokio en Japón utilizaron una red de alta velocidad para conectar tres máquinas CRAY Y-MP en una red para el análisis de elementos finitos. Las ecuaciones de elementos finitos se resolvieron utilizando la tecnología de división regional. (CGM) tiene más de 1 millón de grados de libertad al resolver problemas elásticos tridimensionales
y la velocidad promedio de funcionamiento del sistema llega a 1,74 GFLOPS. Además,
También llevaron a cabo investigaciones similares en un entorno paralelo basado en una red de estaciones de trabajo de ingeniería.
El número de grados de libertad para resolver problemas llega a 200.000.
--
Miré a izquierda, derecha, adelante y atrás, pero todavía no puedo verlo.
Esto... aquello... cuanto más lo miro, más extraño se vuelve...
No es que no lo entienda, el mundo está cambiando muy rápido