SlideShare una empresa de Scribd logo
1 de 33
Bd NoSQL
Técnicas
PROFA. MERCY OSPINA
mercy.ospinat@gmail.com
Agenda
Consistencia
Ordenación de Eventos
Exclusión Mutua
Control de concurrencia
Disponibilidad
Partición
Replicación
Elección y consenso
Consistencia
 Un sistema distribuido es generalmente
considerado consistente si después de una
operación de actualización de algún escritor todos
los lectores ven esa actualización de alguna fuente
de datos compartida.
 Consistencia secuencial: Las actualizaciones de un
cliente se aplican en el orden en que fueron
enviadas
Modelo de un sistema
distribuido
Modelo de sistema:
◦ Compuesto por nodos.
◦ Procesos secuenciales {P1, P2, ...Pn} que ejecutan un algoritmo local
(en cada nodo)
◦ Canales de comunicación
Eventos en Pi
◦ Ei = {ei1, ei2, ...ein}
Tipos de eventos locales
◦ Internos (cambios en el estado de un proceso)
◦ Comunicación (envío, recepción)
Modelo de un sistema
distribuido
Un sistema distribuido se puede modelar como un
sistema de transición de estados STE (C, → , I)
1. C es un conjunto de estados
2. → describe las posibles transiciones(→ ⊆ C × C)
3. I describe los estados iniciales(I ⊆ C)
El estado de un sistema distribuido, C, se puede
describir como
◦ La configuración actual de cada proceso/procesador
◦ Los mensajes en tránsito por la red
Modelo de un sistema
distribuido
En un sistema distribuido el estado global se encuentra
distribuido entre los nodos
◦ Cada nodo posee una visión subjetiva del estado global
◦ Dos eventos pueden ser vistos en distintos orden por distintos
observadores
Modelo de un sistema
distribuido
Algoritmo local:
◦ Un proceso cambia de un estado a otro (evento interno)
◦ Un proceso cambia de un estado a otro y envía un mensaje a otro
proceso (evento de envío)
◦ Un proceso recibe un mensaje y cambia su estado (evento de
recepción)
Restricciones
◦ Un proceso p solo puede recibir un mensaje después de haber sido
enviado por otro
◦ Un proceso p solo puede cambiar del estado c al estado d si está
actualmente en el estado c
Modelo de un sistema
distribuido
Algoritmos Distribuidos: Los algoritmos distribuidos
deben tener las siguientes propiedades:
◦ La información relevante se distribuye entre varias máquinas
◦ Los procesos toman las decisiones sólo en base a la
información local
◦ Debe evitarse un punto único de fallo
◦ No existe un reloj común
Estados globales y tiempo
Consideramos un sistema distribuido como una
coleccion P de N procesos pi , con i = 1; 2; : : : ;N.
◦ Cada proceso pi ejecuta en un procesador independiente
◦ Como no hay memoria compartida solo se comunican por
paso de mensajes: send y recv
◦ Cada proceso pi tiene un estado si que cambia durante la
ejecución.
Evento
• Ocurrencia de una acción individual send, recv u otra acción que
cambie el estado del pi
Historia
Los eventos dentro de pi poseen un orden total,
definido por la relacion → i
Ahora es posible definir la historia del proceso pi
Relación ocurre antes
• e1 →i e2 ↔ e1 ocurre antes que e2 en pi .
Historia de pi
Serie de eventos que ocurren en pi denidos por la relacion →i
history (pi ) = hi = <e i
0 , e i
1 , ei
2 , ….>
Relojes
Físicos
◦ UTC
◦ Algoritmo de Christian
◦ Algoritmo de Berkeley
Orden causal
◦ Timestamp
◦ Vector Clock
Relojes Físicos
Definiciones:
• normalmente UTC =Time Coordinated Universal Time
Tiempo físico de
referencia:
• periodo entre dos actualizaciones del registro del tiempo
local, debe ser menor que el intervalo de tiempo mínimo
entre dos eventos producidos consecutivamente en el nodo
Resolución:
• diferencia entre el tiempo local y el tiempo físico de
referencia en un instante
Desviación
(offset, skew, q):
• desviación por unidad de tiempo (lo que adelanta o atrasa el
reloj)Deriva (drift, d):
• Desviación máxima que se puede garantizar en el ajuste de
un reloj
Precisión
(accuracy):
Relojes Físicos
Sincronización: procedimiento por el que se ajusta el
valor de un reloj a un tiempo físico de referencia con
una precisión preestablecida (UTC)
Externa: Se busca una fuente externa de referencia
fiable
Interna:
◦ Centralizada: Utiliza un servidor de tiempos que proporciona
una referencia fiable (Algoritmo de Christian – 1989)
◦ Distribuida: El coordinador solicita los tiempos a los demás
nodos para calcular un tiempo medio (Algoritmo de Berkeley -
1989)
Relojes Físicos
Algoritmo de Christian (1989)
◦ el cliente envía una petición al servidor (mreq)
◦ el servidor contesta enviando la referencia de tiempo en otro
mensaje (mt)
◦ retardo de los mensajes: min + d
◦ min es el tiempo mínimo de transmisión. Es constante y se puede determinar a
partir de las características de la red
◦ d es variable y depende de la carga del sistema y de la red
◦ t(mt): tiempo devuelto por el servidor en el mensaje mt
◦ D: tiempo desde que se envía mreq y se recibe mt
◦ min: tiempo mínimo de transmisión de un mensaje
◦ Suposición: el servidor asigna la referencia t(mt) en la mitad
del intervalo
◦ D-2*min (instante t en el cliente). Así se logra la mejor
precisión
◦ Desviación: q = t - t(mt) = t1 - D/2 - t(mt)
◦ Precisión = D/2 – min
Relojes Físicos
Algoritmo de Berkeley (1989)
◦ Motivación: Las diferentes desviaciones de los tiempos locales
tienden a cancelarse entre ellas en torno a un tiempo medio que se
puede tomar como referencia fiables para la sincronización interna.
◦ El coordinador solicita los tiempos a los demás nodos y calcula un
tiempo medio a partir de las medidas obtenidas, excluyendo las
respuestas espurias y las que no llegan en plazo
◦ T = Σ(t(mi) - Di/2) / N
◦ El coordinador envía a cada nodo su desviación con respecto a la
media, para que realice el ajuste
◦ θi = t(mi) - Di/2 - T
◦ Si el coordinador falla, se elige un nuevo coordinador
Algoritmo de Berkeley
a) El demonio de tiempo solicita el valor de reloj de todas las demás
máquinas (nodos)
b) Las máquinas responden
c) El demonio de tiempo le dice a los demás como ajustar su reloj
http://www.json.org/xml.html
Relaciones causales
Precisión de relojes físicos tiene un límite
◦ Sincronización perfecta es imposible en un sistema distribuido
◦ Pero dentro de un mismo proceso si hay un orden absoluto
◦ Muchas aplicaciones requieren únicamente ordenar los
eventos (y no tanto conocer el instante exacto en que
ocurrieron)
◦ Se puede establecer causalidad para establecer ordenes entre
distintos procesos
Relaciones causales
Para ordenar los eventos de un mismo proceso
bastaría con asociar a cada evento x el tiempo local o
una marca de tiempo T(x).
Se dice que existe una relación de causalidad entre
dos eventos del sistema (x →y, “x ha sucedido antes
que y”, “x happened before y”) si:
HB1: x e y son eventos del mismo proceso y T(x)<T(y)
HB2: x e y son los eventos enviar(m) y recibir(m) del mismo mensaje m
HB3: Existe otro evento z tal que x → z y z → y (cierre transitivo de la
relación)
Relación ocurre-antes (happens-before)
Lamport, 1978
Si entre dos eventos no hay relación de causalidad, se
dice que son concurrentes: x || y
Establecer la relación de causalidad entre los eventos a, b, c, d, e y f
Relacion ocurre-antes (happens-before)
Lamport, 1978
No ofrece una relación
de orden total
HB1: a → b, c → d, e →f
HB2: b → c, d → f ,
HB3: a →c, c →f
pero a → e y e → a, a y e son concurrentes
e||a,b,c,d
Reloj Lógico – Timestamp
Lamport, 1978
Un reloj lógico es un contador
monótono creciente
◦ Cada proceso pi mantiene su
propio reloj logico Li
◦ Sin relación con el reloj físico
◦ Usado para establacer Lamport
Timestamps
◦ Li (e), timestamp del evento e
en pi
◦ L(e), timestamp del evento e
en el proceso en que ocurrió
Algoritmo:
◦ Inicialmente, Li = 0, ∀i
◦ Antes de un evento local o envío de
mensaje en pi: Li = Li + 1
◦ Cuando pi envía un mensaje m a pj,
pi incluye el valor de su reloj lógico
en el mensaje, Lm.
◦ Al recibir dicho mensaje, pi actualiza
su reloj local de la siguiente manera:
◦ (1) Li = max(Li, Lm),
◦ (2) Li = Li + 1
Problema: Li(x) < Lj(y) no implica x → y
Reloj Lógico – Timestamp
Lamport, 1978
Reloj Lógico – Timestamp
Lamport, 1978
Algunos eventos tienen el mismo timestamp
◦ Es normal si son concurrentes
◦ ¿Y si son desean entrar a una sección crítica?
Solucion arbitraria (pero efectiva)
◦ Reemplazar el timestamp Li de e en pi por (Lii ; i )
◦ Para dos timestamps (Li; i) y (Ljj ; j ), se dene:
◦ (Li; i) < (Lj; j) ⇔ Li< Lj ⋁ (Ti= Tj ⋀ i < j)
Se establece un orden total
Relojes Vectoriales
Mattern (1989), Fidge (1991)
Un Reloj Vectorial para N procesos, es un vector N-
dimensional
◦ Cada proceso mantiene su reloj vectorial Vi , y marca sus
eventos
◦ Al hacer send(m), se agrega Vi
◦ Vi(x) < Vj(y) ⇔x → y
Relojes Vectoriales
Mattern (1989), Fidge (1991)
Inicialmente, Vi[j] = 0, "i, j
1. Vi se actualiza antes de cada evento en pi : Vi [i ] := Vi [i ] + 1
2. Cuando pi hace send(m), agrega el valor t = Vi
3. Cuando pi recibe el par (m; t), actualiza:
4. Vi [j ] := max(Vi [j ]; t[j ]), para j = 1; 2; : : : ;N y aplica 2 antes de aplicar un
timestamp a recv (m)
a || b . . . cuando V(a) ≮ V(b) y V(a) ≱ V(b)
Relojes Vectoriales
Mattern (1989), Fidge (1991)
Debilidades y Variantes:
◦ Almacenamiento y envo O(N)
◦ Charron-Bost (1991) demuestra que para determinar la
relación ocurre-antes usando timestamps, es necesario utilizar
las N dimensiones
◦ Raynal & Singhal (1996) indicando maneras de enviar menos
informacion, a cambio de un overhead dentro de cada
proceso para reconstruir los vectores.
◦ Relojes Matriciales: mantienen estimaciones de relojes
vectoriales de los N procesos.
Relojes Vectoriales
Mattern (1989), Fidge (1991)
Debilidades y Variantes:
◦ Almacenamiento y envo O(N)
◦ Charron-Bost (1991) demuestra que para determinar la
relación ocurre-antes usando timestamps, es necesario utilizar
las N dimensiones
◦ Raynal & Singhal (1996) indicando maneras de enviar menos
informacion, a cambio de un overhead dentro de cada
proceso para reconstruir los vectores.
◦ Relojes Matriciales: mantienen estimaciones de relojes
vectoriales de los N procesos.
Estados globales
Investigar para la próxima clase
- ¿Qué es un estado global?
- Utilidad
- Algoritmo de Instantáneas de Chandy y Lamport
Control de concurrencia
Exclusión mutua distribuida
Bloqueos
Control optimista de concurrencia
Ordenación por marcas de tiempo (MVCC)
Exclusión Mutua Distribuida
Coordinación de procesos para compartir recursos.
Los procesos ejecutan el siguiente fragmento de código
◦ entrada()
◦ SECCIÓN CRÍTICA
◦ salida()
Solución centralizada
◦ Un proceso funciona como coordinador de bloqueos (lock
master), y concede bloqueos de acceso a secciones críticas.
◦ Factible hasta cierta cantidad de procesos.
Exclusión Mutua Distribuida
Solución distribuida
◦ No siempre es posible designar un lock master
◦ Ejemplo: Redes ethernet o wifi 'ad-hoc': solo un nodo debe
transmitir a través del medio
◦ Tres algoritmos
◦ Ring-based
◦ Ricart-Agrawala (1981)
◦ Maekawa (1985).
Siguiente clase
Algoritmos de exclusión mutua
Control de concurrencia
Algoritmos de elección y consenso
Técnicas de particionamiento

