Características y ejemplos

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

Construcción de Sistemas Distribuidos “Transacciones Distribuidas”
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
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
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Respuestas Buscando a Nemo.
SISTEMA DE NUMEROS NÚMEROS ENTEROS DIVISIBILIDAD NÚMEROS PRIMOS
Árboles de decisión Tema 9 Parte teórica Minería de datos
Álgebra 2010 Clase N° 1 Conjuntos numéricos I
© 2007 Cisco Systems, Inc. All rights reserved. Traducido en apoyo a la capacitación de Instructores de la Red Proydesa Comunicación por la red Fundamentos.
Ejemplo A continuación aparecen las tasas de retorno de dos fondos de inversión durante los últimos 10 años. 1. ¿Cuál es más riesgoso? 2. ¿En cuál invertiría.
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Unidad de competencia II Estadística descriptiva:
Unidad de competencia II Estadística descriptiva:
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
Montículos Daniel González Pérez Cristina Sánchez Aragón
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.
1. Apoyo exterior sobre ala inferior de viga de acero
Distribuciones de probabilidad bidimensionales o conjuntas
1 Reporte Componente Impacto Por Orden Territorial Por Departamento No Disponible ND *Los indicadores para el año 2008 no fueron calculados.
UPC Tema: ESPACIO VECTORIAL Rn
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.
Autodesk Civil 3D 2007 Essentials
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
Phone2Wave-Server Manual de Operación.
Parte 3. Descripción del código de una función 1.
Sistemas de Ecuaciones
UNIDAD 2: FUNCIONES.
FUNCIONES DE UNA VARIABLE REAL
EL OSO APRENDIZ Y SUS AMIGOS
CARLOS RAMON VIDAL TOVAR
1 SEGUNDO FORO REGIONAL HERMOSILLO, SON Sistema Nacional de Transparencia Fiscalización y Rendición de Cuentas:
Capítulo: 9 Inventarios.
Ecuaciones Cuadráticas
Kpmg. El comercio electrónico y sus incertidumbres Resultado de la encuesta sobre
Investigación Algorítmica
ESTRUCTURAS DE DATOS AVANZADAS
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
La transformada de Laplace
BEATRIZ LAFONT VILLODRE
APENDICE TEMA 4. MÉTRICA DE LOS PUNTOS DE FUNCIÓN
1 SIMD. 2 3 PE 4 SIMD Suma de S(k) de las primeras k componentes de un vector A para k = 0,1,....,n-1. Sea A = (A0, A1,...., An-1) S(0) = A(0) S(k)

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.
Aspectos básicos de networking: Clase 5
Realimentacion de la salida
Inteligencia Artificial Resolver problemas mediante búsqueda
SATISFACCION DE RESTRICCIONES Sección 1-3
Página 1 Indicadores de Desempeño de los Fondos de Aportaciones Federales del Ramo 33 Subsecretaría de Egresos Unidad de Política y Control Presupuestario.
Inteligencia Artificial Resolver problemas mediante búsqueda
© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public 1 Protocolos de enrutamiento de estado de enlace Conceptos y protocolos de enrutamiento.
Estructuras de control
Manual de Procedimientos Procedimiento de ejecución del programa de
ESTADIGRAFOS DE DISPERSION
Direccionamiento de la red: IPv4
Derivación de Contraejemplos para Model Checking Cuantitativo
Estadística Administrativa I
Simulacion de sistemas dinamicos
GRAFOS HUGO ARAYA CARRASCO.
Sistemas Distribuidos
CAPA DE RED.
Transcripción de la presentación:

Características y ejemplos Algoritmos de Control Características y ejemplos

Algoritmos Distribuidos Definición: abstracción lógica de un sistema distribuido, se habla de un conjunto de procesos y de líneas de comunicación virtuales Tipos: de aplicación de control

Algoritmos distribuidos aplicación Son los algoritmos que definen una aplicación Representan la interfaz final entre los usuarios y el sistema distribuido Se apoyan en arquitecturas de software como: CORBA: Common Object Request Broker Architecture COM: Component Object Model EJB: Enterprise JavaBeans

Algoritmos distribuidos control Estan por abajo de las aplicaciones Proporcionan dos tipos de servicios Proveedor de primitivas exclusión mutua envío/recepción mensajes control de concurrencia administración de archivos Observadores de propiedades interbloqueo terminación de la ejecución recolectores de basura

