1 Programación paralela en TOL. 1.Para qué? 2.Enfoque de paralelización. 3.API de cálculo distribuido: TPA 4.Ejemplo: producto de.

Slides:



Advertisements
Presentaciones similares
Índice ¿Qué es un mecanismo? Mecanismo sensoperceptivo
Advertisements

Computadores de alta velocidad (la lista top500).
Sistemas Operativos Gestión de Memoria.
Programación con OpenMP* Intel Software College. Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or.
INTRODUCCIÓN ESTADO DE LA TÉCNICA PROCESAMIENTO DISTRIBUIDO CON MPI PROCESAMIETNO DISTRIBUIDO DE IMÁGENES GENÉRICO CON VTK PROCESAMIENTO DISTRIBUIDO DE.
El Diseño de Algoritmos Paralelos
Algoritmos y Programación Paralela Presentación 1 ALGORITMOS Y PROGRAMACIÓN PARALELA curso profesor Domingo Giménez Cánovas dis.um.es/~domingo/app.html.
Lab.5: Taller básico de OpenMP
Tres Algoritmos Paralelos para Multiplicación Matriz Vector
1 Lenguaje y entorno de programación Claudio Quezada 1/21.
Aplicado a programas openMP
Programación de Memoria Compartida
Procesamiento de Imágenes
GAP GAP Parallel Architectures Group Grupo de Arquitecturas Paralelas Jornada d’Arquitectures per a Càlcul i Comunicacions Avançades, Feb.04 Valencia Metodología.
Por: Mario Felaco Mercedes Martinez Sistemas Operativos III Ene-Mar 2007.
Clasificación de software
Versión Versión
Configuración automática de red DHCP Tema 2 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto.
Introducción a los servicios de nombres de dominio.
Modelos de Ruteo de Vehículos
Introducción Framework 3.0. Introducción Junto con Windows Vista se libera al mercado una serie de tecnologías para desarrolladores de software que cambiarán.
Aspectos básicos de la computación paralela. Tipos de computacion paralela.
Sistema computacional Por Salvador Aguilar Gómez.
César Gómez Martín Supercomputación “El alma está en el cerebro”
1 Universidad Del Caribe Telemática Sistemas Operativos Distribuidos y de Tiempo Real “Modelos de Sistemas” Profesor: Joel Antonio Trejo Sánchez Integrantes:
Redes de intercambio Gema. Las redes P2P Una red p2p o ‘entre iguales o pares’ es una red descentralizada que no tiene clientes ni servidores fijos, sino.
Marlon Martínez Sernaque CIP Importancia del Uso de Metodologías en el Desarrollo de Software.
FACULTAD DE INGENIERÍA CIVIL Y MECÀNICA CARRERA DE INGENIERÍA MÈCANICA EMPLEO DE NUEVAS TECNOLOGÍAS DE INFORMACIÓN Y COMUNICACIÓN (NTIC´s II) TEMA: PASOS.
Nombre: Christopher Ortega Espinosa Julio Capa Tema: Multiprocesamiento FECHA: Diseño de Algoritmos Paralelos 18/Enero/
APANTANLLAMIENTO AB.
Introducción a ASP.NET.
WordPress REST API
Sistemas Distribuidos
Cómo asignar IP Address estáticos en un host
PROCESOS Y COMUNICACIONES INTEGRANTES: GUEVARA ROJAS Dennis. FERNANDEZ MENDOZA Elder. SISTEMAS DISTRIBUIDOS.
Gestión Endpoint modelos de implementación
Análisis final de [Nombre del proyecto]
ALGEBRA DE MATRICES Uso de MatLab.
Procesos Concurrentes
Agustín J. González Programación de Sistemas: ELO-330
Sistemas de monitorización
Quienes Somos… Quarzo Sistemas es líder en el desarrollo de Software especializado en el mercado financiero contable y administrativo, nuestro fin empresarial.
SOFTWARE APLICACIÓN PROGRAMACIÓN SISTEMA COMPRESIÓN.
Conalep plantel Zitácuaro 240
CUESTIONARIO CONOCIMIENTOS PREVIOS
Capa Aplicación: File Transfer Protocol
Motivación ¿Qué pasaría si en un espacio acotado unimos los recursos de alta tecnología de determinadas organizaciones con los requerimientos de otras.
INTRODUCCIÓN A JAVA.
Ingeniería de Sistemas
ARQUITECTURA DE SOFTWARE Y SUS COMPONENTES Integrantes: Luis Morel Braulio Jiménez Yeuris Ossers Rawel Lauciano
Concurrencia..
INGENIERÍA INFORMÁTICA Y DE SISTEMAS Docente: Mg Ing. Jesús Ocaña Velásquez ARQUITECTURA DEL COMPUTADOR.
« Las Redes Sociales ».
Curso: fundamentos de redes Profesor: Miguel farfan Sesion: 03
Sistemas peer-to-peer
Message Passing Interface
MIDDLEWARE Y PROGRAMACION WEB DISTRIBUIDA. ¿ QUE ES MIDDLEWARE?