Más contenido relacionado

La actualidad más candente

Resumen del articulo sobre retardo y perdida de paquetes en Internet
Resumen del articulo sobre retardo y perdida de paquetes en InternetResumen del articulo sobre retardo y perdida de paquetes en Internet
Resumen del articulo sobre retardo y perdida de paquetes en InternetLaura Piñeiro Mendez
 
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)Rubi Veronica Chimal Cuxin
 
Apache Storm: Instalación
Apache Storm: InstalaciónApache Storm: Instalación
Apache Storm: InstalaciónStratebi
 
Paso mensajes
Paso mensajesPaso mensajes
Paso mensajesadiaz7703
 
Sistemas Distribuidos y Paralelismo - Unidad 2
Sistemas Distribuidos y Paralelismo - Unidad 2Sistemas Distribuidos y Paralelismo - Unidad 2
Sistemas Distribuidos y Paralelismo - Unidad 2ingnucious
 
Control de Transmision y de flujo de datos, Acuse de recibo negativo (nak)
Control de Transmision y de flujo de datos, Acuse de recibo negativo (nak)Control de Transmision y de flujo de datos, Acuse de recibo negativo (nak)
Control de Transmision y de flujo de datos, Acuse de recibo negativo (nak)myle22
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmosrehoscript
 
