Control de Concurrencia sobre índices invertidos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Control de Concurrencia sobre índices invertidos"

Transcripción

1 Control de Concurrencia sobre índices invertidos Carolina Bonacic Mauricio Marín Departamento Cs. Computación, Universidad de Chile Departamento de Computación, Universidad de Magallanes, Chile * Abstract Basado en una estrategia de control de concurrencia para índices invertidos, en el presente artículo se discute la introducción de una nueva operación sobre el índice; este proceso esta basado en el modelo de computación paralela BSP. Además, se analiza la eficiencia y balance de los procesadores bajo este contexto. 1. Introducción Una arquitectura para máquinas de búsqueda en la Web, presenta una serie de componetes básicos; entre ellos se encuentran el: crawler (recorre la Web buscando las páginas a indexar), indexador (mantiene un índice con esa información), máquina de consultas (realiza las búsquedas en el índice) y la interfaz (interactúa con el usuario). Bajo este contexto, un indexador para la Web usualmente esta construido por variantes del índice invertido [1], que son populares estructuras de datos frecuentemente usadas en bases de datos textuales. Estan formados por un conjunto de términos del texto y una lista de documentos donde aparecen éstos. En muchos casos, por bueno que sea el algoritmo de indexación, no es suficiente para: texto demasiado grande; la frecuencia de actualización es muy alta; llegan muchas consultas por segundo; la velocidad de los discos no está creciendo al ritmo necesario. Una alternativa a esto es utilizar paralelismo; frente a este punto se trabajó con el modelo de computación paralela BSP [8, 9], donde es factible expandir la capacidad de procesamiento tanto como se quiera. El caso típico es tener operaciones de sólo lectura sobre el índice. Sin embargo, en aplicaciones tales como servicios de noticias es deseable poder incluir nuevo texto a medida que se generan nuevas noticias y mezclar este proceso con las consultas de lectura de los usuarios. Esto trae consigo un problema de concurrencia sobre el índice. Recientemente en [7] se ha encontrado un algoritmo eficiente de control de concurrencia para índices invertidos. El algoritmo propuesto en [7] permite realizar las operaciones de lectura y escritura de manera eficiente y toma ventaja de la propiedad de sincronización global de procesadores que aporta BSP. Bajo este criterio, el presente artículo abordará la inclusión de una nueva operación sobre el índice, la cual tiene relación con la eliminación concurrente de texto. 2. Modelo BSP para computación paralela El modelo BSP puede ser visto como un modelo de programación, donde se describe el punto de vista del programador del sistema distribuido o paralelo, o como un modelo de computación utilizado en el diseño de algoritmos, el cual tiene asociado un modelo de costos. * Contact mauricio.marin@umag.cl

2 La idea fundamental de BSP [8, 9], es la división entre computación y comunicación. Se define un sstep como una operación básica que se realiza sobre datos locales de un procesador. Todo programa BSP consiste en un conjunto de estos pasos, denominados superstep, en los cuales, existe una fase de computación local independiente, le sigue una fase global de comunicaciones y finalmente una sincronización por barrera que permite separar los diferentes superstep. Un acercamiento más común a la programación BSP, es la programación imperativa SPMD (Single Program Multiple Data) con funcionalidades de BSP provistas por llamadas a librerías, donde un programa BSP es iniciado por el usuario en una máquina, y luego este programa se duplica automáticamente en las máquinas restantes que conforman la red. Cada uno ejecuta el mismo código pero con sus datos locales. Entre las librerias más comunes se encuentran: BSP lib [4] ó BSP pub [6] El costo en tiempo de un programa en BSP esta dado por una suma acumulativa de costos en cada superstep y el costo de cada superstep, el la suma de los parámetros: w, h, g y l, donde w es el máximo de computación por cada procesador, h es el máximo de mensajes enviados/recibidos por cada procesador con cada palabra costando g unidades de tiempo, y l es el costo de una sincronización por barrera en el procesador. El efecto de la arquitectura del computador esta incluida en los parámetros g y l, relacionados en función de p. Estos valores permiten que la velocidad de los procesadores s pueda ser empíricamente determinada [8]. 3. Trabajo Previo El desarrollo de este trabajo es parte del diseño de un buscador basado en una estrategia de crawling [3] y en un índice invertido [7]. Se ha mostrado experimentalmente en [3] que aquellas estrategias que recorren el grafo de la Web aplicando la táctica de recorrido por profundidad, son capaces de recuperar las páginas relevantes casi tan eficientemente como las basadas en métodos mas complejos y de gran costo en tiempo computacional como el llamado page-rank. Los documentos recuperados durante el proceso de crawling son indexados para luego ser puestos al servicio de un buscador como google [5]. El proceso de crawler [2], comienza trabajando con un conjuto de páginas raiz (home page), descargándolas y extrayendo sus enlaces. La estratégia del scheduler esta basada en una cola de prioridad donde los nodos representan los sitios y las prioridades estan dadas por las páginas asociadas a los sitios. Por cada nodo-sitio se tiene otra cola donde se mantiene la página que determina la prioridad del nodo en ese sitio. En el proceso de simulación del scheduler, se escoge el website desde la cola de sitios web y se envia la información de esos sitios al módulo que simulará la descarga de páginas desde el websitie. La idea de este diseño es tener un crawler que sea capaz de procesar rápidamente los documentos que va recibiendo y a la vez reducir el tiempo requerido para indexar los resúmenes de cada documento. Mas aún, es deseable que a medida que se generan los nuevos resúmenes de documentos estos se pongan a disposición de los usuarios del buscador inmediatamente y de manera concurrente. Todo esto para hacer que las respuestas a los usuarios del buscador hagan referencia a copias lo más recientes posible de los respectivos documentos disponibles en la Web. Una combinación de crawler y buscador concurrente puede sin dudas reflejar de mejor manera los requerimientos de la Web, los cuales se caracterizan por ser un sistema altamente dinámico y de rápido crecimiento (las páginas aparecen y desaparecen de manera indeterminada).