Algoritmos de aplicación y control Medio de soporte de comunicaciones A1 CTL1 A2 CTL2 Ai CTLi An CTLn ..... CTLi :control de la i-ésima aplicación Ai: aplicación

Algunos algoritmos distribuidos de control Algoritmo exclusión mutua de Le Lann Algoritmo elección de Chang-Roberts Algoritmo de ruteo de Chandy Misra Algoritmo de ruteo de tablas compactas El ruteo por intervalos

La exclusión mutua Exclusión mutua: asegurar que solo un proceso tiene acceso a un recurso compartido por varios procesos en un momento dado Sección crítica: parte del código donde el procesos utiliza el recurso compartido Los procesos no comparten memoria en común Los procesos se comunican a través de mensajes

Algoritmos Exclusión Mutua El algoritmo de LeLann El algoritmo de LeLann tolerante a fallas El algoritmo de Ricart y Agrawala El algoritmo de Misra

El algoritmo de LeLann Se hace circular una ficha El proceso que tiene la ficha esta en S.C. El algoritmo es el siguiente esperar [ficha] de Pi-1 <Código Sección Critica> enviar [ficha] a Pi+1

La elección En algunos algoritmos es necesario un proceso coordinador Si el proceso coordinador cae, es necesario que los procesos que queden elijan a uno de entre ellos Hipótesis general: cada proceso posee una identidad distinta de los otros, la cual usualmente es representada por un número La elección se realiza de acuerdo a dicha identidad

Algoritmos elección Algoritmo de LeLann Algoritmo de Chang & Roberts Algoritmo de Hirschberg y Sinclair Algoritmo Bulley (abusador) Algoritmo de Dolev, Klawe y Rodeh

Algoritmo Chang & Roberts Procesos agrupados en anillo unidireccional Cada proceso tiene un identificador único Se conoce el número total de procesos Principio: Cada proceso Pi envía su número a su vecino izquierdo Pj, Cuando Pj recibe el mensaje compara el número con el suyo u envía el mejor a su vecino izquierdo Proceso que recibe mensaje con su número sabe que su número ha dado la vuelta y es el elegido

Código: variables, mensajes y procedimientos Cada proceso cuenta con las variables siguientes: ego id_proc; identificador del proceso participa booleano; inicializado en falso coordinador id_proc; identificador del ganador Se tienen dos tipos de mensajes: [elección, x]: x es candidato a la elección [elegido, x]: x ganó la elección Primitiva de comunicación: env-vi[x]: envía mensaje x al vecino izquierdo del proceso emisor

Código algoritmo inicio del algoritmo decisión provocar una elección participa := verdadero; env-vi [elección, ego] fin-decisión

Código algoritmo recepción mensaje recepción_mensaje [elección, j] caso si (j > ego) entonces env-vi [elección, j] participa := verdadero si (j = ego) entonces si (j < ego) y (~ participa) ) entonces env-vi [elección, ego]; participa := verdadero; fin-caso fin-recepción_mensaje

Código algoritmo notificación ganador recepción_mensaje [elegido, j] coordinador:= j; participante := falso; si (j ego) entonces env-vi [elegido, j]; fsi fin recepcion_mensaje;

El ruteo Definición: termino usado para describir el proceso a través del cual un proceso selecciona uno (o algunas veces más) de sus vecinos para que le de seguimiento a un paquete en su camino a un último destino. Objetivo: generar (para cada proceso) un procedimiento de toma de decisiones para realizar esta función y garantizar la entrega de cada paquete Eficiencia: existen diferentes parámetros para medir un algoritmo de ruteo: número de saltos ruta mínima retardo mínimo

Criterios de definición de algoritmos de ruteo Exactitud Complejidad Eficiencia Resistencia Adaptabilidad Equidad

Algoritmos de ruteo Algoritmo de Chandy y Misra Algoritmo de Toueg Algoritmo de tablas compactas Algoritmo por intervalos

Algoritmo Chandy Misra Considera un grafo G = (V,E), donde V es el conjunto de vértices (procesos) y E el de aristas Calcula la distancia mínima entre un vértice (V1) y el resto de los vértices del grafo Son aristas dirigidas Cada arista tiene asociado un costo El costo puede ser negativo, por lo que es posible que exista un ciclo de longitud total negativa, (llamado ciclo negativo) Solo se tratara el caso de aristas con costos positivos