Teoria de la c.c.
Teoria de la c.c.Teoria de la c.c.
Teoria de la c.c.belmont402
 
Capítulo 18 (Técnicas de control de la concurrencia)
Capítulo 18 (Técnicas de control de la concurrencia)Capítulo 18 (Técnicas de control de la concurrencia)
Capítulo 18 (Técnicas de control de la concurrencia)Liz Ocampo
 
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y PrivadasAlgoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y PrivadasJorge
 
Apache Storm: Desarrollo
Apache Storm: DesarrolloApache Storm: Desarrollo
Apache Storm: DesarrolloStratebi
 

La actualidad más candente (20)

Resumen del articulo sobre retardo y perdida de paquetes en Internet
Resumen del articulo sobre retardo y perdida de paquetes en InternetResumen del articulo sobre retardo y perdida de paquetes en Internet
Resumen del articulo sobre retardo y perdida de paquetes en Internet
 
Practica1
Practica1Practica1
Practica1
 
Modelo paso de mensajes
Modelo paso de mensajesModelo paso de mensajes
Modelo paso de mensajes
 
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
 
Tema4
Tema4Tema4
Tema4
 
Control de errores
Control de erroresControl de errores
Control de errores
 
Control de Flujo [Telecomunicaciones]
Control de Flujo [Telecomunicaciones]Control de Flujo [Telecomunicaciones]
Control de Flujo [Telecomunicaciones]
 
Problemas markov
Problemas markovProblemas markov
Problemas markov
 
Concurrencia
ConcurrenciaConcurrencia
Concurrencia
 
Apache Storm: Instalación
Apache Storm: InstalaciónApache Storm: Instalación
Apache Storm: Instalación
 
Paso mensajes
Paso mensajesPaso mensajes
Paso mensajes
 
Sistemas Distribuidos y Paralelismo - Unidad 2
Sistemas Distribuidos y Paralelismo - Unidad 2Sistemas Distribuidos y Paralelismo - Unidad 2
Sistemas Distribuidos y Paralelismo - Unidad 2
 