3 4. Listas Invertidas Como se mencionó, una lista invertida es la estructura de datos más elemental para la recuperación de palabras [1]. Se caracterisa por tener operaciones de solo lectura, pero en aplicaciones más específicas como en sistemas de noticias, se importante manejar las actualizaciones de los documentos. El proceso de actualización o eliminación de documentos, tiene relación con los resúmenes recuperados por el proceso de crawling. Para realizar esta acción, primero se debe verificar si existe una versión antigua de ese documento en el índice. Si ese es el caso, se elimina ésta y luego se inserta la nueva versión. Antes se recorre el documento antiguo para obtener las palabras de su vocabulario y luego se debe ir a las respectivas listas invertidas asociadas a ese vocabulario, para remover las referencias del documento antiguo. El broker debería enviar la eliminación e inserción del documento de manera consecutiva para que entremedio no exista una consulta de lectura que pase por alto la existencia del documento siendo insertado/eliminado Implementación del Algoritmo El índice general se encuentra distribuido de manera uniforme en los p procesadores. A cada procesador se le entrega un conjunto de instrucciones a ejecutar. El proceso de lectura de consulta e indexaciones de documentos, finaliza, cuando ya no se envían más instrucciones a los procesadores. En la rutina principal, se extraen los mensajes de la cola de entrada y dependiendo del tipo, se envia al método que corresponde: void Procesador::run() Mensaje *m; while( msgin->empty() == false) // Extrae el siguiente mensaje de la Cola. m = (Mensaje*)msgin->top(); msgin->pop(); switch(m->tipo) case MSG_QUERY: // manejo de consultas de lectura. case MSG_QUERY_1: // punto de acceso al indice general. case MSG_QUERY_2: // ranking final runquery(m); break; case MSG_INDEX: case MSG_INDEX_1: // insercion de un nuevo documento. // punto de acceso al indice general. runindex(m); break; } default: printf("error switch - Procesador::run()\n");

4 } // while } // fin de run() Consultas tipo Lectura supersteps. Llega una consulta que debe ser resuelta utilizando el índice general. Esto toma tres Superstep1 Para cada query de p, ésta se divide s en términos. Superstep2 Cada término se distribuye de manera uniforme entre los p procesadores: H(s ) = p De cada término recibido, se busca su repectiva listas invertida desde el índice general. De cada una de estas listas, se extraen los K mejores elementos. Toda la información recuperada en los pasos anteriores, es enviada al procesador que separó los términos de la consulta. En esta etapa tanto las lecturas (consultas) como las escrituras (inserción de documentos) se deben sincronizar por medio de un timestamps. Superstep3 Una vez verificado que han llegado todos los términos de la consulta al procesador actual, se realiza el proceso de ranking. Se entrega los k documentos de respuesta al usuario. Consultas tipo Escritura Llega una solicitud para indexar un documento, ya sea nuevo o una actualización del mismo, equivalente a la eliminación de un documento. Primero se indexa el documento solo y luego se actualiza el índice general. Este proceso toma dos supersteps: Superstep1 Del documento a indexar, se forma su índice particular. Por cada w del índice, se obtiene su lista invertida. Se envia al p la palabra w más su respectiva lista invertida.

5 Superstep2 for(w[i] de P[i]) if(archivo ya indexado) if(w[i] esta en el indice general) se descarta w[i] else insertaindicegeneral(w[i] + lista invertida) } else actualizaindicegeneral(w[i] + lista invertida) } insertaindicegeneral: almacena en el índice general w más su lista invertida. actualizaindicegeneral: si w ya se encuentra en el índice, se aumenta su frecuencia; sino se inserta w más su lista invertida. 5. Resultados Empíricos El objetivo de realizar una serie de experimentos y mediciones sobre el algoritmo propuesto, es para verificar que los tiempos de respuesta disminuyen a medida que se trabaja con más procesadores. Además es necesario, ver la carga de trabajo de cada máquina, i.e., que haya un buen balance de carga. De las operaciones ejecutadas sobre el índice invertido, la más reelevante a medir es la escritura, principalmente porque en ella se manipula el índice general y la cantidad de información que se maneja es mucho más alta, por lo ésta abarca un tiempo mayor de ejecución. Las mediciones se efectuaron sobre una colección de texto xml y se ejecutaron del orden de consultas por cada procesador. La figura 1 muestra el tiempo promedio de ejecución de un conjunto de consultas de tipo escritura. Claramente se puede apreciar que los tiempos de ejecución del algoritmo paralelo van disminuyendo a medida que aumenta la cantidad de consultas; además, los tiempos decrecen mientras mayor sea el número de procesadores que trabajan, esto trae como consecuencia poder afirmar, que el algoritmo paralelo propuesto es escalable. Sumado a lo anterior, la figura 2 muestra la eficiencia de procesar el mismo número de consultas analizado anteriormente, es quiere decir, que los procesadores trabajan en promedio lo mismo. Además de analizar el tiempo de ejecución, es necesario examinar que ocurre con la cantidad de mensajes que se transmite por superstep en cada procesador. De acuerdo a lo observado en la figura 3, el trabajo realizado en cada máquina tiende a 1, lo que implica que la distribución de mensajes esta correcta, i.e., existe un buen balance de carga, los procesadores reciben en promedio la misma cantidad de mensajes a ejecutar.

6 P= 1 P= 4 P= 8 P= Tiempo de Ejecucion Porcentaje Escrituras Figura 1. Tiempos de Ejecución Eficiencia 0.4 P= 4 P= 8 P= Percentaje Escrituras Figura 2. Tamaño de los mensajes

