Este documento trata sobre la arquitectura de computadoras paralelas. Explica conceptos como procesamiento paralelo, tipos de computación paralela, taxonomías de arquitecturas paralelas y los modelos SIMD y MIMD. También describe la organización de la memoria en sistemas paralelos y redes de interconexión.
0 calificaciones0% encontró este documento útil (0 votos)
170 vistas20 páginas
Este documento trata sobre la arquitectura de computadoras paralelas. Explica conceptos como procesamiento paralelo, tipos de computación paralela, taxonomías de arquitecturas paralelas y los modelos SIMD y MIMD. También describe la organización de la memoria en sistemas paralelos y redes de interconexión.
Este documento trata sobre la arquitectura de computadoras paralelas. Explica conceptos como procesamiento paralelo, tipos de computación paralela, taxonomías de arquitecturas paralelas y los modelos SIMD y MIMD. También describe la organización de la memoria en sistemas paralelos y redes de interconexión.
Este documento trata sobre la arquitectura de computadoras paralelas. Explica conceptos como procesamiento paralelo, tipos de computación paralela, taxonomías de arquitecturas paralelas y los modelos SIMD y MIMD. También describe la organización de la memoria en sistemas paralelos y redes de interconexión.
Descargue como DOCX, PDF, TXT o lea en línea desde Scribd
Descargar como docx, pdf o txt
Está en la página 1de 20
Instituto Tecnolgico de Quertaro
Jess Zubieta Segundo
Unidad IV
Arquitectura de Computadoras
Grupo: 6 A
Ingeniera en Sistemas Computacionales
Jueves 29 de noviembre del 2012 2
Contenido
a. Procesamiento paralelo b. Aspectos basicos de computacion paralela c. Tipos de computacion paralela d. Taxonomia de las arquitecturas paralelas e. Arquitectura de las computadoras secuenciales f. Taxonomia de flynn g. Organizacin del espacio de direccciones de memoria h. Sistemas de memoria compartida i. Multiprocesadores j. Redes de interconeccion dinamicas indirectas k. Redes commutadas l. Redes de medio compartido m. Multicomputadoras: closters n. Redes de inetrconeccion esrtatica o. Closters
3
A-. PROCESAMIENTO PARALELO Definimos como procesamiento paralelo al concepto de agilizar la ejecucin de un programa mediante su divisin en fragmentos que pueden ser ejecutados simultneamente. Aspectos bsicos sobre computacin paralela Diseo de Arquitecturas paralelas. Diseo de algoritmos paralelos eficaces Difieren de los algoritmos secuenciales. Anlisis de los algoritmos paralelos. Medidas de la eficacia del sistema. Lenguajes y herramientas de programacin paralela. Desarrollo de herramientas para el control y depuracin. Portabilidad y reusabilidad. Todava un poco verde.
Tipos y clasificacin. Complejidad de problemas = gran capacidad de clculo. Soluciones: computacin paralela. Computacin paralela procesamiento en paralelo. Acelerar la ejecucin de un programa mediante su descomposicin en fragmentos que pueden ejecutarse de forma simultnea en su propia unidad de proceso. N fragmentos en N computadores. N veces la velocidad de un computador. Conceptos. N = grado de paralelismo. N es un valor ideal. Debe existir interaccin entre las N partes. 4
Transferencias de datos. Sincronizacin de clculos en diferentes procesadores. No obstante: Siempre se pueden conseguir mejoras con la computacin paralela. Siempre se podr beneficiar de los progresos y avances de los sistemas Construccin de un sistema paralelo. Segn la definicin de computacin Paralelo: Un sistema de procesamiento paralelo puede realizarse de multitud de formas. La complejidad de las diversas posibilidades, hace que existan diferentes taxonomas. Taxonoma de Flynn. Segn el sistema de almacenamiento. Ventajas y desventajas Existen algunos factores que trabajan en contra de la eficiencia del paralelismo y pueden atenuar tanto la ganancia de velocidad como la ampliabilidad.Costes de inicio: en una operacin paralela compuesta por miles de proceso, el tiempo de inicio puede llegar ser mucho mayor que le tiempo real de procesamiento, lo que influye negativamente en la ganancia de velocidad. Interferencia: como lo procesos que se ejecutan en un proceso paralelo acceden con frecuencia a recursos compartidos, pueden sufrir un cierto retardo como consecuencia de la interferencia de cada nuevo proceso en la competencia, este fenmeno afecta tanto la ganancia de velocidad como la ampliabilidad. Sesgo: normalmente es difcil dividir una tarea en partes exactamente iguales, entonces se dice que la forma de distribucin de los tamaos es sesgada. 5
El procesamiento paralelo implica una serie de dificultades a nivel programacin de software, es difcil lograr una optimizacin en el aprovechamiento de los recursos de todas las CPU con el que se est trabajando sin que se formen cuello de botella. Ventajas del Procesamiento en Paralelo. El procesamiento en paralelo ejecuta procesos en donde cada procesador se encarga de uno u otro y aceleran de esta forma el clculo. 4.- TAXONOMIA DE ARQUITECTURA PARALELA Las diferentes posibilidades existentes para desarrollar sistemas paralelos hacen que una clasificacin definitiva sea complicada, y seguramente estril. Por ello, en primer lugar se recuerdan las caractersticas bsicas del modelo secuencial, con el fin de delimitar los aspectos bsicos que son comunes o diferentes de los sistemas paralelos. Seguidamente se muestra una clasificacin clsica propuesta por Flynn, que se basa en el flujo de instrucciones y en el flujo de datos, es decir, el mecanismo de control utilizado. Sin embargo, existe una gran cantidad de criterios, aunque no todos mutuamente excluyentes entre s, Para establecer una clasificacin de las distintas arquitecturas paralelas. As, tomando como base la clasificacin de Flynn se atiende a la organizacin del espacio de memoria, analizando las diferentes posibilidades que permiten establecer diversas arquitecturas. Se consideran otros criterios bsicos de clasificacin que diferencian unos sistemas de otros, entre los que destaca la red de interconexin.
5.- ARQUITECTURA DE LOS COMPUTADORES SECUENCIALES Como es bien sabido, los computadores secuenciales, tambin denominados computadores serie, se basan en la arquitectura de J. von Neumann. Este modelo tiene como elementos fundamentales una Unidad Central de Procesamiento (CPU, acrnimo en ingls de Central Processing Unit), y una memoria, que se caracteriza porque en ella no se distinguen datos e instrucciones. En este modelo se considera una nica secuencia de 6
instrucciones que tratan una nica secuencia de datos. Por ello se conocen como computadores SISD,*Single Instruction Stream, Single Data Stream (nico flujo de instrucciones, nico flujo de datos). Una introduccin detallada puede encontrarse en (Dormido, 2000).El modelo de von Neumann presenta dos limitaciones bsicas. La velocidad de ejecucin de las instrucciones y la velocidad de transferencia de informacin entre CPU y memoria.La primera est relacionada con los componentes y la tecnologa electrnica asociada. Sin embargo, desde el punto de vista de la arquitectura de computadores se han desarrollado algunas estrategias para aumentar el rendimiento. La ms conocida es la segmentacin (Pipelining).La segmentacin de instrucciones consiste en traer a la cola de instrucciones la instruccin siguiente a la que se est ejecutando. En ltimo trmino se realiza la segmentacin de ejecucin, o segmentacin encauzada, en la que se permite que varias instrucciones se ejecuten simultneamente en diferentes unidades funcionales de clculo (multiplicadores, sumadores, unidad de carga/almacenamiento), durante las diferentes etapas en lasque se divide la ejecucin de la instruccin.
Taxonoma de Flynn. Clasificacin segn el flujo (secuencia de elementos) de instrucciones y flujo de datos que se desarrolla en los computadores. SISD Single Instruction Single Data. SIMD Single Instruction Multiple Data. MISD Multiple Instruction Single Data. MIMD SISD. Instruccin nica, datos nicos. Computadores serie actuales. Las instrucciones se ejecutan secuencialmente, pudiendo estar solapadas (segmentacin). 7
Pueden existir ms de una unidad de recursos de clculo, pero siempre bajo una nica unidad de control.
SIMD. Instruccin nica, datos mltiples. Procesadores matriciales y vectoriales. Varias unidades de procesamiento, trabajando sobre flujos de datos distintos, ejecutando la misma instruccin, bajo una nica unidad de control. El sincronismo entre procesadores est garantizado. Punto de sincronismo: despus de cada ciclo de ejecucin de las instrucciones.
MISD. Instrucciones mltiples, datos nicos. 8
Varias unidades de procesamiento, ejecutando instrucciones diferentes, sobre el mismo flujo de datos. No existe materializacin real. De forma abierta: Mquinas VLIW. Arquitecturas desacopladas. Arquitecturas sistlicas.
MIMD. Instrucciones mltiples, datos mltiples. Se incluyen la mayora de los sistemas multiprocesadores y multicomputadores. Un computador MIMD implica interacciones entre varios procesadores.
En esencia. Atendiendo a la clasificacin del Flynn, las arquitecturas paralelas pueden ser esencialmente de dos tipos: 9
a. SIMD. b. MIMD.
Modelo SIMD. Cada procesador ejecuta la misma operacin, en sincronismo, sobre su propio conjunto de datos. Las instrucciones se envan a ms de un procesador. Acta como un procesador ALU, sin unidad de control. La nica unidad de control, es la responsable de buscar las instrucciones, y repartirlas a los distintos procesadores. El conjunto de datos se estructura en forma de array o vector.
Modelo SIMD. reas de aplicacin: Tratamientos de arrays en bucles: Simulaciones de sistemas. Procesamiento de imgenes. Problemas: Tratamiento de sentencias de seleccin. Realizar una operacin diferente dependiendo del dato que se tenga. Modelo MIMD. 10
Cada procesador acta de forma independiente: Mediante descomposicin de control: Cada procesador puede estar ejecutando un programa distinto. Mediante descomposicin de datos: Cada procesador puede estar ejecutando el mismo programa, en diferentes partes del mismo, sobre distintos datos. Esta variante se conoce como SPMD. No confundir con SIMD. Existe gran intercambio de informacin entre los procesadores. Son ms generales y eficaces que los SIMD.
Clasificacin segn el sistema de memoria. Nueva clasificacin computacin paralela: Sistemas de memoria compartida. Multiprocesadores. Sistemas de memoria distribuida. Multicomputadores. Clasificacin orientada casi a MIMD. Se centra en cmo realizar el intercambio de informacin entre procesadores.
11
Memoria compartida. UMA. La mayora incorpora una memoria cach local. Es importante mantener la coherencia de la informacin en la cach.
Memoria compartida. De UMA a NUMA. UMA: Escalabilidad limitada. Nmero mximo de procesadores: 16 a 32. Mejoras: Memoria local para los procesadores. Se evitan accesos a memoria a travs de la red. El acceso a memoria ya no es uniforme. Nacen los sistemas con memorias de acceso no uniforme: NUMA. NUMA: El tiempo de acceso a memoria difiere entre palabras. La informacin est distribuida. Memoria compartida. NUMA. Se conocen tambin como sistemas de memoria compartida distribuida (DSM). Los accesos de un procesador a las memorias locales de los otros requieren un hardware de control especfico. 12
Memoria compartida. NUMA. La red de interconexin es fundamental. Su latencia no debe incrementar los tiempos de acceso remotos. Dependiendo de cmo se comparta la informacin, siempre garantizando la coherencia de la memoria: Memoria compartida. NUMA. ccNUMA. Cada nodo, contiene una porcin de la memoria total del sistema. NODO: Uno o varios procesadores con sus cachs, una memoria principal y un directorio. Las variables compartidas se reparten directamente por el programador o por el sistema operativo. La coherencia se mantiene mediante los directorios. Memoria compartida. NUMA. COMA. Idea bsica: La memoria local de cada nodo es la cach del resto del sistema. Ventajas: Un fallo de acceso remoto se resuelve distribuyendo automticamente por el sistema los datos que est utilizando la aplicacin. 13
Problemas (desventajas): Complejidad para mantener la coherencia de las copias de los datos a lo largo de todo el sistema. Memoria compartida Existe tanto en sistemas SIMD como MIMD. El inters se centra en MIMD. MIMD + memoria compartida: Multiprocesadores simtricos (SMP). De 2 a 64 procesadores. Comparten la totalidad de recursos. SIMD + memoria compartida: Procesadores multihebra: Una sola copia del sistema operativo. Cada nodo ejecuta una hebra. Windows NT. Memoria compartida. Multicomputadores. Cada procesador dispone de su propia memoria: Acceso privado, independiente del resto, accesible slo por el procesador.La comunicacin se realiza por paso de mensajes. Arquitecturas de paso de mensajes. Util y dominante con gran nmero de procesadores ( > 100). La red de interconexin: Facilita el paso de mensajes entre los procesadores nodo. . Memoria distribuida. Un sistema de memoria distribuida: 14
Puede ser un nico computador con mltiples CPU's conectadas por un bus de datos. Procesadores masivamente paralelos. (MPP). Puede ser mltiples computadores enlazados por una red de interconexin ms o menos rpida. Clusters: Con computadores dedicados Beowulf. Con computadores no dedicados: NOW (Network Of Workstations) Memoria distribuida. Beowulf vs. NOW Beowulf es un conjunto de nodos minimalistas (Placa base, CPU, memoria y algn dispositivo de E/S), conectados por un medio de comunicacin barato, con una topologa de red influenciada por el problema a resolver. Cada nodo se dedica nicamente a procesos del supercomputador. En una red NOW suele existir un switch central para realizar las comunicaciones, mientras que en un Beowulf el mecanismo es ms rudimentario conexiones placa a placa mediante RJ-45 cruzado. La programacin Beowulf depende de la arquitectura, y siempre se realiza por paso de mensaje.
15
Otros criterios de clasificacin. Segn las redes de interconexin: Estticas: Comunicacin punto a punto entre procesadores. Se aplican a las arquitecturas de paso de mensajes. Dinmicas. A. Se construyen con switches, hubs o enlaces de comunicacin. B. Se denominan indirectas. C. Se utilizan para los sistemas de memoria compartida. Otros criterios de clasificacin. Redes bsicas de interconexin Entre la ms sencilla (bus compartido) y la ms compleja (totalmente conectada), existe una gran diversidad de redes, aunque slo 7 u 8 han tenido xito comercialmente Compromiso entre el coste y el rendimiento Parmetros que influyen en el coste N de conmutadores (switches) N de procesadores por conmutador (grado) N total de lneas (Nenlaces * Anchura en bits) Longitud fsica de los enlaces Implementacin real (ms simple 2D que 3D) Parmetros que influyen en el rendimiento Dimetro de la red 16
Mxima distancia entre cualquier dos procesadores de la red. La distancia entre dos procesadores es definida como el camino ms corto (en trmino de nmero de enlaces) entre ellos. Puesto que la distancia determina el tiempo de comunicacin, las redes con pequeos dimetros son mejores Ancho de biseccin y AB de biseccin: Ancho de biseccin de una red es el nmero mnimo de canales a cortar para dividir la red en dos mitades iguales. El AB biseccin es el producto del ancho de biseccin por el AB de cada canal. Este parmetro nos indica el ancho de banda posible entre las dos mitades AB agregado normalizado Nmero mximo de comunicaciones simultaneas multiplicado por el AB de cada canal
Redes de interconexin dinmicas (indirecta) Tpicamente usadas para NUMA Los switches se alejan del procesador El camino entre un procesador y otro, se realiza a travs de varios switches Los tipos ms comunes son: Red de barras cruzadas (CrossBar) Red basada en Bus comn rboles Red multietapa Redes de conmutacin. Bsicamente se emplea conmutacin de paquetes: No se reserva el medio. La informacin se transmite en forma de paquetes: Bien a travs de un camino establecido. Bien buscando su propia ruta al nodo destino. 17
Exige mecanismos de arbitraje. Aumenta el nivel de ocupacin de la red. Redes de uso compartido Indirectamente, el tipo de conexin que se haga en la capa fsica puede influir en el diseo de la capa de Enlace. Atendiendo al nmero de equipos que comparten un medio hay dos posibilidades: Conexiones punto a punto: que se establecen entre dos equipos y que no admiten ser compartidas por terceros Conexiones multipunto: en la que ms de dos equipos pueden usar el medio. As por ejemplo la fibra ptica no permite fcilmente conexiones multipunto (sin embargo, vase FDDI) y por el contrario las conexiones inalmbricas son inherentemente multipunto (sin embargo, vanse los enlaces infrarrojos). Hay topologas por ejemplo la topologa de anillo, que permiten conectar muchas mquinas a partir de una serie de conexiones punto a punto(Directa entre dos maquinas).Equipos adicionales A la hora de disear una red hay equipos adicionales que pueden funcionar a nivel fsico, se trata de los repetidores, en esencia se trata de equipos que amplifican la seal, pudiendo tambin regenerarla. En las redes Ethernet con la opcin de cableado de par trenzado (la ms comn hoy por hoy) se emplean unos equipos de interconexin llamados concentradores (repetidores en las redes 10Base-2) ms conocidos por su nombre en ingls (hubs) que convierten una topologa fsica en estrella en un bus lgico y que actan exclusivamente a nivel fsico, a diferencia de los conmutadores (switches) que actan a nivel de enlace. LOS SISTEMAS DE MEMORIA DISTRIBUIDA O MULTICOMPUTADORES Los sistemas de memoria distribuida o multicomputadores pueden ser de dos tipos bsicos.El primero de ellos consta de un nico computador con ltiples CPUs comunicadas por un bus de datos mientras que en el segundo se utilizan mltiples 18
computadores, cada uno con su propio procesador, enlazados por una red de interconexin ms o menos rpida. En el primer caso, se habla de procesadores masivamente paralelos (MPPs, Massively Parallel Processors), y en el segundo se conocen de forma genrica como clusters. Clster es una tipo de arquitectura paralela distribuida que consiste de un conjunto de computadores independientes (y bajo coste en principio) interconectados operando de forma conjunta como un nico recurso computacional Sin embargo, cada computador puede utilizarse de forma independiente o separada Componentes de clster Mltiples nodos de computacin Los nodos pueden encontrarse encapsulados en un solo contenedor , o estar fsicamente diferenciados. Los nodos pueden ser PCs, estaciones de trabajo o SMPs. Diferentes sistemas operativos UNIX, Linux, W2000, WXP Red de interconexin de altas prestaciones Myrinet, Infiniband, Gigabit Ethernet Diferentes tipos de interfaz de red En el bus E/S, en el bus de sistema, en el procesador. Protocolos rpidos de comunicacin Active messages, Fast messages, VIA Tipos de cluster Alto rendimiento (High Performance) Objetivo: mejorar el rendimiento en la obtencin de la solucin de un problema, en trminos bien del tiempo de respuesta bien de su precisin Aplicaciones: Generalmente estos problemas de computo suelen estar ligados a Clculos matemticos, Renderizaciones de grficos, Compilacin de programas, Compresin de datos, Descifrado de cdigos, Rendimiento del sistema operativo... 19
Nivel implementacin: Libreras y bibliotecas de funciones. No implementan balanceo carga. El trabajo es repartido de forma manual. Sistema operativo. Basan su funcionamiento en la comparticin de los recursos y balanceo de carga dinmico. Solucines Hbridas Alta disponibilidad (High Availability) Ms demandados por empresas para asegurar servicio a clientes Objetivo: Ofrecer mxima disponibilidad de los servicios prestados por el cluster (24x7x365). Competencia para abaratar sistemas redundantes. Intentan proporcionar fiabilidad, disponibilidad y servicios RAS. Soluciones Hardware. Caras, Hardware redundante funcionando en paralelo y con sistemas de deteccin de fallos y recuperacin. Soluciones Software tipo Cluster. Alta disponibilidad (High Availability) Tcnicas para proporcionar disponibilidad. Basadas en redundancia sobre dispositivos crticos. El dispositivo redundante toma el control ante el fallos del dispositivo maestro. Redundancia aislada. Existen dos posibilidades para dar una funcionalidad o servicio (procesadores, fuentes, imgenes deS.O...) N-Redundancia. N equipos para proporcionar servicio.
Otras tecnologas. Compiladores C/C++/Java. Programacin Paralela con C++ (MIT Press book). RAD (rapid application development tools). Herramientas basadas en GUI para modelos de PP. Debuggers. Herramientas de anlisis de performance. Herramientas de Visualizacin.