Control de Transmision y de flujo de datos, Acuse de recibo negativo (nak)
Control de Transmision y de flujo de datos, Acuse de recibo negativo (nak)Control de Transmision y de flujo de datos, Acuse de recibo negativo (nak)
Control de Transmision y de flujo de datos, Acuse de recibo negativo (nak)
 
Taller 18
Taller 18Taller 18
Taller 18
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmos
 
Teoria de la c.c.
Teoria de la c.c.Teoria de la c.c.
Teoria de la c.c.
 
09 errores
09 errores09 errores
09 errores
 
Capítulo 18 (Técnicas de control de la concurrencia)
Capítulo 18 (Técnicas de control de la concurrencia)Capítulo 18 (Técnicas de control de la concurrencia)
Capítulo 18 (Técnicas de control de la concurrencia)
 
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y PrivadasAlgoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
Algoritmos De Cifrado Para El Encriptamiento De Claves PúBlicas Y Privadas
 
Apache Storm: Desarrollo
Apache Storm: DesarrolloApache Storm: Desarrollo
Apache Storm: Desarrollo
 

Destacado

знаем умеем
знаем умеемзнаем умеем
знаем умеемskatelal
 
дипломная работа гагарина
дипломная работа гагаринадипломная работа гагарина
дипломная работа гагаринаkyky1234
 
When Sensible Sanitation is Waterless Sanitation: Real-World Ideas
When Sensible Sanitation is Waterless Sanitation: Real-World IdeasWhen Sensible Sanitation is Waterless Sanitation: Real-World Ideas
When Sensible Sanitation is Waterless Sanitation: Real-World IdeasAbigail Brown
 
Individual Employment Opp Travel Writer South Africa
Individual Employment Opp Travel Writer South AfricaIndividual Employment Opp Travel Writer South Africa
Individual Employment Opp Travel Writer South AfricaBlogatize.net
 
MedicinMan December 2011
MedicinMan December 2011MedicinMan December 2011
MedicinMan December 2011Anup Soans
 
Travel Community Websites
Travel Community WebsitesTravel Community Websites
Travel Community WebsitesGabrielle D
 
How Fingerprint Scanners Work
How Fingerprint Scanners WorkHow Fingerprint Scanners Work
How Fingerprint Scanners Workguest511afe
 
Content area read alouds
Content area read aloudsContent area read alouds
Content area read aloudsS Bryce Kozla
 
Sherry d - trail presentation
Sherry d - trail presentationSherry d - trail presentation
Sherry d - trail presentationTrailplan
 
Inflationary deflation creating a new bubble in money
Inflationary deflation   creating a new bubble in moneyInflationary deflation   creating a new bubble in money
Inflationary deflation creating a new bubble in moneyHochleitner Marine
 
祝莹会跳绳小企鹅拆卸
祝莹会跳绳小企鹅拆卸祝莹会跳绳小企鹅拆卸
祝莹会跳绳小企鹅拆卸zust
 
Blue Trance Records' Releases 2009
Blue Trance Records' Releases 2009Blue Trance Records' Releases 2009
Blue Trance Records' Releases 2009Blue Trance Records
 

Destacado (20)

знаем умеем
знаем умеемзнаем умеем
знаем умеем
 
дипломная работа гагарина
дипломная работа гагаринадипломная работа гагарина
дипломная работа гагарина
 
How To Change Your Oil
How To Change Your OilHow To Change Your Oil
How To Change Your Oil
 
Vendere con motori di ricerca e social network. Olos27102011
Vendere con motori di ricerca e social network. Olos27102011Vendere con motori di ricerca e social network. Olos27102011
Vendere con motori di ricerca e social network. Olos27102011
 
Autodeskmaya 2010 Faq6
Autodeskmaya 2010 Faq6Autodeskmaya 2010 Faq6
Autodeskmaya 2010 Faq6
 
When Sensible Sanitation is Waterless Sanitation: Real-World Ideas
When Sensible Sanitation is Waterless Sanitation: Real-World IdeasWhen Sensible Sanitation is Waterless Sanitation: Real-World Ideas
When Sensible Sanitation is Waterless Sanitation: Real-World Ideas
 
Individual Employment Opp Travel Writer South Africa
Individual Employment Opp Travel Writer South AfricaIndividual Employment Opp Travel Writer South Africa
Individual Employment Opp Travel Writer South Africa
 
MedicinMan December 2011
MedicinMan December 2011MedicinMan December 2011
MedicinMan December 2011
 
Travel Community Websites
Travel Community WebsitesTravel Community Websites
Travel Community Websites
 
How Fingerprint Scanners Work
How Fingerprint Scanners WorkHow Fingerprint Scanners Work
How Fingerprint Scanners Work
 
Content area read alouds
Content area read aloudsContent area read alouds
Content area read alouds
 
Tutorial De Flixtime
Tutorial De FlixtimeTutorial De Flixtime
Tutorial De Flixtime
 
Effective Communication Skills
Effective Communication SkillsEffective Communication Skills
Effective Communication Skills
 
Sherry d - trail presentation
Sherry d - trail presentationSherry d - trail presentation
Sherry d - trail presentation
 
Inflationary deflation creating a new bubble in money
Inflationary deflation   creating a new bubble in moneyInflationary deflation   creating a new bubble in money
Inflationary deflation creating a new bubble in money
 
Nancy Inq Project
Nancy Inq ProjectNancy Inq Project
Nancy Inq Project
 