7 1 0.8 Eficiencia P= 4 P= 8 P= Porcentaje Escrituras Figura 3. Balance de carga 6. Conclusiones Con el incremento de la Web, es deseable tener una arquitectura de máquinas de búsqueda capaz de entregar y procesar información de forma eficiente y rápida. Para ello, en este trabajo se analizó el comportamiento del indexador, al momento de recibir información por parte del crawler. Este le enviaba los resúmenes extraidos de las páginas recuperadas (operación equivalente a una escritura) y a su vez recibia las consultas hechas por los usuarios (lecturas). Los datos obtenidos, muestran que el algoritmo paralelo aquí planteado entrega óptimos resultados, principalmente por la disminusión de los tiempos de respuesta al usuario. El trabajar con un número considerable de procesadores, refleja que el algoritmo es escalable y se verifica tambien que la distribución de trabajo en cada procesador se encuentra bien balanceada. Por lo tanto, es factible mantener una arquitectura de máquinas de búsqueda, donde el trabajo del indexador sea entregar páginas más frescas al usuario debido al manejo de la concurrencia de las consultas. Referencias [1] R. Baeza-Yates and B. Ribeiro. Modern information retrieval. Addison-Wesley, [2] C. Castillo and R. Baeza-Yates. A new model for web crawling [3] C. Castillo, M. Marín, A. Rodriguez, and R. Baeza-Yates. Scheduling algorithms for web crawling. To be submitted, [4] worldwide.org. Bsp and worldwide standard. [5] Google search engine. [6] paderborn.de/bsp. Bsp pub library at paderborn university.

8 [7] M. Marín. Fats concurrency control algorithm for inverted files. To be submitted, [8] D.B. Skillicorn, J.M.D. Hill, and W.F. McColl. Questions and answers about BSP. Technical Report PRG- TR-15-96, Computing Laboratory, Oxford University, Also in Journal of Scientific Programming, V.6 N.3, [9] L.G. Valiant. A bridging model for parallel computation. Comm. ACM, 33: , Aug

Escalabilidad: El desempeño del software y hardware debe ser eficiente desde un grupo pequeño de procesadores a un grupo muy grande de procesadores.

Escalabilidad: El desempeño del software y hardware debe ser eficiente desde un grupo pequeño de procesadores a un grupo muy grande de procesadores. Página 1 de 8 Introducción a BSP La motivación para el modelo de computación paralela BSP (The Bulk-Synchronous Parallel Model) surge de una comparación con lo que se observa en el mundo de la computación

Más detalles

Implementación de un Digesto Digital Paralelo *

Implementación de un Digesto Digital Paralelo * Implementación de un Digesto Digital Paralelo * Esteban Gesto, Daniel Laguía, Natalia Trejo, Osiris Sofia Universidad Nacional de la Patagonia Austral Río Gallegos, Argentina {egesto;dlaguia;ntrejo;osofia}@unpa.edu.ar

Más detalles

Modelo de computación BSP

Modelo de computación BSP Modelo de computación BSP Programación paralela y distribuida Fernando Pérez Costoya Noviembre de 2014 Bulk Synchronous Parallel (Valiant1990) Modelo de computación planteado como la Arquitectura von Neumann

Más detalles

José Matías Cutillas Lozano PROGRAMACIÓN PARALELA Y COMPUTACIÓN DE ALTAS PRESTACIONES

José Matías Cutillas Lozano PROGRAMACIÓN PARALELA Y COMPUTACIÓN DE ALTAS PRESTACIONES José Matías Cutillas Lozano PROGRAMACIÓN PARALELA Y COMPUTACIÓN DE ALTAS PRESTACIONES MÁSTER EN NUEVAS TECNOLOGÍAS EN INFORMÁTICA Diciembre 2010 Introducción Por qué utilizar Matlab paralelo? MATLAB es

Más detalles

Sistema de Recuperación de Información (SRI) UCR ECCI CI-2414 Recuperación de Información Prof. M.Sc. Kryscia Daviana Ramírez Benavides

Sistema de Recuperación de Información (SRI) UCR ECCI CI-2414 Recuperación de Información Prof. M.Sc. Kryscia Daviana Ramírez Benavides Sistema de Recuperación de Información (SRI) UCR ECCI CI-2414 Recuperación de Información Prof. M.Sc. Kryscia Daviana Ramírez Benavides Funcionamiento de un Buscador Motor de Búsqueda Índice Interface

Más detalles

Diseño de Algoritmos Paralelos Prof. Gilberto Díaz

Diseño de Algoritmos Paralelos Prof. Gilberto Díaz Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Diseño de Algoritmos Paralelos Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería

Más detalles

Paralelismo en Máquinas de Búsqueda

Paralelismo en Máquinas de Búsqueda Paralelismo en Máquinas de Búsqueda Mauricio Marin Yahoo! Research, Santiago Julio 2007 Yahoo! Confidential Clusters de Computadores Clusters de Computadores mensajes Yahoo! Confidential Yahoo! Confidential

Más detalles

Entornos de programación paralela basados en modelos/paradigmas

Entornos de programación paralela basados en modelos/paradigmas Program. paralela/distribuida Entornos de programación paralela basados en modelos/paradigmas Sobre la programación paralela 1 Índice Reflexiones sobre la programación paralela MapReduce Propuesta original

Más detalles

Ingeniería en Computación

Ingeniería en Computación Universidad Autónoma del Estado de México Centro Universitario UAEM Valle de México Ingeniería en Computación Unidad de Aprendizaje: Programación Paralela y Distribuida Tema: Introducción a los Sistemas

Más detalles

Motores de Búsqueda Web Síncronos/Asíncronos

Motores de Búsqueda Web Síncronos/Asíncronos Motores de Búsqueda Web Síncronos/Asíncronos Gil-Costa V. and Printista M. * LIDIC, Dpto. de Informática UNSL +54 (2652) 424027 - Fax: +54 (2652) 430224 Ejército de los Andes 950 5700 - San Luis, Argentina

Más detalles

Fecha de elaboración: Agosto de 2004 Fecha de última actualización: Julio de 2010

Fecha de elaboración: Agosto de 2004 Fecha de última actualización: Julio de 2010 PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en ciencias computacionales Integral profesional Programa elaborado por: Programación Concurrente Horas teóricas: 1 Horas prácticas:

Más detalles

Planificaciones Algoritmos y Programación I. Docente responsable: AZCURRA DIEGO ANDRES. 1 de 5

