La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sistemas Distribuidos y Paralelos

Presentaciones similares


Presentación del tema: "Sistemas Distribuidos y Paralelos"— Transcripción de la presentación:

1 Sistemas Distribuidos y Paralelos
Unidad 2 Conceptos de sistemas distribuidos y paralelos

2 Contenido Escalabilidad Transparencia Consistencia y control de datos
Control de concurrencia Tolerancia a fallas y recuperación

3 Escalabilidad Un sistema distribuido es escalable si su capacidad de procesamiento puede crecer al añadir más nodos Aumenta el rendimiento al aumentar más nodos El tiempo de respuesta no aumenta La fiabilidad no se degrada Un sistema paralelo es escalable para un determinado rango de procesadores si la eficiencia se mantiene constante para todo el rango. A partir de cierto número de procesadores la eficiencia cae

4 Escalabilidad … (2) Escalabilidad  Ampliabilidad Ampliabilidad
Físicamente el sistema acepta nuevos módulos (procesadores, memoria, etc.) Aunque el sistema se amplíe el rendimiento no crece de forma proporcional

5 Transparencia Ocultar al usuario o programador los detalles que dan funcionalidad a un sistema. De manera ideal el usuario no percibe los posibles y normales problemas del sistema. Se pueden producir fallos pero el usuario no los va a notar (Transparencia a las fallas). El sistema puede crecer, pero para ello no habrá que detenerlo (Transparencia de escalabilidad o ampliabilidad) Se podrán compartir y utilizar recursos, pero no será necesario saber dónde están o a dónde se han movido (Transparencia de ubicación) El Usuario no “ve” la competencia y sincronización por los recursos (Transparencia de la concurrencia)

6 Transparencia … (2) Transparencia al paralelismo y su implementación
Partir de la especificación del problema y no detenerse en el modo de descomponerlo en tareas. Requiere mayor nivel de abstracción Muy difícil obtener alta eficiencia Es deseable pero tiene su costo ya que acelera el proceso de producción pero disminuye su eficiencia

7 Transparencia … (3) La transparencia se puede conseguir a dos niveles:
A nivel de usuario Por ejemplo: Cuando un usuario compila con make no necesita saber si se hará de forma secuencial, paralela, en máquinas distintas, utilizando servidores, etc. Simplemente usa el sistema desde su terminal tal como un sistema centralizado A nivel de programación Para mantener la transparencia de la semántica de make una posible solución consistiría en programar un nuevo make considerando la arquitectura del sistema distribuido y/o paralelo. Sin embargo, si no se reescribiera el make centralizado y se ejecutara de forma distribuida, entonces se tiene transparencia de programación real. Los desarrolladores deben contar con una interfaz de programación que oculte y/o encapsule la arquitectura y funcionamiento específico del sistema.

8 Transparencia … (4) En los sistemas distribuidos están identificados 7 tipos de transparencias: De acceso El acceso a objetos locales o remotos utiliza idénticas operaciones De ubicación Permite el acceso a los objetos sin tener conocimiento de su ubicación De réplica Se cuenta con múltiples instancias de objetos sin conocimiento de los usuarios o programas De fallos Las tareas se completan a pesar de los fallos de hardware o software De migración Los objetos se pueden mover de ubicación sin afectar la operación de los usuarios o aplicaciones De configuración Permite la reconfiguración dinámica del sistema para mejorar el rendimiento a medida que varia la carga de trabajo De escala Permite que el sistema o las aplicaciones se expandan sin cambiar la estructura del sistema o los algoritmos de programación.

9 Consistencia y control de datos

10 Consistencia y control de datos … (2)
Consistencia de actualización Se pierde cuando la escritura concurrente en datos compartidos no se realiza como una única acción atómica en exclusión mutua. Es un problema común en BD, o datos compartidos, sin embargo en SD cobra particular importancia porque se puede tener un mayor número de usuarios. La inconsistencia de actualización se evita utilizando Transacciones. Primitivas equivalentes a la entrada y salida de una sección crítica cuando se utilizan datos compartidos. Garantizan que todas las operaciones involucradas en la transacción se realizan todas o no se realiza ninguna. Existe otra primitiva que permite abortar una transacción anulando cualquier operación que se hubiera realizado. ACID Acrónimo relacionado con las propiedades de las transacciones Atomicity, Consistency, Isolation, Durability. Ejemplos:

11 Consistencia y control de datos … (3)
Consistencia de replica Se da cuando un conjunto de datos debe mantenerse replicado en varios nodos del sistema, pudiendo ser modificado por cualquiera de ellos. Si la modificación no se refleja en todos ocurre una inconsistencia de replica. La replicación de datos puede mejorar la velocidad del sistema y la tolerancia a fallos. Ejemplo: En un juego multiusuario en red la acción de un jugador debe propagarse inmediatamente al resto de los equipos de los otros jugadores, de no ser así cada jugador tendría una versión distinta del juego.

12 Consistencia y control de datos … (4)
Consistencia de cache En los sistemas distribuidos, cuando se accede a un recurso remoto es posible guardar una copia de forma local para facilitar su acceso en lo posterior. Existe un problema de coherencia cuando alguien modifica su copia de forma local. En sistemas paralelos cada núcleo (procesador) cuenta con su propia cache. Existe un problema de coherencia cuando un procesador modifica un dato de su cache, y ese dato también está en la cache de otro procesador. Posibles soluciones Caches locales Memoria cache compartida Caches privadas con protocolos de escucha Caches privadas con directorio compartido

13 Consistencia y control de datos … (5)
Consistencia de reloj Muchos de los algoritmos utilizados en aplicaciones y programación de sistemas dependen de marcas de tiempo timestamps que indican el momento en el que ha sucedido un evento.

14 Consistencia y control de datos … (6)
Consistencia de interfaz de usuario Las aplicaciones interactivas pueden tener un comportamiento (en términos de acción-respuesta) similar a la de los sistemas centralizados en los que las respuestas a las acciones del usuario también pueden ser lentas e irregulares (dependiendo de la carga del sistema centralizado o del tráfico en la red del sistema distribuido).

15 Control de concurrencia
Cuando se ejecutan varias transacciones de manera simultánea en distintos procesadores, se necesita cierto mecanismo para mantener a cada uno lejos del camino del otro. Este mecanismo es llamado algoritmo de control de concurrencia.

16 Control de concurrencia … (2)
En un sistema paralelo se tienen mecanismos de comunicación y sincronización para el control de concurrencia Tuberías, mutex, semáforos, sockets, entre otros. Por otro lado, un sistema distribuido es inherentemente concurrente, se debe asegurar: Linealidad El resultado de la ejecución de las llamadas concurrentes debe ser equivalente a su ejecución secuencial. Seriación El resultado de la ejecución de secuencias de operaciones ejecutadas concurrentemente deben ser equivalentes a la ejecución secuencial de cada una de estas secuencias

17 Control de concurrencia … (3)
Algoritmos de control de concurrencia en sistemas distribuidos: Cerradura Es el algoritmo más antiguo Cuando un proceso necesita leer o escribir en un objeto primero lo cierra. El sistema mantiene una lista de objetos cerrados. Un objeto solo puede ser cerrado por un proceso a la vez si la operación es de escritura. Variantes: Cerradura de dos fases La primera obtiene todas las cerraduras, la segunda las libera Control optimista de la concurrencia Hace todo lo que se debe llevar a cabo, sin prestar atención a lo que hacen los demás. Si existe un problema hay que preocuparse por el después. Se aborta la transacción Se basa en la premisa de que los problemas no son frecuentes. Sin embargo en condiciones de carga pesada la premisa no se cumple. Marcas de tiempo Asocia a cada transacción una marca de tiempo Se utiliza el algoritmo de Lamport para garantizar que las marcas son únicas Se compara que la marca de tiempo del objeto sea más antigua que la marca de tiempo de la transacción activa.

18

19 Tolerancia a fallas y recuperación

20 Tolerancia a fallas y recuperación … (2)
Un sistema distribuido es inherentemente más propenso a errores El sistema será tolerante a fallos si el sistema cumple con sus especificaciones a pesar de la presencia de fallos Se debe asegurar: Disponibilidad Los recursos deben estar disponibles a pesar de que hay fallos Atomicidad La consistencia de los recursos se debe asegurar a pesar de fallos

21 Tolerancia a fallas y recuperación … (3)

22 Tolerancia a fallas y recuperación … (4)

23 Tolerancia a fallas y recuperación … (5)


Descargar ppt "Sistemas Distribuidos y Paralelos"

Presentaciones similares


Anuncios Google