Vía Láctea 2012 6ºA
Vía Láctea 2012 6ºAVía Láctea 2012 6ºA
Vía Láctea 2012 6ºA
 
My Portfolio
My PortfolioMy Portfolio
My Portfolio
 
祝莹会跳绳小企鹅拆卸
祝莹会跳绳小企鹅拆卸祝莹会跳绳小企鹅拆卸
祝莹会跳绳小企鹅拆卸
 
Blue Trance Records' Releases 2009
Blue Trance Records' Releases 2009Blue Trance Records' Releases 2009
Blue Trance Records' Releases 2009
 

Similar a Bd no sql tecnicas

sistemas distribuidos2.pptx
sistemas distribuidos2.pptxsistemas distribuidos2.pptx
sistemas distribuidos2.pptxWilson Cardenas
 
Performance and scalability prediction in HPC systems
Performance and scalability prediction in HPC systemsPerformance and scalability prediction in HPC systems
Performance and scalability prediction in HPC systemsFacultad de Informática UCM
 
Sistemas operativos unidad 2
Sistemas operativos unidad 2Sistemas operativos unidad 2
Sistemas operativos unidad 2Luis Cigarroa
 
Reconfiguración dinámica adaptativa multiversión en sistemas de tiempo
Reconfiguración dinámica adaptativa multiversión en sistemas de tiempoReconfiguración dinámica adaptativa multiversión en sistemas de tiempo
Reconfiguración dinámica adaptativa multiversión en sistemas de tiempoWashington Velásquez
 
IV Unidad Sistemas Operativos 2 Cliente-Servidor
IV Unidad Sistemas Operativos 2 Cliente-Servidor IV Unidad Sistemas Operativos 2 Cliente-Servidor
IV Unidad Sistemas Operativos 2 Cliente-Servidor Samuel Cervantes
 
sistemas-informaticos
sistemas-informaticossistemas-informaticos
sistemas-informaticosArtej Perez
 
Sincronizando el tiempo por medio de NTP
Sincronizando el tiempo por medio de NTPSincronizando el tiempo por medio de NTP
Sincronizando el tiempo por medio de NTPEsteban Saavedra
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...Victor Asanza
 
TEMAIV_Parte6.ppsx investigacion operatova
TEMAIV_Parte6.ppsx investigacion operatovaTEMAIV_Parte6.ppsx investigacion operatova
TEMAIV_Parte6.ppsx investigacion operatovaJavierVillegas341155
 
Programacion en ambientes heterogeneos
Programacion en ambientes heterogeneosProgramacion en ambientes heterogeneos
Programacion en ambientes heterogeneositatitat
 
Optimizacion de Compiladores
Optimizacion de CompiladoresOptimizacion de Compiladores
Optimizacion de CompiladoresJorge
 
Actividad 2 de Control digital: Métodos de análisis para sistemas discretos
Actividad 2 de Control digital: Métodos de análisis para sistemas discretos Actividad 2 de Control digital: Métodos de análisis para sistemas discretos
Actividad 2 de Control digital: Métodos de análisis para sistemas discretos SANTIAGO PABLO ALBERTO
 
Simulacion sistemas tema6pr-2
Simulacion sistemas tema6pr-2Simulacion sistemas tema6pr-2
Simulacion sistemas tema6pr-2Xavier Davias
 

Similar a Bd no sql tecnicas (20)

Unidad III
Unidad IIIUnidad III
Unidad III
 
sistemas distribuidos2.pptx
sistemas distribuidos2.pptxsistemas distribuidos2.pptx
sistemas distribuidos2.pptx
 
Performance and scalability prediction in HPC systems
Performance and scalability prediction in HPC systemsPerformance and scalability prediction in HPC systems
Performance and scalability prediction in HPC systems
 
Sistemas operativos unidad 2
Sistemas operativos unidad 2Sistemas operativos unidad 2
Sistemas operativos unidad 2
 
Reconfiguración dinámica adaptativa multiversión en sistemas de tiempo
Reconfiguración dinámica adaptativa multiversión en sistemas de tiempoReconfiguración dinámica adaptativa multiversión en sistemas de tiempo
Reconfiguración dinámica adaptativa multiversión en sistemas de tiempo
 
IV Unidad Sistemas Operativos 2 Cliente-Servidor
IV Unidad Sistemas Operativos 2 Cliente-Servidor IV Unidad Sistemas Operativos 2 Cliente-Servidor
IV Unidad Sistemas Operativos 2 Cliente-Servidor
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 
Presentación1
Presentación1Presentación1
Presentación1
 
sistemas-informaticos
sistemas-informaticossistemas-informaticos
sistemas-informaticos
 
Clase 1
Clase 1Clase 1
Clase 1
 
Sincronizando el tiempo por medio de NTP
Sincronizando el tiempo por medio de NTPSincronizando el tiempo por medio de NTP
Sincronizando el tiempo por medio de NTP
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...
 
TEMAIV_Parte6.ppsx investigacion operatova
TEMAIV_Parte6.ppsx investigacion operatovaTEMAIV_Parte6.ppsx investigacion operatova
TEMAIV_Parte6.ppsx investigacion operatova
 
Kool control stuff
Kool control stuffKool control stuff
Kool control stuff
 
Tema 67 control programado
Tema 67 control programadoTema 67 control programado
Tema 67 control programado
 
Programacion en ambientes heterogeneos
Programacion en ambientes heterogeneosProgramacion en ambientes heterogeneos
Programacion en ambientes heterogeneos
 
