expo unidad 4

Post on 11-Jul-2015

438 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Unida 4

Álvarez Díaz Gloria Elizabeth

García Rosales Alicia Angélica

Godínez Hernández Diana Karen

Rivera Miranda Elizabeth

Jiménez Hernández Nubia

Díaz Astorga Jessica

Juan Carlos

Configuraciones de Memoria Compartida y Distribuida

• Son sistemas que, mediante software, emulan semántica de memoria compartida sobre hardware que ofrece soporte solo para comunicación mediante paso de mensajes.

• El objetivo principal de estos sistemas es permitir que un multicomputador pueda ejecutar programas escritos para un multiprocesador con memoria compartida.

• En un Sistema Operativo Distribuido, un computador ejecuta los procesos en su memoria propia, pero en caso de necesitar más memoria utilizará los recursos disponibles de otra computadora.

• Formas básicas de lograr compartición de memoria en ambientes distribuidos:

por hardware, por sistema operativo o a nivel de usuario (software).

VISIÓN GENERAL DE LA MCD

COMPUTACIÓN PARALELA

• Un computador paralelo es un conjunto de procesadores capaces de cooperar en la solución de un problema.

• Las instrucciones de cada parte se ejecutan simultáneamente en diferentes CPUs.

Instrucciones

Instrucciones

Instrucciones

Instrucciones

Por qué utilizar computación paralela?

Reducir el tiempo de procesamientoResolver problemas de gran envergadura.Proveer concurrencia.Utilizar recursos remotos de cómputo cuando

los locales son escasos.Reducción de costos usando múltiples

recursos ”baratos” en lugar de costosas supercomputadoras.

Ampliar los límites de memoria para resolver problemas grandes.

4.1.1 De Circuitos Basados en Bus, anillo o con conmutador.

Arquitecturas de MCD

Existen varias formas de implantar físicamente memoria compartida distribuida, a continuación se describen cada una de ellas.

Memoria basada en circuitos: Existe una única área de memoria y cada micro tiene su propio bus de datos y direcciones (en caso de no tenerlo se vuelve un esquema centralizado)

• MCD basada en bus: En este esquema los micros comparten un bus de datos y direcciones por lo que es más barato de implementar, se necesita tener una memoria caché grande y sumamente rápida.

MCD basada en anillos: Es más tolerante a fallos, no hay coordinador central y se privilegia el uso de la memoria más cercana

MCD basada en conmutador: Varios micros se conectan entre sí en forma de bus formando un grupo, los grupos están interconectados entre sí a través de un conmutador.

4.2 Modelos de Consistencia

• La principal problem tica de la ácompartici n de memoria en óambientes distribuidos consiste en el manejo de la consistencia ya que varios procesos distribuidos pueden estar escribiendo en la zona de memoria compartida pudiendo invalidar el contenido de las lecturas que acaban de hacer algunos procesos.

• Para prevenir esta problem tica se áhan planteado muchos mecanismos que permiten evitar la inconsistencia de los datos.

• Una forma b sica pero costosa es áel manejo de replicaci n s lo se ó ódebe considerar la granularidad de la r plica as como la reintegraci n é í óde las modificaciones.

• Se deben considerar el tipo de datos que se est n compartiendo: áp ginas, variables, objetos, etc.á

4.2.1 Estricta Causal Secuencial Débil

Consistencia estricta

• El modelo de consistencia más restrictivo es llamado consistencia estricta y es definido por la siguiente condición:

• Cualquier lectura sobre un ítem de dato x retorna un valor correspondiente con la más reciente escritura sobre x.

Consistencia Causal

• Es un debilitamiento de la consistencia secuencial.

• La condición a cumplir para que unos datos sean causalmente consistentes es:

• Escrituras que están potencialmente relacionadas en forma causal deben ser vistas por todos los procesos en el mismo orden.

Consistencia secuencial

• Es una forma ligeramente más débil de la consistencia estricta. Satisface la siguiente condición:

• El resultado de una ejecución es el mismo si las operaciones (lectura y escritura) de todos los procesos sobre el dato fueron ejecutadas en algún orden secuencial.

Consistencia Débil

• Los accesos a variables de sincronización asociadas con los datos almacenados son secuencialmente consistentes.

Consistencia liberación (Release)

• El modelo de consistencia release, RC [27], se basa en el supuesto de que los accesos a variables compartidas se protegen en secciones criticas empleando primitivas de sincronización, como por ejemplo locks.

4.3 Memoria compartida basada

en páginas

• La MCD propone un espacio de direcciones de memoria virtual que integra la memoria de todas

las computadoras del sistema, y su uso se realiza mediante paginación.

acceso a una posición virtual de

memoria.

comprueba si esa

página se encuentra de forma local.

se provoca un fallo de página, y el

sistema operativo solicita la página al

resto de nodos

Permite el acceso a la posición local

los fallos de página se propagan al resto de ordenadores, hasta que la petición llega al nodo que tiene la página virtual solicitada en su memoria local

Las páginas quedan restringidas a estar necesariamente en un único nodo.

SI

NO

4.3.1 Diseño, Replica, Granularidad, propietario y copias

En una memoria compartida distribuida el espacio de direcciones se separa en pedazos los cuales están dispersos en todos los procesadores del sistema.

Diseño Básico

Replica Consiste en duplicar los pedazos exclusivos para la lectura y escritura. Sin embargo si un pedazo duplicado súbitamente se modifica, hay que realizar una acción especial para evitar la existencia de varias copias inconsistentes.

Granularidad

• Son similares a los multiprocesadores. Cuando se referencia una palabra no local, se trae el pedazo de memoria con la palabra, desde su posición actual y se coloca en el CPU que hace la referencia.

Un aspecto importante es el tamaño de dicho pedazo: una palabra, un bloque, una página o un segmento.

Propietario

• La forma más sencilla de encontrar al propietario de una página es hacer una transmisión y solicitar la respuesta del propietario de la página específica.

Búsqueda de las copias

Hay dos posibilidades:

•La primera consiste en transmitir un mensaje con un numero de paginas y solicitar a todos los procesadores que contengan la pagina que la invaliden.

•La segunda posibilidad consiste en que el propietario o el controlador de páginas mantengan una lista de conjunto de copias, indicando los procesos que posen tal o cual página.

4.4 MCD EN BASE A VARIABLES

Se busca evitar la compartición falsa ejecutando un programa en cada CPU que se comunica con una central. El problema del false sharing puede eliminarse si se utiliza una granularidad mas, usualmente se comparten en los programas paralelos: Las variables.

De ser así el problema ahora consiste en cómo mantener registro de las variables replicadas. Además, es probable que sea más conveniente utilizar una política de actualización y no de invalidación, puesto que en la implementación debe ser posible identificar escrituras a variables individuales.

4.5 MCD EN BASE A OBJETOS

Estos intentan transportar datos por la red utilizando como unidad de manipulación el objeto y no las páginas o las variables. Los procesos que se ejecutan en los distintos computadores que componen el sistema tienen acceso a un espacio de objetos compartidos, en lugar de a un espacio lineal de direcciones.

Gracias por su

atención

top related