Sie sind auf Seite 1von 49

Multiprocesamiento

Ing. Laura Saboro Oviedo

Concepto
Consiste en configurar un sistema con varios procesadores. Actualmente, los empaquetados poseen varios ncleos de proceso, pero en grandes empresas se manejan equipos con gran cantidad de procesadores.

Confiabilidad
Si un procesador falla, los dems siguen operando y debe haber un informe de la falla de parte del SO. Si existe un fallo, se procede a la reasignacin de recursos para evitar la sobrecarga.

Paralelismo
No se explota como se debera el paralelismo, lo que se realiza es un incremento en la capacidad de ejecucin en forma secuencial. El software para explotar el paralelismo es escaso y complicado. Lo deseable es que los Sistemas Operativos y compiladores puedan detectar e implementar el paralelismo automticamente

Paralelismo Masivo
Se debe disponer de suficientes procesadores como para que todas las operaciones que puedan ser ejecutadas en paralelo puedan ser asignadas a procesadores separados. Disponiendo del paralelismo masivo, cul es el tiempo mnimo requerido para ejecutar un algoritmo determinado?.

Metas del Multiprocesamiento


Confiabilidad Disponibilidad Incremento del poder de la computacin Diseo modular que proporciona flexibilidad Facilidad para expandir la capacidad.

Deteccin automtica del Paralelismo


Los sistemas de computacin obtienen los beneficios del procesamiento concurrente ms por la multiprogramacin de varios procesos y menos por la explotacin del paralelismo dentro de un solo proceso.

Paralelismo Explcito
Es indicado de forma especfica por un programador mediante una construccin de concurrencia. Se pueden utilizar procesadores separados para ejecutar cada una de las proposiciones. Es susceptible de errores de programacin difciles de detectar y depurar. El programador puede omitir tratar situaciones donde sera aplicable el paralelismo.

Paralelismo Implcito
La verdadera esperanza est en la deteccin automtica del paralelismo implcito. Es el paralelismo intrnseco del algoritmo pero no establecido explcitamente por el programador. Los compiladores explotan el paralelismo implcito mediante las tcnicas de distribucin de ciclos y de reduccin de la altura del rbol.

Distribucin de ciclos
Una estructura de ciclos o de repeticin implica la repeticin de una serie de proposiciones (cuerpo del ciclo) hasta que ocurre alguna condicin de terminacin.

Ejemplo de ciclo
For i = 1 to 3 Do a(i) = b (i) + c (i); El procesador secuencial realizar en secuencia lo siguiente:

Reduccin de la altura del rbol


Utilizando las propiedades asociativa, conmutativa y distributiva de la aritmtica, los compiladores pueden:
Detectar el paralelismo implcito en expresiones algebraicas. Producir un cdigo objeto para multiprocesadores que indique las operaciones que se pueden realizar simultneamente. Reordenar expresiones para que sean ms apropiadas para la computacin en paralelo.

Reduccin de la altura del rbol por asociatividad

Reduccin de la altura del rbol por conmutatividad

Reduccin de la altura del rbol por distributividad

Organizacin del HW del Multiprocesador


Los multiprocesadores se caracterizan por los siguientes aspectos:
Un multiprocesador contiene dos o ms procesadores con capacidades aproximadamente comparables. Todos los procesadores comparten el acceso a un almacenamiento comn y a canales de Entrada / Salida, unidades de control y dispositivos. Todo est controlado por un Sistema Operativo que proporciona interaccin entre procesadores y sus programas en los niveles de trabajo, tarea, paso, archivo y elementos de datos.

Organizaciones ms comunes
Tiempo compartido o bus comn (conductor comn). Matriz de barras cruzadas e interruptores. Almacenamiento de interconexin mltiple.

Tiempo compartido
Usa un solo camino de comunicacin entre todas las unidades funcionales. El bus comn es en esencia una unidad pasiva. Un procesador o procesador de Entrada / Salida que desee transferir datos debe efectuar los siguientes pasos:
Verificar la disponibilidad del conductor y de la unidad de destino. Informar a la unidad de destino de lo que se va a hacer con los datos. Iniciar la transferencia de datos.

