Sunteți pe pagina 1din 4

2.3.

2 Arquitectura MPP
Ya que el problema es el hecho de contar con memoria compartida y sus limitaciones, se propuso un esquema de una mquina paralela que consta de varias unidades de procesamiento bsicamente independientes. En efecto cada una de estas unidades, conocida como ``nodo'', es prcticamente una computadora en s misma, contando con su propio procesador, memoria no compartida, y que se comunica con las dems unidades de procesamiento a travs de un canal provisto exclusivamente para este propsito. Este tipo de mquinas se conocen como computadoras masivamente paralelas o mquinas MPP (Massively Parallel Processing, procesamiento masivamente paralelo). Un diagrama de una arquitectura MPP genrica se muestra en la figura (1.2).
Figura 1.2:Arquitectura MPP

Una mquina MPP presenta una serie de consideraciones importantes derivadas de su arquitectura, que se deben tomar en cuenta al escribir programas que pretendan aprovechar su naturaleza multiprocesador. Obviamente la caracterstica ms importante es el hecho de que, en cada nodo, cada procesador opera bsicamente como una computadora independiente, ejecutando su propio cdigo independiente de los dems procesadores, y teniendo un rea de memoria con datos tambin independientes. Desde luego, para que esta organizacin redunde en un mayor desempeo, se requiere colaboracin entre los nodos. Como se mencion, una mquina MPP debe contar con un canal que permita a los nodos comunicarse entre s, a fin de intercambiar datos y coordinar sus operaciones. Ya que el objetivo principal de una mquina MPP es obtener alto rendimiento, se busca que este canal de comunicaciones sea lo ms eficiente posible, en trminos tanto de ancho de banda como de tiempo de latencia. En la mayora de los casos este canal ser un bus propietario, diseado por el fabricante del equipo MPP. Para tener acceso a informacin fuera de su propia rea de memoria, los nodos se comunican entre s, regularmente empleando un esquema de paso de mensajes. Esto resuelve el problema de saturacin del bus de comunicaciones, pues ste slo se emplea cuando se est realizando comunicacin entre los nodos. De esta manera se tiene una arquitectura que puede escalarse a varios cientos o miles de procesadores (las mquinas MPP ms grandes en la actualidad tienen alrededor de 10 mil procesadores). Sin embargo el tener varias secciones de memoria independientes complica la programacin en este tipo de arquitecturas. En una arquitectura MPP la

distribucin de trabajo entre los nodos es una consideracin vital al disear cualquier aplicacin. Se debe tomar en cuenta la sincronizacin de datos entre los nodos, y en toda comunicacin entre ellos debe realizarse explcitamente por medio de llamadas al mecanismo de paso de mensajes.

2.3.1 Arquitectura SMP


El enfoque ms sencillo para una mquina con mltiples procesadores es el esquema SMP (Symmetrical Multiprocessing, multiproceso simtrico). Una arquitectura SMP es bsicamente una expansin de una arquitectura tradicional pero con la adicin de varios procesadores que comparten todos los dems recursos del sistema (memoria principal, almacenamiento secundario, perifricos de entrada y salida). En esta arquitectura no se establece distincin entre los procesadores; todos son jerrquicamente iguales y pueden ejecutar tareas indistintamente. De esta caracterstica viene el nombre de ``simtrica''. Un diagrama de una arquitectura SMP genrica se muestra en la figura (1.1).
Figura 1.1:Arquitectura SMP

En general una arquitectura SMP tiene un equivalente en uniprocesador, y naturalmente un sistema SMP puede ejecutar simultneamente varios programas o aplicaciones, que normalmente podran ejecutarse en el sistema uniprocesador, de manera independiente. Sin embargo, para el uso de aplicaciones que aprovechen los mltiples procesadores para expeditar la realizacin de clculos, nos interesa que dichos procesos no sean totalmente independientes, buscando entonces que cuenten con manera de comunicarse para distribuirse informacin, compartir y consolidar resultados. Ya que un sistema SMP los procesadores comparten todos los perifricos y recursos, el esquema ms obvio para comunicarse en una arquitectura SMP es el uso de memoria compartida. Como el nombre lo indica, en este esquema los procesadores tienen acceso a un espacio de direcciones comn; esto puede ser todo el espacio de direcciones o nicamente un rea designada para memoria compartida, permitiendo a cada proceso contar con un rea exclusiva para sus requerimientos. La memoria compartida es un esquema conceptualmente simple de utilizar. Sin embargo presenta ciertas limitaciones. Una de ellas, ya que se puede tener a dos o ms procesadores manipulando la misma rea de memoria, es que se puede caer en inconsistencias donde un procesador espera un dato que ha sido modificado por otro. Esto tambin puede provocar condiciones de competencia (``race conditions'') y atoramientos (``deadlocks''), que son problemas clsicos de la sincronizacin de procesos, pero que no pueden dejar de tomarse en cuenta en una arquitectura SMP. Estas condiciones pueden resolverse utilizando mecanismos de sincronizacin de procesos, como semforos, monitores y secciones crticas.

La limitacin ms importante de la arquitectura SMP, en trminos del rendimiento mximo que puede alcanzarse, es la posibilidad de saturacin de los buses del sistema. Ya que todos los procesadores tienen acceso al mismo bus de memoria, y en general a todos los perifricos que se encuentran comunicados comnmente por buses, conforme se incrementa el nmero de procesadores se incrementa tambin el trfico en dichos buses. Esto causa una saturacin que finalmente termina por negar el incremento de rendimiento obtenido teniendo varios procesadores. Por esta razn una arquitectura SMP difcilmente puede escalar ms all de algunas decenas de procesadores.

S-ar putea să vă placă și