Control de Concurrencia sobre índices invertidos
|
|
- Asunción Martínez Cuenca
- hace 5 años
- Vistas:
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.
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 detallesImplementació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 detallesModelo 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 detallesJosé 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 detallesSistema 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 detallesDiseñ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 detallesParalelismo 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 detallesEntornos 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 detallesIngenierí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 detallesMotores 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 detallesFecha 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 detallesPlanificaciones 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 detallesGranularidad 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 detallesParalelizando 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 detallesParalelismo 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 detallesENTRADA-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 detallesModelo 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 detallesIngenierí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 detallesComputació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 detalles1. 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 detallesProgramació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 detallesUNIDAD 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 detallesPROCESAMIENTO 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 detallesSistemas 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 detallesComputació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 detalles1.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 detallesAná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 detallesBalance 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 detallesParalelizació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 detallesDiseñ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 detallesA) 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 detallesProcesamiento 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 detallesTema 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 detallesEjecució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 detallesRelació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 detallesUniversidad 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 detallesMULTIPROCESADORES 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 detallesPROGRAMA 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 detallesCOMPUTACIÓ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 detallesLó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 detallesFacultad 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 detallesTAREA 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 detallesProgramació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 detallesPrograma 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 detallesParalelismo _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 detallesAná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 detallesPROGRAMACIÓ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 detallesUnidad 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 detallesClú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 detallesGuí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 detallesParalelismo 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 detallesDE 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 detallesConceptos 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 detallesEstimació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 detallesCon 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 detallesAná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 detallesTaxonomí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 detallesSegunda 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 detallesUNIDAD 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 detallesCristian 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 detallesxxxxxx 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 detallesFundamentos 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 detallesREIN-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 detallesModelos 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 detallesEsp. 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 detallesLa 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 detallesArquitecturas: 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 detallesINDICE 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 detallesConcurrencia 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 detallesESTRUCTURAS 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 detallesIndexació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 detallesLAS 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 detallesCapí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 detallesInformació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 detallesUNIVERSIDAD 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 detallesUML (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 detallesAná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 detallesPlanificaciones 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 detallesUniversidad 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 detallesProgramació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 detallesTEMA 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 detallesLenguajes 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 detallesComputació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 detallesControl 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 detallesUn 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 detallesPara 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 detallesSolució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 detallesAmadeus 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 detallesAtributos 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 detallesTema 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 detallesProgramació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 detallesAlgoritmos 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 detallesBases 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 detallesCapí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 detallesCARACTERIZACION 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 detallesTÉ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 detallesCOMPONENTES 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 detallesUnidad 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