Tiempo Compartido
Las unidades receptoras deben poder reconocer qu mensajes del bus son enviados hacia ellas y seguir y confirmar las seales de control recibidas de la unidad emisora. Es una organizacin econmica, simple y flexible pero con una sola va de comunicacin, por lo cual:
El sistema falla totalmente si falla el bus. La tasa neta de transmisiones est limitada por la tasa neta de transmisin del conductor. La contencin por el uso del bus en un sistema sobrecargado puede ocasionar una seria degradacin.

Tiempo Compartido

Matriz de Barras Cruzadas e Interruptores


Existe un camino diferente para cada unidad de almacenamiento, por lo cual las referencias a dos unidades diferentes de almacenamiento no son bloqueantes sino simultneas y la multiplicidad de caminos de transmisin puede proporcionar tasas de transferencia muy altas .

Matriz de Barras Cruzadas e Interruptores

Almacenamiento de Interconexin Mltiple


Se obtiene al sacar las lgicas de control, de conmutacin y de arbitraje de prioridades fuera del interruptor de barras cruzadas y se las coloca en la interfaz de cada unidad de almacenamiento. Cada unidad funcional puede acceder a cada unidad de almacenamiento, pero slo en una conexin de almacenamiento especfica, es decir que hay una conexin de almacenamiento por unidad funcional

Almacenamiento de Interconexin Mltiple


El conexionado es ms complejo que en los otros esquemas. Se puede restringir el acceso a las unidades de almacenamiento para que no todas las unidades de procesamiento las accedan, en tal caso habr unidades de almacenamiento privadas de determinados procesadores

Almacenamiento de Interconexin Mltiple

Almacenamiento de Interconexin Mltiple

Grados de Acoplamiento en Multiprocesamiento


Pueden clasificarse en:
Ligeramente acoplados
Conexin de dos o ms sistemas independientes por enlace de comunicacin Cada sistema tiene su SO y almacenamiento Funcionan independientemente y se comunican cuando lo necesitan. Pueden acceder a los archivos de los otros e intercambiar tareas entre procesadores.

Grados de Acoplamiento en Multiprocesamiento


Rgidamente acoplados
Solo utilizan almacenamiento compartido por varios procesadores Tiene solo un SO que controla todos los procesadores y el hardware del sistema.

Ligeramente acoplados

Rgidamente acoplados

Organizacin Maestro/Satlite
Un procesador est diseado como el maestro y los otros como satlites. El procesador maestro es de propsito general y realiza operaciones de Entrada / Salida y computaciones. Los procesadores satlites slo realizan computaciones y otros procesos limitados.

Organizacin Maestro/Satlite
Los procesos de E/S ejecutados por satlites pueden resultar ineficientes. Si un satlite falla, se pierde capacidad pero no el sistema. Si el maestro falla, falla el sistema, el satlite puede asumir las funciones con un reinicio del sistema. En el multiprocesamiento simtrico todos pueden hacer Entrada / Salida.

Sistema Operativo de Multiprocesadores


Capacidades Funcionales:
Asignacin y administracin de recursos. Proteccin de tablas y conjuntos de datos. Prevencin contra el interbloqueo del sistema. Terminacin anormal. Equilibrio de cargas de Entrada / Salida. Equilibrio de carga del procesador. Reconfiguracin.

Sistema Operativo de Multiprocesadores


Las organizaciones bsicas de los Sistemas Operativos para multiprocesadores son las siguientes:
Maestro / satlite. Ejecutivo separado para cada procesador. Tratamiento simtrico (o annimo) para todos los procesadores

Maestro/Satlite
Fcil de implementar No optimiza el uso del hardware, solo el maestro puede ejecutar el SO. Las interrupciones de los satlites son atendidas por el SO del maestro generando largas colas.