Planificaciones Algoritmos y Programación I. Docente responsable: AZCURRA DIEGO ANDRES. 1 de 5 Planificaciones 9514 - Algoritmos y Programación I Docente responsable: AZCURRA DIEGO ANDRES 1 de 5 OBJETIVOS Conocer un lenguaje de programación imperativo. Aplicar las capacidades que ofrece el lenguaje

Más detalles

Granularidad y latencia

Granularidad y latencia Niveles de paralelismo y latencias de comunicación Niveles de paralelismo. Granularidad o tamaño de grano. Latencia de comunicación. Particionado de los programas. Empaquetado de granos. Planificación

Más detalles

Paralelizando la Búsquedas en los Servidores Web Línea de investigación: Distribución y Paralelismo

Paralelizando la Búsquedas en los Servidores Web Línea de investigación: Distribución y Paralelismo Paralelizando la Búsquedas en los Servidores Web Línea de investigación: Distribución y Paralelismo V. Gil Costa, M. Printista Departamento de Informática Universidad Nacional de San Luis San Luis, Argentina

Más detalles

Paralelismo en Recuperación de Información en la Web

Paralelismo en Recuperación de Información en la Web Paralelismo en Recuperación de Información en la Web Modelo de computación paralela Aplicación en bases de datos relacionales Máquinas de búsqueda: Indexación Máquinas de búsqueda: Crawling Memoria Distribuida

Más detalles

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda Tipos de Dispositivos ENTRADA-SALIDA 1. Dispositivos de Bloque: Almacena información en bloques de tamaño fijo (512b hasta 32Kb) Se puede leer o escribir un bloque en forma independiente 2. Dispositivos

Más detalles

Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información

Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información Modelo Dinámico del Diseño del Software y Representación en UML UNIDAD 9 Análisis y Diseño de Sistemas de Información El Modelo Dinámico El objetivo del modelo Dinámico es presentar o describir el comportamiento

Más detalles

Ingeniería en computación Tipos de sistemas operativos

Ingeniería en computación Tipos de sistemas operativos Ingeniería en computación Tipos de sistemas operativos Unidad de competencia III: Sistemas Operativos Distribuidos Ing. Diego Armando Ramírez Avelino 17/10/2017 1 Unidad de competencia I Objetivo Entender

Más detalles

Computación en Internet: Librería MALLBA para problemas de optimización

Computación en Internet: Librería MALLBA para problemas de optimización Computación en Internet: Librería MALLBA para problemas de optimización Maria J. Blesa Jordi Petit Fatos Xhafa Departament de Llenguatges i Sistemes Informàtics Universitat Politècnica de Catalunya Campus

Más detalles

1. Escalabilidad de transacciones de un motor de búsqueda Web.

1. Escalabilidad de transacciones de un motor de búsqueda Web. Enfoque Token 1. Escalabilidad de transacciones de un motor de búsqueda Web. 2. Simulador de aplicaciones sobre utilización de dispositivos móviles como unidades de procesamiento. Tabla ruteo Red 3G/4G

Más detalles

Programación Concurrente y Paralela. Unidad 1 Introducción

Programación Concurrente y Paralela. Unidad 1 Introducción Programación Concurrente y Paralela Unidad 1 Introducción Contenido 1.1 Concepto de Concurrencia 1.2 Exclusión Mutua y Sincronización 1.3 Corrección en Sistemas Concurrentes 1.4 Consideraciones sobre el

Más detalles

UNIDAD II Metodología de programación paralela. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM

UNIDAD II Metodología de programación paralela. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM UNIDAD II Metodología de programación paralela UNIDAD II: Metodología de programación paralela Metodología de programación paralela Algunos conceptos que nos ayudarán a entender mejor el tema. Modelos

Más detalles

PROCESAMIENTO DISTRIBUIDO

PROCESAMIENTO DISTRIBUIDO Pág. 1 INTRODUCCIÓN PROCESAMIENTO DISTRIBUIDO Arquitectura de comunicaciones: Software básico de una red de computadoras Brinda soporte para aplicaciones distribuidas Permite diferentes Sistemas Operativos

Más detalles

Sistemas Operativos Distribuidos

Sistemas Operativos Distribuidos Contenidos del Tema Gestión de procesos Modelos de sistema Asignación de procesadores Estrategias dinámicas Estrategias estáticas Ejecución remota de procesos Modelos de sistema Organización de los procesadores

Más detalles

Computación Paralela y Aplicaciones. Primavera 2011

Computación Paralela y Aplicaciones. Primavera 2011 Computación Paralela y Aplicaciones Primavera 2011 Arquitectura para motores de búsqueda Técnicas de paralelización para sistemas de memoria distribuida Procesamiento de consultas. Arquitectura de Motores

Más detalles

1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento.

1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento. 1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento. Arquitecturas Clásicas. Estas arquitecturas se desarrollaron en las primeras computadoras electromecánicas y de tubos

Más detalles

Análisis y Recuperación de Información

Análisis y Recuperación de Información Análisis y Recuperación de Información 1 er Cuatrimestre 2017 Página Web http://www.exa.unicen.edu.ar/catedras/ayrdatos/ Prof. Dra. Daniela Godoy ISISTAN Research Institute UNICEN University Tandil, Bs.

Más detalles

Balance Dinámico de Carga en Super-Cómputo

Balance Dinámico de Carga en Super-Cómputo Balance Dinámico de Carga en Super-Cómputo Dr. Manuel Aguilar Cornejo Presentación elaborada por: Juan Santana Santana 1 Introducción Balance dinámico de carga Librería DLML Algoritmo utilizando una topología

Más detalles

Paralelización de problemas de recorrido de árboles Trabajadores replicados y esquema maestro esclavo

Paralelización de problemas de recorrido de árboles Trabajadores replicados y esquema maestro esclavo Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Paralelización de problemas de recorrido de árboles Trabajadores replicados

Más detalles

Diseño de algoritmos paralelos

Diseño de algoritmos paralelos Diseño de algoritmos paralelos Curso 2011-2012 Esquema del capítulo Visión general de algunos algoritmos serie. Algoritmo paralelo vs. Formulación paralela Elementos de un Algoritmo paralelo Métodos de

