Construcción de Sistemas Distribuidos “Transacciones Distribuidas”

Slides:



Advertisements
Presentaciones similares
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities scuola.
Advertisements

1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
Capitulo 7: Procesamiento batch y el Job Entry Subsystem (JES)
Construcción de Sistemas Distribuidos Rogelio Ferreira Escutia
“Fundamentos de Sistemas Distribuidos”
Curso de Java Java – Redes Rogelio Ferreira Escutia.
Tabla de Contenido Concurrencia.
Sincronización en sistemas distribuidos
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
Integrantes: Andres Marin Castelblanco Karem Moreno Pacheco Alexandra Ardila.
Área Razón Social 0 0 Telefónica Servicios Audiovisuales S.A. / Telefónica España S.A. Título de la ponencia / Otros datos de interés / Kit.
IBD Clase 17.
Planificador de Procesos
Los Objetos de la Clase Escriban la palabra (the word) en español para los objetos de la clase (#1-20).
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Verificación de los Datos Santo Domingo, Marzo 2012 LLECE - TERCE.
LLECE - TERCE WinW3S Una introducción Santo Domingo, Marzo 2012.
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
C ONFIGURACIÓN C UENTAS D E C ORREO ZTE N281. C ONFIGURACIÓN C UENTAS D E C ORREO ZTE N281 1-Ingrese a menú 2-Ingrese a Mensajes 3-Ingrese a Correo 4-Seleccione.
¿Cuál debe ser el valor de b, para que el número que resulta al reemplazar b en la expresión 5 (b + 2) + 3 sea múltiplo de 5?
Funciones Excel. Parte 1. Introducción 2 Una función Excel es una fórmula o un procedimiento que se realiza en el ambiente de Visual Basic, fuera de.
APLICAWEB SERVICIOS LEGALES DE PUERTO RICO
Base de Datos Distribuidas Bases de Datos II Universidad Argentina J. F. Kennedy - Año 2008 Maletin Yahoo => briefcase.yahoo.com Usuario => bd2_jfk Pssw.
Phone2Wave-Server Manual de Operación.
Gerencia de Programas Federales de Agua Potable y Alcantarillado Evolución del Sistema Informático de Contraloría Social (SICS) Veracruz, Ver. 2 de octubre.
PROCESO DE CONTRATACIÓN 1 Ventanas en Cif-KM Proceso contratación de obra
Parte 3. Descripción del código de una función 1.
INFORME USDA NOVIEMBRE TRIGO 2 MERCADO INTERNACIONAL (Millones de Toneladas) 3.
Tema 1.- Aritmética. 1.-Usar el algoritmo de Euclides para calcular el máximo común divisor de a y b y expresarlo en función de a y b para: a) a= 56,
Confiabilidad en Bases de Datos Distribuidas
EL OSO APRENDIZ Y SUS AMIGOS
1 SEGUNDO FORO REGIONAL HERMOSILLO, SON Sistema Nacional de Transparencia Fiscalización y Rendición de Cuentas:
Proyecto para Centros que trabajan una vez por semana.
3 Enero 2010 PERÚ: IV CENSO NACIONAL ECONÓMICO, APURÍMAC.
Inter bloqueo DeadLock.
PASOS PARA EL FORMATEO DE UN PC
Programación dinámica (1)
Control de versiones, configuración y cambios
CULENDARIO 2007 Para los Patanes.
Reunión de los requerimientos de la red
3 Preguntas Por: Rogelio Ferreira Escutia. ¿Has sentido a veces que tu vida va muy de prisa?
BEATRIZ LAFONT VILLODRE
ESTADOS FINANCIEROS A DICIEMBRE DE 2013.
APENDICE TEMA 4. MÉTRICA DE LOS PUNTOS DE FUNCIÓN
“¿Qué Pienso de mi futuro?”
AUDITORIA DE LA SEGURIDAD en Telecomunicaciones y redes de computadoras Unidad VI.
1 ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL PRESENTACIÓN DE LA TESIS Presentada por: Guayaquil, Noviembre 2007 ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL.
Teoría de Sistemas Operativos
SATISFACCION DE RESTRICCIONES Sección 1-3
© 2004 ACNielsen 1 Población Infantil de la Comunidad de Madrid (de 3 a 10 años) 13%12%13%12%13%12%13%12% Fuente: INE. Padrón Municipal 2004 Total población.
ESTRATEGIAS DE BUSQUEDA A CIEGAS
Administración del Procesador
Estructuras de control
Manual de Procedimientos Procedimiento de ejecución del programa de
Recursos humanos y responsabilidad social corporativa
“Android – Hola Mundo” Rogelio Ferreira Escutia. 2 Creación del Proyecto.
DISEÑO DE LA PROPUESTA DEL PROCESO DE RENDICION DE CUENTAS 2014 Coordinación General de Planificación Ministerio de Agricultura, Ganadería, Acuacultura.
Concurrencia: interbloqueo e inanición
Deadlocks Abrazo Mortal Bloqueos mutuos
Conceptos generales: Concurrencia: Existencia simultánea de varios procesos en ejecución. IMPORTANTE: EXISTENCIA SIMULTÁNEA NO IMPLICA EJECUCIÓN SIMULTÁNEA.
Sincronización de Relojes
Transacciones seguras  Concurrencia Ing. Yeberth Martinez Programación II.
Administración de Base de Datos Recuperación Prof Mercy Ospina Torres
Bd NoSQL Técnicas II PROFA. MERCY OSPINA
Bd NoSQL Técnicas II PROFA. MERCY OSPINA
Transcripción de la presentación:

Construcción de Sistemas Distribuidos “Transacciones Distribuidas” Rogelio Ferreira Escutia

Transacciones Distribuidas

Transacciones Distribuidas 3

Transacciones Distribuidas Características: 1) Atómicas: Se hace completa o no se hace 2) Consistentes: Sus datos deben mantener la congruencia entre sus datos 3) Aisladas: Las transacciones concurrentes no interfieren entre sí. 4) Durables: Una vez comprometida la transacción, los cambios son permanentes. Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 4

Transacciones Distribuidas Primitivas de Transacción: BEGIN_TRANSACTION (inicio de transacción)‏ END_TRANSACTION (fin de transacción)‏ ABORT_TRANSACTION (deshacer operación)‏ READ (leer datos de un archivo u objeto)‏ WRITE (escribir datos a un archivo u objeto)‏ Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 5

Transacciones Distribuidas Transacciones Locales y Distribuidas Distributed Systems - Tanenbaum 6

Transacciones Distribuidas Bitácora: Es un archivo que permite deeshacer las operaciones realizadas sobre una o varias bases de datos en caso de que falle la transacción. Esto se hace con el fin de mantener la integridad de la información y que la transacción sea atómica. Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 7

Transacciones Distribuidas Manejador de transacciones Distributed Systems - Tanenbaum 8

Transacciones Distribuidas Bitácora de escritura Anticipada: También conocida como Lista de Intenciones. Antes de hacer modificaciones sobre los datos se escribe en la bitácora un registro indicando los valores anteriores y nuevos. Una vez realizado esto, se modifican los datos, dejando un registro de las operaciones realizadas en la bitácora. Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 9

Transacciones Distribuidas Protocolo de compromiso de 2 fases: Un compromiso es la acción de llevar a cabo una transacción de manera atómica. En un S.D. Un compromiso puede requerir correr varios procesos en diferentes computadoras para lograr la transacción. El protocolo para las transacciones más utilizado es el de 2 fases propuesto por Gray en 1978. Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 10

Transacciones Distribuidas Protocolo de compromiso de 2 fases: Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 11

Exclusión Mutua

Transacciones Distribuidas Exclusión mutua: Centralizada Se escoge un proceso como coordinador. Cuando un proceso requiere entrar a la sección crítica le envía un solicitud al coordinador. Si no hay petición el coordinador le concede entrar. Si hay otro proceso que pide entrar, el coordinador selecciona quien entra (puede ser por prioridad, por tiempo, por llegada, etc.)‏ Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 13

Transacciones Distribuidas Exclusión mutua: Centralizada Distributed Systems – George Coulouris – Addison Wesley 1994 14

Transacciones Distribuidas Exclusión mutua: Distribuida Un proceso 1 que quiere entrar a la sección crítica envía un mensaje a todos los nodos indicándoles el id de su proceso, fecha/hora y operación. El proceso 1 debe recibir un OK de los demás procesos para poder entrar. Si otro proceso 2 desea entrar entonces el proceso 1 recibirá el id del proceso 2 y por medio de la marca de tiempo o prioridad, el proceso 1 entrará o no la sección crítica. Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 15

Transacciones Distribuidas Exclusión mutua: Distribuida Distributed Systems – George Coulouris – Addison Wesley 1994 16

Transacciones Distribuidas Exclusión mutua: en Anillo Cada proceso tiene una posición dentro del anillo lógico. Cada proceso sabe quien esta antes y después de él. Hay sólo una ficha (o token) que se encuentra en el anillo. El proceso que tiene la ficha es la que entra en la sección crítica. Si el proceso no desea entrar, pasa la ficha a la siguiente posición y asi sucesivamente hasta que se ocupe. Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 17