Ejecutivos Separados
Cada procesador tiene su SO y responde a sus interrupciones. Tablas de control de todo el sistema Ms confiable Cada procesador controla sus recursos Reconfiguracin de E/S implica cambio de procesadores. No hay cooperacin en procesos asignados en forma individual.

Tratamiento Simtrico
Es complicada de implementar, pero es la ms poderosa y confiable. El SO administra un grupo de procesadores, que pueden usar los dispositivos de E/S y las unidades de almacenamiento. El SO precisa cdigo reentrante y exclusin mutua. Equilibra la carga de una mejor manera.

Tratamiento Simtrico
El hardware y software resuelven conflictos. Todos los procesadores cooperan en la ejecucin de un proceso determinado. El procesador ejecutivo es el responsable de las tablas y funciones del sistema para evitar conflictos de la informacin global.

Rendimiento del Sistema Multiprocesamiento


Agregar otro procesador no implica que aumenta la capacidad de ejecucin. Ya que:
Hay sobrecarga adicional del Sistema Operativo. Se incrementa la contencin por recursos del sistema. Hay retrasos del hardware en el intercambio y en el encaminamiento de las transmisiones entre un nmero mayor de componentes.

Recuperacin de Errores
Una de las capacidades ms importantes de los Sistemas Operativos de multiprocesadores es la de soportar fallas de hardware en procesadores individuales y continuar su operacin. Debe existir el soporte correspondiente en el Sistema Operativo.

Tcnicas de recuperacin de errores


Los datos crticos (del sistema y de usuario) deben mantenerse en copias mltiples y en bancos de almacenamiento separados. El Sistema Operativo debe ejecutar efectivamente con la configuracin mxima y con subconjuntos ante fallas.

Tcnicas de recuperacin de errores


Debe haber capacidad de deteccin y correccin de errores de hardware sin interferir con la eficiencia operacional del sistema. Se debe utilizar la capacidad ociosa del procesador para tratar de detectar posibles fallos antes de que se produzcan. El Sistema Operativo debe dirigir un procesador operativo para que tome el control de un proceso que se estaba ejecutando en un procesador que falla.

Multiprocesamiento Simtrico
Cada procesador posee capacidades funcionales completas. Los dispositivos de E/ S pueden ser conectados a cada uno de los procesadores. Todas las llamadas al supervisor pueden ser ejecutadas en todos los procesadores, inclusive las de E/S.

Multiprocesamiento Simtrico
Si un programa en ejecucin en un procesador pide una operacin de E/S en un dispositivo conectado a un procesador diferente, el procesador puede continuar ejecutando el trabajo y la E/S se coloca en una cola para su iniciacin por el procesador apropiado.

Multiprocesamiento Simtrico
Se considera procesador ejecutante al que est ejecutando un proceso determinado. Se considera procesador propietario al que est conectado a los diferentes dispositivos utilizados por el proceso. Ms eficiente que la maestro/satlite Cada procesador puede ejecutar el planificador para buscar el sgte. Trabajo a ejecutar.

Multiprocesamiento Simtrico
Utiliza una sola cola de trabajos y cada procesador puede seleccionar trabajos de ella, con lo cual se equilibra la carga entre los procesadores Para minimizar la contencin en el despacho de procesos, los relojes de los procesadores tienen oblicuidad, debido a ello las interrupciones de reloj ocurren en diferentes momentos.

Multiprocesamiento Simtrico

Tendencias de los Multiprocesadores


Se incrementa el uso de los multiprocesadores por estas razones:
La confiabilidad requerida es cada vez mayor. La reduccin de costos consecuencia de los avances en microelectrnica. El previsible desarrollo de lenguajes que permitan a los usuarios expresar el paralelismo explcitamente. El progreso en la deteccin automtica del paralelismo . El hecho de que se estara llegando a los lmites del uniprocesador, la nica posibilidad de incrementar capacidad de cmputo es mediante multiprocesamiento.

Das könnte Ihnen auch gefallen