Teoría Nº 3 Conceptos Básicos de Algoritmia Estructuras de Control
Sistemas peer-to-peer
¿ Qué es Wamp Server? Es un entorno de desarrollo web que nos va a permitir tener nuestro propio servidor o host local (instalado en nuestro ordenador).
Esxcvzxcvzxvczxcvpacio para el texto.
Espacio para el texto.
Balance de Carga Adaptable bajo Cómputo Paralelo en Clusters
El Fondo Nacional del Ahorro (FNA), cuenta con una política de calidad en el cual orienta su gestión a satisfacer a sus clientes, con talento humano competente,
Docente: Valerio Herrera, Luis E. Experiencia Formativa III Semana 4: Servidores Web.
Administrativo Clases 2 veces a la semana Sin Clases Auxiliares
Test. Title Text Title Text Title Text Title Text.
Introducción a la Programación. Modulo 61 Programación Web Programación Web.
Transcripción de la presentación:

1 Programación paralela en TOL

1.Para qué? 2.Enfoque de paralelización. 3.API de cálculo distribuido: TPA 4.Ejemplo: producto de matrices 5.Desarrollo futuro. TPA: Tol Parallel API

Solución de problemas muy grandes: ForNewsHLM Ejecución de varias tareas a la vez. Ahorro de tiempo de ejecución. Aprovechar recursos ociosos. Sobrepasar restricciones de memoria. Para qué?

➔ Modelo cliente-servidor de cálculo distribuido Enfoque de paralelización Requiere de una red de comunicación entre procesos. Los procesos tienen su propio espacio de memoria. Los procesos operan independientemente. La comunicación de datos y sincronización entre los proceso es responsabilidad del programador. ➢ “Parallel Programming in C with MPI and OpenMP”

Cálculo distribuido en TOL ➔ Modelo de pase de mensajes TolServerTolTcl TOL TolServerTolTcl TOL TolServerEval TolServerWait

Cálculo distribuido en TOL: API ➔ Proceso = IP + puerto, ejemplo “localhost”, tolsh -server tolsh -server ➔ Real TolServerPing(Text host, Real port) Real alive = TolServerPing(“localhost”, 40000); ➔ Text TolServerEval(Text host, Real port, Text TolExpr) Text tasktId = TolServerEval(“localhost”, 40000, “WriteLn(\”Hello Server\”)”); ➔ Text TolServerWait(Text host, Real port,Text TaskIDList) Text TolServerWait(“”); Text TolServerWait(“”);

Ejemplo: C=A*B Version secuencial Version paralela Matrix RunParallel(Matrix A, Matrix B, Set servers, Text dataDir) { Real nproc = Card(servers); Real Divide(dataDir, A, B, nproc); Set tasks = Distribute(dataDir, servers); Text TolServerWait(""); Matrix C = CollectSum(dataDir, nproc) };

C=A*B, paralelo Real Divide(Text dataDir, Matrix A, Matrix B, Real nproc) { /* Particiona las matrices A y B generando Ai.bbm y Bi.bbm en el directorio dataDir */ }; Set Distribute( Text dataDir, Set servers) { Text prefixA = dataDir+"/A"; Text prefixB = dataDir+"/B"; Text prefixC = dataDir+"/C"; Text _code_ = "Real { Matrix A = MatReadFile(\"%A%i.bbm\"); Matrix B = MatReadFile(\"%B%i.bbm\"); Matrix C = Do MatWriteFile(\"%C%i.bbm\", A*B); Real 1 };"; Text nproc = Card(servers); Text p = 1; Text code = Compact(ReplaceTable(_code_, [[ SetOfText("%A",prefixA), SetOfText("%B",prefixB), SetOfText("%C",prefixC)]])); Set tasks = EvalSet(servers, Text (Set srv) { Text id = TolServerEval(srv->host, srv->port, Replace(code,"%i",FormatReal(p,"%g"))); Text p := Copy(p+1); Text id }) };

Resultados

Desarrollo futuro Test de escalabilidad. Implantar en proyectos: HLM, M4. Documentación: usuario y desarrollador. Transmitir objetos TOL a través de los canales de comunicación. Integración con RmtPS. Chequeo de robusteza.