Transacciones Distribuidas Exclusión mutua: En anillo Distributed Systems – George Coulouris – Addison Wesley 1994 18

Transacciones Distribuidas Cada 0 a n-1 Cada1 a infinito Anillo Fallo de cualquier proceso 2(n-1)‏ Distribuido Fallo en el coordinador 2 3 Centralizado Problemas Retraso Mensajes necesarios Algoritmo Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 19

Concurrencia

Transacciones Distribuidas Procesos Concurrentes z = 1; print (x, y); y = 1; print (x, z); x = 1; print ( y, z); Process P3 Process P2 Process P1 Distributed Systems - Tanenbaum 21

Transacciones Distribuidas Control de Concurrencia: Cuando se ejecutan varias transacciones de manera simultánea en distintos procesos se requiere de un algoritmo de control de concurrencia para mantener la sincronía de los procesos. Los métodos utilizados: Cerradura Optimista Marcas de tiempo Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 22

Transacciones Distribuidas Concurrencia Distributed Systems - Tanenbaum 23

Transacciones Distribuidas Cerradura: Es el mas antiguo y mas usado. Cuando un proceso necesita leer o escribir en un archivo como parte de una transacción, primero lo bloquea. El bloque puede ser a nivel de toda la base, una tabla o un registro. Para que otros procesos puedan trabajar debe bloquearse solo el registro a modificar. Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 24

Transacciones Distribuidas Cerradura de 2 fases: Para lograr el bloqueo, primero se van aplicando las cerraduras adecuadas hasta lograr bloquear el / ó los registros necesarios (Primera fase: de crecimiento). Después se modifica la información. Por último se liberan las cerraduras (Segunda fase: de contracción). Mediante esta técnica, todos los procesos son serializables. Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 25

Transacciones Distribuidas Bloqueo de 2 fases Distributed Systems - Tanenbaum 26

Transacciones Distribuidas Bloqueo de 2 fases Distributed Systems - Tanenbaum 27

Transacciones Distribuidas Control Optimista: Propuesto por Kung y Robinson en 1981 se basa en realizar todas las operaciones que se quieran sin importar lo que hagan los demás. Si existe un problema de concurrencia con otro proceso que modificó la misma información entonces se procede a deshacer la operación. Para ello utiliza un registro donde se encuentran las operaciones que se han realizado. En el momento de un compromiso se verifican las demas transacciones para ver si alguno de los archivos ha sido modificado desde el inicio de la transacción, si esto occure se aborta la transacción. Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 28

Transacciones Distribuidas Marcas de Tiempo: Propuesto por Reed en 1983 y se basa en el algoritmo de Lamport. Hace una marca de tiempo al momento de iniciar una transacción. Se debe garantizar que las marcas son únicas. Las marcas permiten realizar la atención de transacciones en forma ordenada. Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 29

Algoritmos de Exclusión en caso de falla

Transacciones Distribuidas Algoritmos de Elección: Grandulón P envía un mensaje de elección a los demás procesos. Si nadie responde, P gana la elección y se convierte en el coordinador. 3) Si uno de los procesos con un número mayor responde, toma el control y el trabajo de P termina Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 31

Transacciones Distribuidas Algoritmos de elección: Grandulón Distributed Systems – George Coulouris – Addison Wesley 1994 32

Transacciones Distribuidas Algoritmos de Elección: Anillo Se ordenan en orden jerárquico los procesos. El sucesor del coordinador detecta el error y envía un mensaje de elección a los demás procesos en anillo, cada proceso pone su número y lo pasa al siguiente activo. Al final regresa al que lo inició un manda un mensaje donde indica quién ganó. Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 33

Transacciones Distribuidas Algoritmos de elección: Anillo Distributed Systems – George Coulouris – Addison Wesley 1994 34

Transacciones Distribuidas Interbloqueo: Surge cuando un proceso busca el recurso ocupado por otro proceso y a su vez este proceso busca otro recurso, formado una cadenita que al final se cierra, por lo cual ningún proceso puede avanzar. Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 35

Transacciones Distribuidas Estrategias para combatir los interbloqueos: Detección: Permitirlos y después recuperarlos. Prevención: Implementarlos desde la estructura. Evitarlos: Asignar recursos cuidadosamente (estimar los recursos es difícil). Sistemas Operativos Distribuidos – Tanenbaum – Prentice Hall 1996 36

Transacciones Distribuidas Réplicas Distributed Systems - Tanenbaum 37

Transacciones Distribuidas Fin Transacciones Distribuidas