Conceptos, Tecnologías e Investigación en Procesamiento Paralelo Mauricio Marín (Universidad de Magallanes, Chile) Centro de Investigaciones de la Web.

Slides:



Advertisements
Presentaciones similares
Intranets P. Reyes / Octubre 2004.
Advertisements

Sistema de Información Cultural, CONACULTA México, 2006 SiC / RENiC Aspectos técnicos relevantes para un Sistema de Información (SI)
Internet y tecnologías web
Red Social: “Un millón de Amigos”.
Plan de Implantación Sistemas de Información III
Hardware y Software de servidor
Tipos de Organización ... La organización de máquinas multiprocesadores más típicas son: Mesh Networks. Binary Tree Networks. Hypertree Networks. Pyramid.
Diseño y Arquitectura sobre productos de software
Aplicaciones Cliente-Servidor
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
INTRODUCCIÓN A JAVA.
Modelo de Tecnología para Crédito Educativo en Chile Sistema Crédito Estudios Superiores INGRESA - Chile.
DSOO - María Eugenia Valencia
Desarrollo de Aplicaciones para Internet
Framework Hexápodo PHP fácil, rápido y sin dolor
Soluciones de Colaboración con Valor Agregado
Generación de Números y Variable aleatorias
Java 2 Platform Enterprise Edition
S.O. Multiusuario, red. Servicio: Cliente/Servidor, p2p
Ingeniería del Software
Introducción arquitectura base de datos Microsoft SQL Server 2000/2005
DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN UNIVERSIDAD NACIONAL DEL SUR Año 1º 2º 3º 4º 5º Programación Matemática Software Sistemas de Hardware.
Bioinformática FJS.
Universidad Centroamericana
CGI.   Cuando el World Wide Web inició su funcionamiento como lo conocemos, empezando a tomar popularidad aproximadamente en 1993, solo se podía apreciar.
Profesor: Miguel Angel Vidal
HERRAMIENTAS CASE.
SEMANA Introducción.
Aplicación para la documentación de la red de la UTEZ
Procesamiento paralelo
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
Introducción a la Programación. Lenguaje de Máquina.
SERVIDORES.
Arquitectura de una aplicación
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Ingenieria de software
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
“Diseño de base de Datos Alquicira Jiménez Carolina 303
Asignación de Espacio No Contiguo
SISTEMAS OPERATIVOS →¿Qué es un sistema operativo?
GLOSARIO TIC La siguiente presentación recoge algunos términos que se deben conocer en el manejo de la educación virtual…
World Wide Web M. Andrea Rodríguez Tastets DIIC - Universidad de Concepción
Desarrollo de aplicaciones para ambientes distribuidos
Sistema Organizador de Invitaciones, Eventos y Memos basado en una aplicación Cliente – Servidor SOIEM TESIS DE GRADO FIEC – ESPOL 2007 Christian Vulgarin.
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
FRAMEWORK VS Código fuente
Recuperación de Información M. Andrea Rodríguez Tastets DIIC - Universidad de Concepción
Mensajería cliente-servidor en Flex y Java
Agenda  Introducción  Relevamientos de tecnologías Objetivos de la fase de relevamiento de tecnologías Principales tecnologías disponibles -OpenMosix,
Cluster de Computadores de Alto Desempeño con Acceso Remoto
Conceptos Fundamentales
UNIDAD 7 “OTROS PARADIGMAS DE PROGRAMACIÓN“ LI & MSC OSCAR RAMIREZ CORTÉS Universidad de la Huasteca Veracruzana.
ARQUICTECTURA DE SERVIDORES
GeneXus 9.0: Creando el ERP del Futuro basado en una Arquitectura Orientada a Servicios
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
ORGANIZACIÓN DE COMPUTADORAS DRA. LETICIA FLORES PULIDO.
Naime Cecilia del Toro Alvarez
Computadoras de Alto Rendimiento (HPC)
la publicidad en las paginas web han sido de gran impacto en nuestros tiempos modernos ya que ella han logrado atraer a publico en general, ha demás.
La Rematada Sitio de remates “El Porton”. Introducción El objetivo es desarrollar un sitio web de remates de productos para promocionar la compra de yerba.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Catálogo de cursos MAESTRÍA EN INGENIERÍA DE SISTEMAS Y COMPUTACIÓN MAESTRÍA EN INGENIERÍA DE SISTEMAS Y COMPUTACIÓN ISIS-4823 Computación Visual.
Maestría en Gerencia en Tecnología de la Información Cátedra Ingeniería de Software Profesora: Mary Carmen Milano. Integrantes: Rosa Arellano Osbaldo Goitia.
LAS 14 AREAS TEMATICAS DE LA COMPUTACIÓN En los años la ACM(Association for Computing Machinery) y la IEEE (Institute for Electrical and Electronic.
Conociendo el modelo Cliente-Servidor
1.ª Parte: Dónde y cómo buscar información.  Cuando se busca información sobre un tema, es necesario emplear una «estrategia de búsqueda» para optimizar.
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
Transcripción de la presentación:

Conceptos, Tecnologías e Investigación en Procesamiento Paralelo Mauricio Marín (Universidad de Magallanes, Chile) Centro de Investigaciones de la Web ( ) Modelo de computación Aplicación del modelo a problemas de la Web y recuperación de la Información. Problemas de investigación.

Modelo de Computación Hardware Software

Paralelismo= Un objetivo con la ayuda de varios procesadores actuando de manera sincronizada y comunicante.

Desde aplicaciones en computación científica surgió por primera vez la necesidad de utilizar paralelismo.

Actualmente existe una demanda creciente por paralelismo desde aplicaciones tales como simulación de clima global o servidores para La Web, que requieren procesar grandes cantidades de datos. Sin embargo, Computación paralela NO es una técnica ampliamente utilizada.

Son más de 30 años de proposiciones de modelos y lenguajes para computación paralela. Ninguno de ellos ha sido ampliamente adoptado. Alto nivel de abstracción  Mala eficiencia Bajo nivel de abstracción  Buena eficiencia

En contraste, computación secuencial ha sido muy exitosa, y sus aplicaciones han llegado a todo tipo de usuarios.

Propiedades de un buen modelo de computación, * Fácil de comprender. * Metodología de ingeniería de software. * Independiente de la arquitectura del computador. * Predicción de desempeño. * Desempeño eficiente y escalable. * Fácil de programar. 30 años después....

Computación Paralela Portable y Escalable SUPER-OBJETIVO

Un modelo de computación en el centro del amplio espectro de modelos y lenguajes para computación paralela: The Bulk-Synchronous Parallel (BSP) Model Prof. L. Valiant, Harvard University Prof. W.F. McColl, Oxford University W.F. McColl

Actualmente hay una convergencia en las arquitecturas paralelas Memoria Distribuida  Arquitectura Escalable

SuperSteps Paradigm of parallel computation (PVM MPI BSPpub BSPlib). Barrier msg Comp. Processors

w max h=2G L w + h*G + L Costo de cada Superstep

Cualquier computador paralelo puede ser visto como una máquina BSP que tiene valores específicos para los parámetros G y L. Los valores de G y L pueden ser determinados empíricamente para distintas máquinas, y esta información puede ser utilizada para predecir el desempeño de programas BSP sobre diversas plataformas.

Sincroniza “Broadcast” en un sistema de P procesadores 1 + P*G + L Algoritmos Fundamentales

Para un sistema con gran número de procesadores se puede utilizar una solución más eficiente: (1 + 2*G + L )* log(P) Sincroniza

source destination Superstep 1 Superstep 2 Processors Example: Two-stage Broadcast m + m G + 2 L m m / p m p + m p G + L

BSP como metodología de desarrollo de software No existen deadlocks. La depuración de programas es sencilla. La verificación no es más difícil que en el caso de programas secuenciales. Es posible predecir el desempeño de programas.

El modelo de costo de BSP puede ser utilizado para: * Guiar el proceso de diseño e implementación de programas. * Predecir el desempeño del programa al ser portado a otras máquinas. * Seleccionar automáticamente los algoritmos que mejor se ajustan a una máquina en particular. * Guiar el proceso de compra de computadores se conocen las características de los programas BSP que correrán en ellos.

La estructura del modelo BSP permite el uso de herramientas gráficas de perfil de ejecución de supersteps.

Internet Switch Server PC cluster BSP machine Clients

SStep 1 P1 P2P3P4 SStep 2 Query BSP Cluster Result

SStep 1 SStep 2 BROKER BSP Cluster Queries Results

Bases de Datos Relacionales Servidor Web Servidor B.D. Cliente HTML

La base de datos esta distribuida en varios computadores Front-end

Solución basada en software de dominio público

350 versus 5600 Seg => 16 veces más rápido con 4 máquinas Consultas a un servidor de Libros “Cantidad vendida por cada tema”

Tiempo de Procesamiento TP, Tiempo de Sincronización TS, Tiempo de Acceso a la Base de Datos TB, Tiempo de Comunicación TC.

Tiempo de Procesamiento TP, Tiempo de Sincronización TS, Tiempo de Acceso a la Base de Datos TB, Tiempo de Comunicación TC.

El número de páginas Web es del orden de 1000 millones (año 2000). La Web

Buscadores de la Web Interface Máquina de Búsqueda Recolector Indexador Usuarios Base de Documentos Web

Robots WEB Planificador Lista URLs Proceso de “Crawling”

W B and T and X and Z B T X Z W W W VocabularyInverted Lists Query = MAQUINA DE BUSQUEDA: Inverted Files Document identifiers

BROKER Servidor Paralelo Consultas Proceso de consultas Ranking de resultados Balance de Carga Menor carga posible Usuarios

Processsor 1 Processor 2 Global Index approach N

Local Index approach Procesador 1Procesador 2 N/P

Processsor 1 Processor 2 Composite Inverted Lists X X A B C D

aaaabbbc cdddefgh aaaabbb cc dddefgh Bucket Inverted Lists Processor 1 Processor 2Processor 3Processor 4 List 1 List 2

Balance de Carga ¿Cómo distribuir los “buckets” en los procesadores? ¿Distribución basada en “log” de consultas? ¿Distribución aleatoria y cambio dinámico? Scheduling ¿En qué procesador realizar el ranking de documentos? ¿Cuantos documentos enviar al procesador de ranking?

Processsor 1 Processor 2 Servicio de Noticias ABC D A B C D Escritura A and B and C and DLectura W(A,1)W(B,1)W(C,1)W(D,1) Timestamp R(A,2)R(B,2) R(C,2)R(D,2) R(A,0)R(D,0)

Control de Concurrencia W(A,1)R(A,2) R(B,2)W(B,1) Procesador 1Procesador 2 R(C,2)R(D,2)W(D,1)W(C,1) Sort by Timestamp W(A,1)W(B,1) R(A,2) W(D,1)W(C,1) R(C,2)R(D,2) R(A,0) R(D,0) R(A,0)R(D,0)

Sequential Suffix Arrays

tex t Binary-searching “text”

Problem: Pointers to every-where in the text

“ Pruned Suffixes ” i s e x a d a t a n ao f t e x t e x t h i

BSP Cluster Distributed Query Processing The text database is evenly distributed upon the processors.

Processor 1Processor 2 The local index approach

SStep 1 SStep 2 BROKER BSP Cluster Queries Results SStep 3

Processor 1 Processor 2 The global index approach i s e x a d a t a n ao f t e x t e x t h i

SStep 1 SStep 2 BROKER BSP Cluster Queries Results

Dealing with load-imbalance (Multiplexion) Processor 1Processor 2 i s e x a d a t a n ao f t e x t e x t h i

Binary search accross processors Processor i Processor i + p / 2 Processor i + p / 4

A minor but practical improvement to the Global Index Strategy Proc 1 Proc 2Proc 3Proc 4 Proc 1 Proc 2Proc 3Proc 4 Global Virtual Global

Seq Local DB Size Running Time Processing q queries on p processors upon a text of n chars Virtual Global Global Multiplexed

Server 1 Server 2 Server 3 Scheduling Problem (uniform routing) Distributed allocation of Parallel Servers

Server BSP Machine Número de procesadores requeridos Tiempos de ejecución

0 1 F(P, G, L, Ns, Np)

Simulación por Eventos Discretos El sistema se representa como un conjunto de variables de estado. Los eventos cambian las variables de estado en puntos discretos del tiempo de simulación. Simulación en Paralelo Las variables relacionadas se agrupan dentro de procesos lógicos que se comunican entre sí mediante mensajes.

Tiempo e1 e2e3e4e5e6 Tiempo e1 e3e5e6 Tiempo e2e4 LP1 LP2

Mensajes Nuevos Lista de Eventos ABCDEF Tiempo Procesador Superstep i Mensaje (Evento) Send Eventos procesados Proceso Lógico

Mensajes Nuevos Lista de Eventos ABCDEF Procesador Superstep i G Rollback Send

Procesador 1Procesador P K K En cada procesador se procesan hasta K eventos. Cada procesador puede tener un K distinto. K se mantiene fijo, independiente de los eventos re-simulados.

S S + A L R L R S S + 1 S + A + 1 Contador Mensaje enviado A A <= S Mensaje nuevo A A > S Cada proceso lógico mantiene un contador de supersteps. En cada mensaje se transmite el valor de un contador de supersteps.

Carga baja y alta Número de procesadores= 4, 16, 64 y 256

Conclusiones Se ha mostrado cómo utilizar un modelo que incorpora conceptos modernos de computación paralela en el diseño de algunas aplicaciones de gran popularidad e importancia en la Web. El modelo BSP es mucho más que una biblioteca de comunicaciones tal como PVM o MPI, es un estilo o método estructurado de diseño de software paralelo. PREGUNTAS ?