Más detalles

A) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES

A) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES Capitulo 5. Arboles 1. Al recorrer el siguiente árbol en se visitan más nodos para llegar al número 38. Justifique su respuesta mostrando cada uno de los recorridos. Tipo de Recorrido Recorrido A) PREORDEN

Más detalles

Procesamiento Paralelo

Procesamiento Paralelo Procesamiento Paralelo Principios de diseño de algoritmos paralelos Javier Iparraguirre Universidad Tecnológica Nacional, Facultad Regional Bahía Blanca 11 de Abril 461, Bahía Blanca, Argentina jiparraguirre@frbb.utn.edu.ar

Más detalles

Tema 7. Mejora del rendimiento: introducción a la segmentación y a las arquitecturas paralelas

Tema 7. Mejora del rendimiento: introducción a la segmentación y a las arquitecturas paralelas Tema 7. Mejora del rendimiento: introducción a la segmentación y a las arquitecturas paralelas Arquitectura de Computadores Curso 2009-2010 Transparencia: 2 / 21 Índice Introducción Taxonomía de Flynn

Más detalles

Ejecución serial: las tareas/instrucciones de un programa son ejecutadas de manera secuencial, una a la vez.

Ejecución serial: las tareas/instrucciones de un programa son ejecutadas de manera secuencial, una a la vez. Paralelismo Conceptos generales Ejecución serial: las tareas/instrucciones de un programa son ejecutadas de manera secuencial, una a la vez. Ejecución paralela: varias tareas/instrucciones de un programa

Más detalles

Relación de Ejercicios. Programación Paralela 4º de Grado en Ingeniería Informática.

Relación de Ejercicios. Programación Paralela 4º de Grado en Ingeniería Informática. 1. Por qué el modelo de programación que se sigue al programar con MPI es independiente de la asignación? 2. Describir gráficamente una solución eficiente para realizar una operación de reducción global

Más detalles

Universidad Autónoma de San Luis Potosí Facultad de Ingeniería Programas Analíticos del Área Mecánica y Eléctrica 5727 PROGRAMACION EN PARALELO

Universidad Autónoma de San Luis Potosí Facultad de Ingeniería Programas Analíticos del Área Mecánica y Eléctrica 5727 PROGRAMACION EN PARALELO A) CURSO Clave Asignatura 5727 PROGRAMACION EN PARALELO Horas de teoría Horas de práctica Horas trabajo Créditos Horas por semana por semana adicional estudiante Totales 3 0 3 6 48 B) DATOS BÁSICOS DEL

Más detalles

MULTIPROCESADORES TIPOS DE PARALELISMO

MULTIPROCESADORES TIPOS DE PARALELISMO Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

PROGRAMA DE ESTUDIO Área de Formación : Fecha de elaboración: 28 de mayo de 2010 Fecha de última actualización:

PROGRAMA DE ESTUDIO Área de Formación : Fecha de elaboración: 28 de mayo de 2010 Fecha de última actualización: PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en Sistemas Computacionales Integral profesional Horas teóricas: 2 Horas prácticas: 2 Total de Horas: 4 Cómputo paralelo Total de

Más detalles

COMPUTACIÓN DE ALTA PERFORMANCE

COMPUTACIÓN DE ALTA PERFORMANCE COMPUTACIÓN DE ALTA PERFORMANCE Curso 2010 Sergio Nesmachnow (sergion@fing.edu.uy) Gerardo Ares (gares@fing.edu.uy) Grupo de Procesamiento Paralelo Aplicado Centro de Cálculo COMPUTACIÓN DE ALTA PERFORMANCE

Más detalles

Lógica: Algoritmo: Archivo: Base de datos: Bit:

Lógica: Algoritmo: Archivo: Base de datos: Bit: Lógica: Algoritmo: Archivo: Base de datos: Bit: 1 LÓGICA: Es una secuencia de operaciones realizadas por el hardware o por el software. Lógica del hardware, Son los circuitos y Chips que realizan las operaciones

Más detalles

Facultad de Ingeniería Industrial y de Sistemas v1.0 MA781U PROCESOS DISTRIBUIDOS

Facultad de Ingeniería Industrial y de Sistemas v1.0 MA781U PROCESOS DISTRIBUIDOS PROCESOS DISTRIBUIDOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen El proceso cliente servidor es la clave para comprender el potencial de los sistemas de información y las redes

Más detalles

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1 TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1- Cuáles son las principales funciones de un sistema operativo? Los Sistemas Operativos tienen como objetivos o funciones principales lo siguiente; Comodidad;

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Programación Orientada a Objetos Algoritmos y Programación II Junio, 2004 Las tecnologías de objetos hoy

Más detalles

Programa del Curso I Semestre, Algoritmos y Estructuras de Datos

Programa del Curso I Semestre, Algoritmos y Estructuras de Datos Programa del Curso I Semestre, 2018 Algoritmos y Estructuras de Datos Datos Generales Sigla: IF3001 Nombre del curso: Algoritmos y estructuras de datos Tipo de curso: Teórico-práctico Número de créditos:

Más detalles

Paralelismo _Arquitectura de Computadoras IS603

Paralelismo _Arquitectura de Computadoras IS603 Paralelismo _Arquitectura de Computadoras IS603 INTRODUCCION El objetivo de esta investigación, es conceptualizar las diferentes tipos de paralelismo referente al área de Arquitectura de Computadoras,

Más detalles

Análisis de algoritmos

Análisis de algoritmos Tema 02: Complejidad de los algoritmos M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Algoritmo Algoritmo vs. Proceso Computacional

Más detalles

PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela

PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela PROGRAMACIÓN PARALELA Modelos de programación paralela Paradigmas de programación paralela Tipos de paralelismo Paso de mensajes Paralelismo de datos Memoria compartida Paradigmas de programación paralela

Más detalles

Unidad 1. Análisis de Algoritmos. Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1

Unidad 1. Análisis de Algoritmos. Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1 Unidad 1 Análisis de Algoritmos Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1 GENERALIDADES Qué se necesita para escribir un programa eficiente? Para diseñar programas eficientes