Variables y mensajes Cada procesos Pi cuenta con las variables siguientes: wjk entero; costo arista entre vj y vk v1, vi id_proc; identificadores proceso inicial y actual pred id_porc; identificador predecesor proceso d entero; longitud más corta entre v1 y vi (inicializado en ) num entero; número mensajes que se han enviado y no se ha recibido un acuse de recibo Se tienen dos tipos de mensajes: [s,x]: s es la distancia entre v1 y vi, y x es el penúltimo vértice de la cadena de procesos entre v1 y vi. [ack]: proceso pj envía un ack a pi en respuesta a un mensaje [s,x]

Código algoritmo inicialización y recepción mensaje [s,x] en p1 pred:= indefinido; enviar [w1k, p1] a (todos los sucesores de p1) fin-inicialización recepción_mensaje [s,pi] si (s < 0) <ciclo negativo> sino enviar [ack] a pi fin-recepción_mensaje

Código algoritmo recepción acuses de recibo en p1 recepción_mensaje [ack] num:=num-1; si (num = 0) entonces <ciclo negativo> fsi fin-recepción_mensaje recepción_mensaje [ack] del proceso pk num:=num+1; si (num = 0) entonces enviar [ack] a pred; fin-recepcion_mensaje

Código algoritmo inicialización de todos procesos, salvo p1 inicialización_procesos pj (j 1) /* No se ha recibido ningún mensaje, no hay mensajes de ack */ d = ; pred = indefinido; num=0; fin inicialización_procesos

Código algoritmo recepción mensaje en proceso pj recepción_mensaje [s,pi] si (s < d) entonces: si (num > 0) entonces enviar [ ack ] a pred; pred:=pi; d:=s; enviar [d+wjk, pj] a (todos sucesores de pj) num:=num+ (numero sucesores de pj) si (num = 0) entonces enviar [ack] a pred; sino /* mensaje no representa una mejoría */ fin-recepcion_mensaje

Ejemplo ejecución p1 p2 p5 p4 p3 p6 3 5 4 2 6

El ruteo con tablas compactas y por intervalos Leeuwen, J, Van and Tan, R.B. Interval Routing ComputerJournal Vol. 30 1987, pp. 298-307 Nicolas Santoro, Ramez Khatib Labelling and Implicit Routing in Networks The computer Journal Vol. 28. No. 1 1985, pp. 5-8

Ruteo con tablas compactas sobre un árbol Desventajas algoritmos clásicos: mantenimiento de una tabla de ruteo en cada sitio, constituida de una entrada para cada destino posible Posible mejoramiento: indexar las tablas de ruteo por los canales salientes, con la indicación de las destinaciones

Tamaño tablas de ruteo dest. canal v1 w2 canal destinos u - vj w3 uN w1 canal destinos w1 ... , uN w2 v1, ... w3 ..., vj, ... u w2 w4 w3