Optimizacion de Compiladores
Optimizacion de CompiladoresOptimizacion de Compiladores
Optimizacion de Compiladores
 
Actividad 2 de Control digital: Métodos de análisis para sistemas discretos
Actividad 2 de Control digital: Métodos de análisis para sistemas discretos Actividad 2 de Control digital: Métodos de análisis para sistemas discretos
Actividad 2 de Control digital: Métodos de análisis para sistemas discretos
 
Cpm
CpmCpm
Cpm
 
Simulacion sistemas tema6pr-2
Simulacion sistemas tema6pr-2Simulacion sistemas tema6pr-2
Simulacion sistemas tema6pr-2
 

Más de Escuela de Computación UCV

Más de Escuela de Computación UCV (20)

Recuperacion ABD UCV
Recuperacion ABD UCVRecuperacion ABD UCV
Recuperacion ABD UCV
 
Concurrencia 2 ABD UCV
Concurrencia 2 ABD UCVConcurrencia 2 ABD UCV
Concurrencia 2 ABD UCV
 
Concurrencia 1 ABD UCV
Concurrencia 1 ABD UCVConcurrencia 1 ABD UCV
Concurrencia 1 ABD UCV
 
Integridad de datos
Integridad de datosIntegridad de datos
Integridad de datos
 
Seguridad datos i
Seguridad datos i Seguridad datos i
Seguridad datos i
 
Seguridad datos ii vii
Seguridad datos ii viiSeguridad datos ii vii
Seguridad datos ii vii
 
Abd manejo memoria III
Abd manejo memoria IIIAbd manejo memoria III
Abd manejo memoria III
 
Abd manejo memoria II
Abd manejo memoria IIAbd manejo memoria II
Abd manejo memoria II
 
Abd manejo memoria Parte I
Abd manejo memoria Parte IAbd manejo memoria Parte I
Abd manejo memoria Parte I
 
Bd no sq ldocumento
Bd no sq ldocumentoBd no sq ldocumento
Bd no sq ldocumento
 
Bd nosql clave valor
Bd nosql clave valorBd nosql clave valor
Bd nosql clave valor
 
Bd no sqlcb2
Bd no sqlcb2Bd no sqlcb2
Bd no sqlcb2
 
Bd no sql conceptos basicos
Bd no sql conceptos basicosBd no sql conceptos basicos
Bd no sql conceptos basicos
 
Abd procesamiento consultas (parte 3)
Abd procesamiento consultas (parte 3)Abd procesamiento consultas (parte 3)
Abd procesamiento consultas (parte 3)
 
Abd procesamiento consultas (parte2)
Abd procesamiento consultas (parte2)Abd procesamiento consultas (parte2)
Abd procesamiento consultas (parte2)
 
Abd procesamiento consultas (parte1)
Abd procesamiento consultas (parte1)Abd procesamiento consultas (parte1)
Abd procesamiento consultas (parte1)
 
Abd tema0y1
Abd tema0y1Abd tema0y1
Abd tema0y1
 
Abd tema1 parteii
Abd tema1 parteiiAbd tema1 parteii
Abd tema1 parteii
 
Abd procesamiento consultas
Abd procesamiento consultasAbd procesamiento consultas
Abd procesamiento consultas
 
Abd seguridad
Abd seguridadAbd seguridad
Abd seguridad
 

Último

LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 

Último (20)

LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 