Más detalles

Clústeres y procesamiento en paralelo XE1GNZ J O R G E F BARBOSA J ACOBO F E B R E R O DE 20 17

Clústeres y procesamiento en paralelo XE1GNZ J O R G E F BARBOSA J ACOBO F E B R E R O DE 20 17 Clústeres y procesamiento en paralelo XE1GNZ J O R G E F BARBOSA J ACOBO F E B R E R O DE 20 17 Al escuchar la palabra clúster se piensa en grandes maquinas exclusivas de los grandes de la computación

Más detalles

Guía práctica de estudio 05. Estructuras de datos lineales: Pila y cola.

Guía práctica de estudio 05. Estructuras de datos lineales: Pila y cola. Guía práctica de estudio 05. Estructuras de datos lineales: Pila y cola. Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica

Más detalles

Paralelismo Relajado Paralelismo Síncrono

Paralelismo Relajado Paralelismo Síncrono Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Paralelismo Relajado Paralelismo Síncrono Domingo Giménez (Universidad de Murcia) 1

Más detalles

DE SISTEMAS CONCURRENTES

DE SISTEMAS CONCURRENTES REDES DE PETRI: MODELADO DE SISTEMAS CONCURRENTES PROGRAMACIÓN CONCURRENTE MASTER EN COMPUTACIÓN DEPARTAMENTO DE ELECTRÓNICA Y COMPUTADORES UNIVERSIDAD DE CANTABRIA CURSO 2012/13 1 MODELADO DE SISTEMAS

Más detalles

Conceptos básicos de paralelismo

Conceptos básicos de paralelismo Capítulo 2 Conceptos básicos de paralelismo 2.1. Introducción En este capítulo introduciremos algunos conceptos del paralelismo que se requeriran en la posterior discusión. Particularmente relevantes para

Más detalles

Estimación de Esfuerzo con Casos de Uso

Estimación de Esfuerzo con Casos de Uso Estimación de Esfuerzo con Casos de Uso Ing. Natalia Bibiana Trejo Estimación de Esfuerzo con Casos de Uso Necesitamos predecir Cuánto tiempo llevará el desarrollo del SW Cuántas personas se requieren

Más detalles

Con estas consideraciones, Flynn clasifica los sistemas en cuatro categorías:

Con estas consideraciones, Flynn clasifica los sistemas en cuatro categorías: Taxonomía de las arquitecturas 1 Introducción Introducción En este trabajo se explican en detalle las dos clasificaciones de computadores más conocidas en la actualidad. La primera clasificación, es la

Más detalles

Análisis y Recuperación de Información

Análisis y Recuperación de Información Análisis y Recuperación de Información 1 er Cuatrimestre 2016 Página Web http://www.exa.unicen.edu.ar/catedras/ayrdatos/ Prof. Dra. Daniela Godoy ISISTAN Research Institute UNICEN University Tandil, Bs.

Más detalles

Taxonomía de las arquitecturas

Taxonomía de las arquitecturas Taxonomía de las arquitecturas 1 INTRODUCCIÓN 2 2 CLASIFICACIÓN DE FLYNN 3 2.1 SISD (SINGLE INSTRUCTION STREAM, SINGLE DATA STREAM) 3 2.2 SIMD (SINGLE INSTRUCTION STREAM, MULTIPLE DATA STREAM) 4 2.2.1

Más detalles

Segunda parte de árboles

Segunda parte de árboles Segunda parte de árboles mat-151 Argumentos y constructores por copia Argumentos y constructores por copia Recorrido de árboles Dado un apuntador a un árbol, queremos procesar cada nodo en el árbol de

Más detalles

UNIDAD I Introducción al Sistema Manejador de Base de Datos (DBMS)

UNIDAD I Introducción al Sistema Manejador de Base de Datos (DBMS) UNIDAD I Introducción al Sistema Manejador de Base de Datos (DBMS) Un conjunto de elementos de datos que se describen a sí mismo, junto con relaciones y restricciones entre esos elementos, que presentan

Más detalles

Cristian Blanco

Cristian Blanco UNIDAD DIDÁCTICA 8. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS. DIAGRAMAS DE COMPORTAMIENTO En el siguiente enlace tienes una descripción y algunos ejemplos de todos los diagramas UML.: http://jms32.eresmas.net/tacticos/uml/umlindex.html

Más detalles

xxxxxx ESPECIFICACION TECNICA DEL SERVICIO SVC_AC_004 SINCRONIZACION DE CATALOGOS

xxxxxx ESPECIFICACION TECNICA DEL SERVICIO SVC_AC_004 SINCRONIZACION DE CATALOGOS xxxxxx ESPECIFICACION TECNICA DEL SERVICIO SVC_AC_004 SINCRONIZACION DE CATALOGOS LIMA, Octubre 2018 1 ÍNDICE Objetivo Del Servicio... 3 REQUERIMIENTOS INICIALES... 3 Actividades de Negocio Relacionadas...

Más detalles

Fundamentos de Sistemas Operativos Licenciatura en Administración de Tecnologías de Información y Comunicaciones

Fundamentos de Sistemas Operativos Licenciatura en Administración de Tecnologías de Información y Comunicaciones Fundamentos de Sistemas Operativos Licenciatura en Administración de Tecnologías de Información y Comunicaciones Rafael Vázquez Pérez Unidad 2 Administración de la Memoria Asignación de memoria paginada

Más detalles

REIN-I7P23 - Recuperación de la Información

REIN-I7P23 - Recuperación de la Información Unidad responsable: 340 - EPSEVG - Escuela Politécnica Superior de Ingeniería de Vilanova i la Geltrú Unidad que imparte: 723 - CS - Departamento de Ciencias de la Computación Curso: Titulación: 2018 GRADO

Más detalles

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3: 3 - Paradigmas de Programación

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3: 3 - Paradigmas de Programación 3 - Paradigmas de Programación En los inicios los lenguajes de programación imitaron y abstrajeron las operaciones de una computadora, lo cual trajo aparejado que el tipo de computadora para el cual fueron