{ Esquema de numeración de un árbol Método de ruteo basado en una numeración de sitios del 0 a N-1 => aritmética en ZN Definición. El intervalo cíclico [a,b) de ZN es el conjunto de enteros definido por [a,b) Nota: Si a < b el intervalo es lineal {

Numeración de nodos Teorema: Los nodos de un árbol pueden estar numerados de tal forma que por cada canal saliente de cada nodo, el conjunto de los destinos que deben ser direccionadas por ese canal es un intervalo cíclico.

{ Esquema de ruteo Atribución de identidades a los sitios de la red: 1. Se construye un árbol sobre la red 2. Numeración de 0 a N-1 con la ayuda de un recorrido de árbol en profundidad en orden preestablecido Etiquetaje de los puertos de un nodo u: partición de ZN Los puertos serán etiquetados por: lw si w es un hijo de u uw = lu + | T[u] | si w es un padre de u {

Enumeración a partir de un recorrido en preorden Vo lvo = 0 w lw’ = lw + T[w] lw w’ T[w] lx = lw + T[w] - 1 x

La partición de ZN en un nodo adeg a1 ZN ai+1 Destinos ruteados vía canal ai Destinos ruteados vía canal a1 a2 ai

Protocolo de ruteo El ruteo debe de respetar el protocolo siguiente: Ruteo por intevalo (para el nodo u) Un paquete con destino d es recibido o generado en el nodo u si ( d = lu) entonces entregar el paquete localmente sino fsi

Ruteo por intervalos: red arbitraria Definición y construcción Principio: Extensión del esquema de numeración de árbol a una red cualquiera Ventaja: Cada arista es utilizada para la transportación de los paquetes y/o mensajes. Nomenclatura: ILS se utilizará para referirse a un esquema de ruteo por intervalos

Definición esquema numeración Un esquema de etiquetaje de tipo ILS de ZN para una red esta definido como: 1. una asignación de diferentes identificadores de ZN a los sitios de la red y 2. para cada sitio una asignación de diferentes números de ZN a los canales de cada sitio El ruteo por intervalos considera que un ILS es conocido y la retransmisión de paquetes se efectúa según el algoritmo de Santoro y Khatib.

Validación del esquema de numeración Un esquema de numeración de tipo ILS es válido si todos los paquetes retransmitidos por esa vía alcanzan su destino -> existencia para todo tipo de red -> problema de eficiencia Teorema Existe para cada red G, un esquema de numeración tipo ILS válido Este esquema puede construirse a partir de una extensión del esquema de numeración/etiquetaje de Santoro y Khatib, aplicado al árbol de expansión T de la red

Relación con árbol de expansión Definiciones: arista follaje: arista que no pertenece al árbol de expansión T. nodo ancestro: v es un ancestro de u si y solo si u pertenece a T[v]. Lema Existe un árbol de expansión tal que todas las aristas se encuentran entre un nodo y un ancestro de ese nodo Todo árbol obtenido por un recorrido en profundor tienen esa propiedad

Reglas esquema de numeración Una búsqueda en profundor de tipo ILS para una red G (considerando el árbol T) es un esquema de numeración que debe de cumplir con las siguientes reglas: 1. Los identificadores de los sitios son calculados a partir de un recorrido en profundor de tipo prefijo en G, i.e. identificadores nodos del sub-árbol T[w] pertenecen a [lw, lw + | T[w] | ]. kw = lw + |T[w]|. 2. El canal uv, de un sitio u esta etiquetado de acuerdo a las siguientes reglas: (a) si uw es una arista follaje entonces uw = lw (b) si w es un hijo de u (en T) entonces uw = lw (c) si w es el padre de u entonces uw = ku a menos que ( ku = N ) y (u tenga una arista follaje hacia la raíz) (d) si w es el padre de u, u tiene una arista follaje hacia la raíz, y ( ku = N ) entonces uw = lw

Ejemplo ancestros 1 2 5 3 4 6 7 8 9 10 11 Aristas árbol 1 2 5 3 4 6 7 8 9 10 11 Aristas árbol Aristas follaje

Ruteando paquetes para v Raíz: l=0 Ancestro: l < lv v T[v] l > lv l > lv l < lv

Propiedades de numeración Lema 1 Si (lu > lv ) entonces lw < lu Lema 2 se define una función, lca(u, v): el ancestro común más económico entre dos nodos u y v es el nodo en el árbol que es un ancestro de u y v fv(u) = ( -lca(u, v), lu) Lema 3 Si (lu < lv) entonces fv(w) < fv(u)

Eficiencia del ruteo por intervalos ( caso general ) Se puede asegurar que existe un ILS válido para cada red, pero esto no implica nada acerca de las rutas escogidas por el esquema. Para poder analizar la calidad del método de ruteo con respecto al número de etapas, (hops), se utilizarán las siguientes definiciones: 1. Un ILS es óptimo si rutea los paquetes por canales óptimos 2. Un ILS es vecinal si entrega un paquete de un sitio a uno de sus vecinos en una etapa, (hop). 3. Un ILS es lineal si el intervalo correspondiente a cada arista es lineal Se dice que un ILS es de tipo mínimo hop, si es óptimo con respecto al mínimo-hop , (o ruta mínima respectivamente), como medida de costo.

Otros algoritmos de control Algoritmos de detección de terminación Algoritmos de detección de interbloqueo Algoritmos de cobertura de árbol (spanning-tree) Algoritmos de recorrido de gráfos Algoritmos de flujo maximal Algoritmos tolerantes a fallas