Bd no sql tecnicas

  • 1. Bd NoSQL Técnicas PROFA. MERCY OSPINA mercy.ospinat@gmail.com
  • 2. Agenda Consistencia Ordenación de Eventos Exclusión Mutua Control de concurrencia Disponibilidad Partición Replicación Elección y consenso
  • 3. Consistencia  Un sistema distribuido es generalmente considerado consistente si después de una operación de actualización de algún escritor todos los lectores ven esa actualización de alguna fuente de datos compartida.  Consistencia secuencial: Las actualizaciones de un cliente se aplican en el orden en que fueron enviadas
  • 4. Modelo de un sistema distribuido Modelo de sistema: ◦ Compuesto por nodos. ◦ Procesos secuenciales {P1, P2, ...Pn} que ejecutan un algoritmo local (en cada nodo) ◦ Canales de comunicación Eventos en Pi ◦ Ei = {ei1, ei2, ...ein} Tipos de eventos locales ◦ Internos (cambios en el estado de un proceso) ◦ Comunicación (envío, recepción)
  • 5. Modelo de un sistema distribuido Un sistema distribuido se puede modelar como un sistema de transición de estados STE (C, → , I) 1. C es un conjunto de estados 2. → describe las posibles transiciones(→ ⊆ C × C) 3. I describe los estados iniciales(I ⊆ C) El estado de un sistema distribuido, C, se puede describir como ◦ La configuración actual de cada proceso/procesador ◦ Los mensajes en tránsito por la red
  • 6. Modelo de un sistema distribuido En un sistema distribuido el estado global se encuentra distribuido entre los nodos ◦ Cada nodo posee una visión subjetiva del estado global ◦ Dos eventos pueden ser vistos en distintos orden por distintos observadores
  • 7. Modelo de un sistema distribuido Algoritmo local: ◦ Un proceso cambia de un estado a otro (evento interno) ◦ Un proceso cambia de un estado a otro y envía un mensaje a otro proceso (evento de envío) ◦ Un proceso recibe un mensaje y cambia su estado (evento de recepción) Restricciones ◦ Un proceso p solo puede recibir un mensaje después de haber sido enviado por otro ◦ Un proceso p solo puede cambiar del estado c al estado d si está actualmente en el estado c
  • 8. Modelo de un sistema distribuido Algoritmos Distribuidos: Los algoritmos distribuidos deben tener las siguientes propiedades: ◦ La información relevante se distribuye entre varias máquinas ◦ Los procesos toman las decisiones sólo en base a la información local ◦ Debe evitarse un punto único de fallo ◦ No existe un reloj común
  • 9. Estados globales y tiempo Consideramos un sistema distribuido como una coleccion P de N procesos pi , con i = 1; 2; : : : ;N. ◦ Cada proceso pi ejecuta en un procesador independiente ◦ Como no hay memoria compartida solo se comunican por paso de mensajes: send y recv ◦ Cada proceso pi tiene un estado si que cambia durante la ejecución. Evento • Ocurrencia de una acción individual send, recv u otra acción que cambie el estado del pi
  • 10. Historia Los eventos dentro de pi poseen un orden total, definido por la relacion → i Ahora es posible definir la historia del proceso pi Relación ocurre antes • e1 →i e2 ↔ e1 ocurre antes que e2 en pi . Historia de pi Serie de eventos que ocurren en pi denidos por la relacion →i history (pi ) = hi = <e i 0 , e i 1 , ei 2 , ….>
  • 11. Relojes Físicos ◦ UTC ◦ Algoritmo de Christian ◦ Algoritmo de Berkeley Orden causal ◦ Timestamp ◦ Vector Clock
  • 12. Relojes Físicos Definiciones: • normalmente UTC =Time Coordinated Universal Time Tiempo físico de referencia: • periodo entre dos actualizaciones del registro del tiempo local, debe ser menor que el intervalo de tiempo mínimo entre dos eventos producidos consecutivamente en el nodo Resolución: • diferencia entre el tiempo local y el tiempo físico de referencia en un instante Desviación (offset, skew, q): • desviación por unidad de tiempo (lo que adelanta o atrasa el reloj)Deriva (drift, d): • Desviación máxima que se puede garantizar en el ajuste de un reloj Precisión (accuracy):
  • 13. Relojes Físicos Sincronización: procedimiento por el que se ajusta el valor de un reloj a un tiempo físico de referencia con una precisión preestablecida (UTC) Externa: Se busca una fuente externa de referencia fiable Interna: ◦ Centralizada: Utiliza un servidor de tiempos que proporciona una referencia fiable (Algoritmo de Christian – 1989) ◦ Distribuida: El coordinador solicita los tiempos a los demás nodos para calcular un tiempo medio (Algoritmo de Berkeley - 1989)
  • 14. Relojes Físicos Algoritmo de Christian (1989) ◦ el cliente envía una petición al servidor (mreq) ◦ el servidor contesta enviando la referencia de tiempo en otro mensaje (mt) ◦ retardo de los mensajes: min + d ◦ min es el tiempo mínimo de transmisión. Es constante y se puede determinar a partir de las características de la red ◦ d es variable y depende de la carga del sistema y de la red
  • 15. ◦ t(mt): tiempo devuelto por el servidor en el mensaje mt ◦ D: tiempo desde que se envía mreq y se recibe mt ◦ min: tiempo mínimo de transmisión de un mensaje ◦ Suposición: el servidor asigna la referencia t(mt) en la mitad del intervalo ◦ D-2*min (instante t en el cliente). Así se logra la mejor precisión ◦ Desviación: q = t - t(mt) = t1 - D/2 - t(mt) ◦ Precisión = D/2 – min
  • 16. Relojes Físicos Algoritmo de Berkeley (1989) ◦ Motivación: Las diferentes desviaciones de los tiempos locales tienden a cancelarse entre ellas en torno a un tiempo medio que se puede tomar como referencia fiables para la sincronización interna. ◦ El coordinador solicita los tiempos a los demás nodos y calcula un tiempo medio a partir de las medidas obtenidas, excluyendo las respuestas espurias y las que no llegan en plazo ◦ T = Σ(t(mi) - Di/2) / N ◦ El coordinador envía a cada nodo su desviación con respecto a la media, para que realice el ajuste ◦ θi = t(mi) - Di/2 - T ◦ Si el coordinador falla, se elige un nuevo coordinador
  • 17. Algoritmo de Berkeley a) El demonio de tiempo solicita el valor de reloj de todas las demás máquinas (nodos) b) Las máquinas responden c) El demonio de tiempo le dice a los demás como ajustar su reloj
  • 18. http://www.json.org/xml.html Relaciones causales Precisión de relojes físicos tiene un límite ◦ Sincronización perfecta es imposible en un sistema distribuido ◦ Pero dentro de un mismo proceso si hay un orden absoluto ◦ Muchas aplicaciones requieren únicamente ordenar los eventos (y no tanto conocer el instante exacto en que ocurrieron) ◦ Se puede establecer causalidad para establecer ordenes entre distintos procesos
  • 19. Relaciones causales Para ordenar los eventos de un mismo proceso bastaría con asociar a cada evento x el tiempo local o una marca de tiempo T(x). Se dice que existe una relación de causalidad entre dos eventos del sistema (x →y, “x ha sucedido antes que y”, “x happened before y”) si: HB1: x e y son eventos del mismo proceso y T(x)<T(y) HB2: x e y son los eventos enviar(m) y recibir(m) del mismo mensaje m HB3: Existe otro evento z tal que x → z y z → y (cierre transitivo de la relación)
  • 20. Relación ocurre-antes (happens-before) Lamport, 1978 Si entre dos eventos no hay relación de causalidad, se dice que son concurrentes: x || y Establecer la relación de causalidad entre los eventos a, b, c, d, e y f
  • 21. Relacion ocurre-antes (happens-before) Lamport, 1978 No ofrece una relación de orden total HB1: a → b, c → d, e →f HB2: b → c, d → f , HB3: a →c, c →f pero a → e y e → a, a y e son concurrentes e||a,b,c,d
  • 22. Reloj Lógico – Timestamp Lamport, 1978 Un reloj lógico es un contador monótono creciente ◦ Cada proceso pi mantiene su propio reloj logico Li ◦ Sin relación con el reloj físico ◦ Usado para establacer Lamport Timestamps ◦ Li (e), timestamp del evento e en pi ◦ L(e), timestamp del evento e en el proceso en que ocurrió Algoritmo: ◦ Inicialmente, Li = 0, ∀i ◦ Antes de un evento local o envío de mensaje en pi: Li = Li + 1 ◦ Cuando pi envía un mensaje m a pj, pi incluye el valor de su reloj lógico en el mensaje, Lm. ◦ Al recibir dicho mensaje, pi actualiza su reloj local de la siguiente manera: ◦ (1) Li = max(Li, Lm), ◦ (2) Li = Li + 1 Problema: Li(x) < Lj(y) no implica x → y
  • 23. Reloj Lógico – Timestamp Lamport, 1978
  • 24. Reloj Lógico – Timestamp Lamport, 1978 Algunos eventos tienen el mismo timestamp ◦ Es normal si son concurrentes ◦ ¿Y si son desean entrar a una sección crítica? Solucion arbitraria (pero efectiva) ◦ Reemplazar el timestamp Li de e en pi por (Lii ; i ) ◦ Para dos timestamps (Li; i) y (Ljj ; j ), se dene: ◦ (Li; i) < (Lj; j) ⇔ Li< Lj ⋁ (Ti= Tj ⋀ i < j) Se establece un orden total
  • 25. Relojes Vectoriales Mattern (1989), Fidge (1991) Un Reloj Vectorial para N procesos, es un vector N- dimensional ◦ Cada proceso mantiene su reloj vectorial Vi , y marca sus eventos ◦ Al hacer send(m), se agrega Vi ◦ Vi(x) < Vj(y) ⇔x → y
  • 26. Relojes Vectoriales Mattern (1989), Fidge (1991) Inicialmente, Vi[j] = 0, "i, j 1. Vi se actualiza antes de cada evento en pi : Vi [i ] := Vi [i ] + 1 2. Cuando pi hace send(m), agrega el valor t = Vi 3. Cuando pi recibe el par (m; t), actualiza: 4. Vi [j ] := max(Vi [j ]; t[j ]), para j = 1; 2; : : : ;N y aplica 2 antes de aplicar un timestamp a recv (m) a || b . . . cuando V(a) ≮ V(b) y V(a) ≱ V(b)
  • 27. Relojes Vectoriales Mattern (1989), Fidge (1991) Debilidades y Variantes: ◦ Almacenamiento y envo O(N) ◦ Charron-Bost (1991) demuestra que para determinar la relación ocurre-antes usando timestamps, es necesario utilizar las N dimensiones ◦ Raynal & Singhal (1996) indicando maneras de enviar menos informacion, a cambio de un overhead dentro de cada proceso para reconstruir los vectores. ◦ Relojes Matriciales: mantienen estimaciones de relojes vectoriales de los N procesos.
  • 28. Relojes Vectoriales Mattern (1989), Fidge (1991) Debilidades y Variantes: ◦ Almacenamiento y envo O(N) ◦ Charron-Bost (1991) demuestra que para determinar la relación ocurre-antes usando timestamps, es necesario utilizar las N dimensiones ◦ Raynal & Singhal (1996) indicando maneras de enviar menos informacion, a cambio de un overhead dentro de cada proceso para reconstruir los vectores. ◦ Relojes Matriciales: mantienen estimaciones de relojes vectoriales de los N procesos.
  • 29. Estados globales Investigar para la próxima clase - ¿Qué es un estado global? - Utilidad - Algoritmo de Instantáneas de Chandy y Lamport
  • 30. Control de concurrencia Exclusión mutua distribuida Bloqueos Control optimista de concurrencia Ordenación por marcas de tiempo (MVCC)
  • 31. Exclusión Mutua Distribuida Coordinación de procesos para compartir recursos. Los procesos ejecutan el siguiente fragmento de código ◦ entrada() ◦ SECCIÓN CRÍTICA ◦ salida() Solución centralizada ◦ Un proceso funciona como coordinador de bloqueos (lock master), y concede bloqueos de acceso a secciones críticas. ◦ Factible hasta cierta cantidad de procesos.
  • 32. Exclusión Mutua Distribuida Solución distribuida ◦ No siempre es posible designar un lock master ◦ Ejemplo: Redes ethernet o wifi 'ad-hoc': solo un nodo debe transmitir a través del medio ◦ Tres algoritmos ◦ Ring-based ◦ Ricart-Agrawala (1981) ◦ Maekawa (1985).
  • 33. Siguiente clase Algoritmos de exclusión mutua Control de concurrencia Algoritmos de elección y consenso Técnicas de particionamiento