Más detalles

Esp. Alexis Olvany Torres ch. Datos de salida. Datos de salida. Datos de salida

Esp. Alexis Olvany Torres ch. Datos de salida. Datos de salida. Datos de salida Tiempo de Ejecución fuente Descripción abstracta del comportamiento de un programa Máquina abstracta objeto Descripción del comportamiento de un programa independiente de máquina pero fácil de implementar

Más detalles

La Web Invisible. Dependiendo del tipo de información. Tecnología de base de datos fue introducida en Internet La Web se volvió comercial

La Web Invisible. Dependiendo del tipo de información. Tecnología de base de datos fue introducida en Internet La Web se volvió comercial limitaciones de los buscadores tradicionales La Web Invisible El contenido identificado es sólo lo que aparece en la superficie. La recolección se realiza de manera poco guiada. fuente http://www.brightplanet.com/technology/deepweb.asp

Más detalles

Arquitecturas: Clusters. Edgar Valderrama Lucio Mederos

Arquitecturas: Clusters. Edgar Valderrama Lucio Mederos Arquitecturas: Clusters Edgar Valderrama Lucio Mederos Qué es un cluster? Es un sistema compuesto por varias computadoras (nodos) unidas por una red que se comporta como una única entidad. De un cluster

Más detalles

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos INDICE Prólogo XV 1. Introducción 1 1.1. Evolución de los sistemas operativos 2 Procesamiento en serie 3 Procesamiento por lotes 4 Multiprogramación 7 1.2. Tipos de Sistemas Operativos 9 Sistemas operativos

Más detalles

Concurrencia y Paralelismo

Concurrencia y Paralelismo Concurrencia y Paralelismo Carrera: Ingeniería en Computación Profesor Responsable: Naiouf, Ricardo Marcelo Año: 4º Duración: Semestral Carga Horaria Semanal: 6hs Carga Horaria Total: 96hs Objetivos Generales

Más detalles

ESTRUCTURAS DE ARBOLES Y HASHING

ESTRUCTURAS DE ARBOLES Y HASHING Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Bases de Datos Integrantes: Herrera, Manuel C.I. 17.171.090 Balladares, Edgar C.I. 17.631.176 ESTRUCTURAS

Más detalles

Indexación y Asociación

Indexación y Asociación Bases de Datos Indexación y Asociación Contenidos Conceptos básicos Indices Ordenados Árboles B+ ArbolesB Asociación estática Bases de Datos Indexación y Asociación 2 Conceptos básicos Los Indices se utilizan

Más detalles

LAS 14 AREAS TEMATICAS DE LA COMPUTACIÓN

LAS 14 AREAS TEMATICAS DE LA COMPUTACIÓN En los años 1986-1989 la ACM(Association for Computing Machinery) y la IEEE (Institute for Electrical and Electronic Engineers)Computer Society : Peter Denning y otros definen la Informática como disciplina

Más detalles

Capítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS

Capítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS Capítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS En este capítulo, se realiza la evaluación y comparación de los métodos de paralelización de recurrencias descritos y propuestos en este trabajo. Los resultados

Más detalles

Información general Quién utiliza la computación en paralela? Conceptos y Terminología Límites y Costos de Programación Paralela

Información general Quién utiliza la computación en paralela? Conceptos y Terminología Límites y Costos de Programación Paralela Las computadoras paralelas pueden ser construidas a partir de materias primas con componentes baratos. Resolver problemas mayores y más complejos: Muchos de los problemas son tan grandes y/o complejos

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO SISTEMAS EN TIEMPO REAL 0928 8º, 9º 06 Asignatura Clave Semestre Créditos Ingenieria Eléctrica Ingenieria en Computación

Más detalles

UML (Unified Modeling Language) Octubre de 2007

UML (Unified Modeling Language) Octubre de 2007 UML (Unified Modeling Language) Octubre de 2007 UML un modelo o pieza de información producido en el proceso de desarrollo de software Un lenguaje para especificar, visualizar y construir artefactos de

Más detalles

Análisis Global y Local. UCR ECCI CI-2414 Recuperación de Información Prof. Kryscia Daviana Ramírez Benavides

Análisis Global y Local. UCR ECCI CI-2414 Recuperación de Información Prof. Kryscia Daviana Ramírez Benavides UCR ECCI CI-2414 Recuperación de Información Prof. Kryscia Daiana Ramírez Benaides Análisis Global Realiza la expansión basado en la construcción de tesauros utilizando la colección completa de documentos

Más detalles

Planificaciones Algoritmos y Programación I. Docente responsable: GUARNA PABLO FRANCISCO. 1 de 6

Planificaciones Algoritmos y Programación I. Docente responsable: GUARNA PABLO FRANCISCO. 1 de 6 Planificaciones 7540 - Algoritmos y Programación I Docente responsable: GUARNA PABLO FRANCISCO 1 de 6 OBJETIVOS Conocer un lenguaje de programación imperativo. Aplicar las capacidades que ofrece el lenguaje

Más detalles

Universidad de Costa Rica

Universidad de Costa Rica Universidad de Costa Rica Escuela de Computación e Informática Trabajo sobre Sistema Operativo Mach Sistemas Operativos I Profesor: Diego Villalba Alumno: Daniel Rivera Solano A85274 13-noviembre-2013

Más detalles

Programación (PRG) PRÁCTICA 10. Algoritmos de búsqueda

Programación (PRG) PRÁCTICA 10. Algoritmos de búsqueda Programación (PRG) Facultad de Informática Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia 1. Introducción El objetivo de esta práctica es estudiar el comportamiento

Más detalles

TEMA 2: PROGRAMACIÓN PARALELA (I)

TEMA 2: PROGRAMACIÓN PARALELA (I) Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas ARQUITECTURA DE COMPUTADORES II AUTORES: David Expósito Singh Florin Isaila Daniel Higuero Alonso-Mardones Javier García Blas Borja Bergua

Más detalles

Lenguajes y paradigmas de programación

