35
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

Expo unidad 4

Embed Size (px)

Citation preview

Page 1: Expo unidad 4

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

Page 2: Expo unidad 4

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.

Page 3: Expo unidad 4

• 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.

Page 4: Expo unidad 4

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

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

Page 5: Expo unidad 4

VISIÓN GENERAL DE LA MCD

Page 6: Expo unidad 4

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

Page 7: Expo unidad 4

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.

Page 8: Expo unidad 4

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

Page 9: Expo unidad 4

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)

Page 10: Expo unidad 4

• 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.

Page 11: Expo unidad 4

4.2 Modelos de Consistencia

Page 12: Expo unidad 4

• 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.

Page 13: Expo unidad 4

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

Page 14: Expo unidad 4

• 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.á

Page 15: Expo unidad 4

4.2.1 Estricta Causal Secuencial Débil

Page 16: Expo unidad 4

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.

Page 17: Expo unidad 4

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.

Page 18: Expo unidad 4

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.

Page 19: Expo unidad 4

Consistencia Débil

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

Page 20: Expo unidad 4

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.

Page 21: Expo unidad 4

4.3 Memoria compartida basada

en páginas

Page 22: Expo unidad 4

• 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.

Page 23: Expo unidad 4

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

Page 24: Expo unidad 4

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

Page 25: Expo unidad 4

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

Page 26: Expo unidad 4

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.

Page 27: Expo unidad 4

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.

Page 28: Expo unidad 4

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.

Page 29: Expo unidad 4

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.

Page 30: Expo unidad 4

4.4 MCD EN BASE A VARIABLES

Page 31: Expo unidad 4

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.

Page 32: Expo unidad 4

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.

Page 33: Expo unidad 4

4.5 MCD EN BASE A OBJETOS

Page 34: Expo unidad 4

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.

Page 35: Expo unidad 4

Gracias por su

atención