Lenguajes y paradigmas de programación Lenguajes y paradigmas de programación Temas Que es un programa? Que es un lenguaje de programación? Características de los lenguajes de programación Paradigmas de programación Que es un programa? La unión

Más detalles

Computación distribuida usando redes P2P: Caso práctico en el área de recuperación de Información

Computación distribuida usando redes P2P: Caso práctico en el área de recuperación de Información Computación distribuida usando redes P2P: Caso práctico en el área de recuperación de Información jor-cama@uniandes.edu.co April 24, 2008 Introduccón Conceptos IR en redes P2P Retos Agenda 1 Introduccón

Más detalles

Control y descripción de procesos

Control y descripción de procesos Control y descripción de procesos Capitulo3 hzberbesi@gmail.com Hzberbesi.wordpress.com 1 1 Requerimientos de un sistema operativo Intercalar la ejecución de múltiples procesos para maximizae la utilización

Más detalles

Un importante problema para sistemas de la nueva generación

Un importante problema para sistemas de la nueva generación Un importante problema para sistemas de la nueva generación J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious Problem for Next Generation Systems, IEEE Computer, October 1988. Manifestar

Más detalles

Para convertir un decimal a un binario se necesita la siguiente tabla.

Para convertir un decimal a un binario se necesita la siguiente tabla. Conversiones Conversión de Decimal a Binario Para convertir un decimal a un binario se necesita la siguiente tabla. Para convertir el 33: Primero: Se busca en la tabla un número igual o menor a 33. Segundo:

Más detalles

Solución de corporativo

Solución de  corporativo Solución de e-mail corporativo. Descripción. E-mail Manager es un sistema de administración de e-mails (de entrada y de salida) de ruteo inteligente, identificando diferentes datos en cada mensaje para

Más detalles

Amadeus Touchless Solutions Automatización personalizada para una productividad inteligente

Amadeus Touchless Solutions Automatización personalizada para una productividad inteligente CONNECT SERVE MANAGE Amadeus Touchless Solutions Automatización personalizada para una productividad inteligente Standard CONNECT SERVE MANAGE Amadeus Touchless Solutions Automatización automatizada para

Más detalles

Atributos de calidad La Eficiencia

Atributos de calidad La Eficiencia Atributos de calidad La Eficiencia Análisis de la eficiencia como atributo de calidad aplicado a la ingenieria de software. Ing. Oscar R. Sánchez. Agenda. 1. Eficiencia. 2. Desemepeño. 3. Características

Más detalles

Tema 2.- Caracterización de la informática La informática como disciplina científica Sub-áreas de la disciplina.

Tema 2.- Caracterización de la informática La informática como disciplina científica Sub-áreas de la disciplina. Tema 2.- Caracterización de la informática 2.1. La informática como disciplina científica. 2.2. Sub-áreas de la disciplina. 2.1. La informática como disciplina científica. 2.1.1 Una definición de Informática.

Más detalles

Programación Concurrente Recopilación de teoría referente a la materia

Programación Concurrente Recopilación de teoría referente a la materia UNIVERSIDAD AMERICANA Programación Concurrente Recopilación de teoría referente a la materia Ing. Luis Müller Esta es una recopilación de la teoría referente a la asignatura Programación Concurrente, a

Más detalles

Algoritmos paralelos para la Multiplicación de Matrices

Algoritmos paralelos para la Multiplicación de Matrices Introducción Paralelizar onclusiones Trabajo ibliografía lgoritmos paralelos para la Multiplicación de Matrices Universidad de Murcia - UM 18 de diciembre de 2008 Introducción Paralelizar onclusiones Trabajo

Más detalles

Bases de Datos Multimedia

Bases de Datos Multimedia Bases de Datos Multimedia Capítulo 3 Algoritmos de búsqueda por similitud Este material se basa en el curso de Base de Datos Multimedia del DCC de la Universidad de Chile (Prof. Benjamín Bustos). 3.1 Conceptos

Más detalles

Capítulo 4: Grafos Clase 4: Árboles

Capítulo 4: Grafos Clase 4: Árboles Capítulo 4: Grafos Clase 4: Árboles Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 4: Grafos 1 / 12 Árboles Los árboles son una clase particular de grafos que

Más detalles

CARACTERIZACION DE PROBLEMAS A SOLUCIONAR MEDIANTE PROGRAMACIÓN MULTIPROCESO DE MEMORIA COMPARTIDA. Autor ERIKA VIVIANA RIAÑO BEJAR

CARACTERIZACION DE PROBLEMAS A SOLUCIONAR MEDIANTE PROGRAMACIÓN MULTIPROCESO DE MEMORIA COMPARTIDA. Autor ERIKA VIVIANA RIAÑO BEJAR CARACTERIZACION DE PROBLEMAS A SOLUCIONAR MEDIANTE PROGRAMACIÓN MULTIPROCESO DE MEMORIA COMPARTIDA Autor ERIKA VIVIANA RIAÑO BEJAR Director JOSE ORLANDO MALDONADO BAUTISTA DEPARTAMENTO DE INGENIERÍAS ELÉCTRICA

Más detalles

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS. TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS. HOJA DE ASIGNATURA CON DESGLOSE DE UNIDADES TEMÁTICAS 1. Nombre de la asignatura Estructura de

Más detalles

COMPONENTES DEL PC LEONARDO OLIVARES VILLA MATEO CARDONA ARENAS

COMPONENTES DEL PC LEONARDO OLIVARES VILLA MATEO CARDONA ARENAS COMPONENTES DEL PC LEONARDO OLIVARES VILLA MATEO CARDONA ARENAS Tipos de procesadores. Dedicados: Para desarrollar una tarea muy especifica. Ejecutando un único algoritmo de forma óptima. de propósito

Más detalles

Unidad I: Introducción a las estructuras de datos

Unidad I: Introducción a las estructuras de datos Unidad I: Introducción a las estructuras de datos 1.1 Tipos de datos abstractos (TDA) Los tipos de datos abstractos (TDA) encapsulan datos y funciones que trabajan con estos datos. Los datos no son visibles

Más detalles