Mejora de la localidad en operaciones de E/S colectivas no contiguas XVIII Jornadas de Paralelismo, JP’2007 Rosa Filgueira, David E. Singh, Florin Isaila,

Slides:



Advertisements
Presentaciones similares
Agrupación de datos cuantitativos definiciones básicas y otras explicaciones.
Advertisements

1.3. PROGRAMACION PARALELA
Administración de archivos de bases de datos
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
ARP Y RARP.
Funcionamiento, programación
PROGRAMACION DE ESTRUCTURAS DE DATOS
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Reducción de datos Por Elizabeth León.
Windows XP sp3.
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Algoritmos de ordenación
HILOS Y COMUNICACIÓN ENTRE PROCESOS
GRAFOS HUGO ARAYA CARRASCO.
Prueba Suficiencia Investigadora Doctorando: Rosa Filgueira Vicente Tutor: David Expósito Singh 27 Febrero 2007.
PROGRAMACIÓN PARALELA EN ALGORITMOS SOBRE GRAFOS
Tema 10: Gestión de Memoria
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Sebastián Sánchez Prieto
1 Paralelización del algoritmo de segmentación CM Martíno García Hernández UAM-I Noviembre 2007.
Estructura y Tecnología de Ordenadores Noviembre 2004.
Clase 10: Estructuras de datos y arreglos.
Elaborado por: Guillermo Baquerizo I Término
COMPUTACIÓN I TEMA 6. Pasaje de parámetros por Referencia. Uso de apuntadores Prof. Mireya Morales.
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.),
Asignación de Espacio No Contiguo
Administración de Memoria
Sistema de Archivos Hernández Martinez Sonia Lizbeth
Aplicación de estructuras de datos
TEMA 2: Organización de computadores
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
Particiones de Disco Prof Jennyfer Briceño.
Capítulo 7 Gestión de memoria.
Programación Lineal ANÁLISIS DE SENSIBILIDAD en Programación Lineal.
Puertos I/O Los puertos son los encargados de enviar y recibir la información en un computador, pero como hace el procesador para hacer este intercambio.
Servicio horario NTP - Protocolo NTP Luis Villalta Márquez.
APRENDIZ: SANDRA L. CAICEDO C. ORDEN: 20194
Informática Ingeniería en Electrónica y Automática Industrial
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
MEDIOS DE ALMACENAMIENTO
Sistemas de ficheros MS-DOS.
Teoría de Sistemas Operativos Administración de Archivos.
Protocolo de Ventana Deslizante 2008
TECNOLOGÍA DE TELECOMUNICACIONES DIRECCIONAMIENTO IPv6.
S.O. WINDOWS SERVER 2003.
Matrices Prof. Flor Narciso Departamento de Computación
Punteros Recomendado: 1. Nivelación Funciones
Un ordenador no puede funcionar sin sistema operativo.
Ejemplos del Diseño de Algoritmos Paralelos (Transparencias de McGraw-Hill Modificadas)
Introducción a Excel Fórmulas
Teoría de Sistemas Operativos Sistemas distribuidos.
INTRODUCCIÓN Para comenzar les hablaremos de lo que significa Windows server 2003, el cual es un sistema operativo de la familia Windows de la marca Microsoft.
Matrices rango de una matriz
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
DHCP Manager / 0 Manual DCHP Manager. DHCP Manager / 1 Indice Que es y para que se utiliza una reserva DHCP…………………………………2 Iniciar la aplicación………………………………………………………………..3-4.
GUIA para la adscripción de centros o grupos de trabajo promotores y registro de experiencias en la Red de Experiencias de Educación para la Salud en la.
Pixelación de imágenes avanzada usando el algoritmo slic
Paralelización de Análisis de Reglas de Asociación Andrés Villavicencio T.
MIA - Grupo 5 Unidad 2.
Matemáticas Discretas MISTI
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
MEMORIA DINÁMICA.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
SISTEMAS OPERTIVOS DE RED Los usuarios están conectados a la red y que pueden compartir recursos. Cada equipo ejecuta con sus propios recursos su propio.
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Gestión de Memoria – Parte 2
INTRODUCCIÓN A LA INFORMÁTICA Realizado por: SARI FOLGADO.
Algoritmos voraces Códigos de Huffman. Descripción del problema Tenemos un archivo de entrada. Asumiremos que el archivo está compuesto de bytes (enteros.
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA COORDINACIÓN DE MATERIAS PROPEDÉUTICAS INGENIERÍA EN SISTEMAS ENERGÉTICOS SUSTENTABLES.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

Mejora de la localidad en operaciones de E/S colectivas no contiguas XVIII Jornadas de Paralelismo, JP’2007 Rosa Filgueira, David E. Singh, Florin Isaila, Jesús Carretero, Antonio G. Loureiro

Índice Descripción del problema. Objetivos principales. Escritura no contigua de la técnica TwoPhase I/O. Optimización de escritura no contigua de la técnica TwoPhase I/O. Caso de estudio: BIPS3D. Evaluación. Conclusiones.

Descripción del problema Optimización de la escritura no contigua en la técnica TwoPhase I/O en Romio: –La técnica TwoPhase I/O se utiliza para la escritura/lectura colectiva de datos contiguos y no contiguos. –En este trabajo, nos centramos en la escritura no contigua, y esta se realiza en dos fases: 1ª fase: Intercambio de datos entre los procesos que intervienen en la escritura. 2ª fase: Escritura colectiva de datos en disco.

Descripción del problema Antes de realizar estas dos fases: –Se divide el conjunto de datos a escribir en disco en distintas porciones. (File Domain o FD). –Se asigna cada FD a un proceso. Y cada proceso se encarga de escribir a disco los datos pertenecientes a su FD. Problema: La asignación de FD a cada proceso es fija. Fd0Fd1Fd2Fd3 4 procesos Vector datos Distribución de los datos

Objetivos principales Modificar la asignación de FD de forma automática  Dependiente de la distribución de datos en los procesos. Con esta modificación queremos disminuir : –Volumen de datos a intercambiar entre procesos en la fase 1. –Número de mensajes a enviar y recibir. –Tiempo de escritura no contigua en la técnica TwoPhase I/O.

Escritura no contigua de la técnica TwoPhase I/O en ROMIO Vector P :vector de enteros  escrito en disco por 4 procesos. Vector P0: distribución del vector P en los procesos.

Escritura no contigua de la técnica TwoPhase I/O en ROMIO Cada proceso: –Analiza que partes del vector P tiene almacenados creando una lista de comienzos (offsets) y otra de longitudes (lenghts): El proceso 0, tiene tres intervalos: –El del valor 1  (offset=0,lenght=4) –El del valor 6 y 7  (offset=20,lenght=8) –El del valor 11  (offset=40,length=4) –Calcula el primer y último byte que tiene almacenado del vector P: Para el proceso 0: –El primer byte es el 0 –El último byte es el 43 –Comunica al resto al resto su inicio y final creándose dos listas globales ordenadas por ID de proceso: Lista de inicios global: 0,20,52,4 Lista de finales global: 43,47,63,31 –Máximo final global=63 –Mínimo inicio global=0

Escritura no contigua de la técnica TwoPhase I/O en ROMIO Dividir el fichero entre los procesos en porciones (File Domain o FD) El File Domain tiene 3 valores: –Tamaño de la porción de datos. –Primer byte de la porción de datos. –Ultimo byte de la porción de datos. Para asignar cada FD a su proceso : –Se calcula el tamaño total de datos en bytes  (máximo final global - mínimo inicio global) + 1 = 64 bytes. –Se divide el tamaño entre número de procesos  16 bytes. –Se crea dos listas con tantas posiciones como procesos y se aplica una distribución por bloques del fichero (FD_inicio y FD_fin)

Escritura no contigua de la técnica TwoPhase I/O en ROMIO Fase 1: Cada proceso analiza que datos no tiene almacenados pertenecientes a su FD y a que proceso se los debe pedir.

Escritura no contigua de la técnica TwoPhase I/O en ROMIO Fase 2: Intercambio de datos entre procesos y escritura colectiva en disco.

Optimización de escritura no contigua de la técnica TwoPhase I/O en ROMIO Cambiar la asignación del FD por una asignación dependiente de la distribución de datos en los procesos. A esta variante la llamamos: Locality-Aware Two Phase I/O (LA-TwoPhase I/O).

Optimización de escritura no contigua de la técnica TwoPhase I/O en ROMIO Calcular el número de intervalos en los que podemos dividir el fichero: –Dividir el tamaño de datos entre el tamaño del FD  64 / 16 = 4 Crear una lista con tantas posiciones como intervalos existan. Cada posición de la lista representa el proceso que tiene más datos almacenados localmente para ese intervalo.

Optimización de escritura no contigua de la técnica TwoPhase I/O en ROMIO Para obtener el resultado de esta lista se construye la siguiente matriz: Se recorre por columnas, asignando cada intervalo aquel proceso: –Tenga más elementos almacenados para ese intervalo. –No haya sido asignado previamente. Lista de intervalos: 3, 0, 1, 2 Int/Proc

Optimización de escritura no contigua de la técnica TwoPhase I/O en ROMIO Calculo del FD de cada proceso a partir de la lista de intervalos: –El tamaño del FD sigue siendo el anterior. –El primer byte del FD será el primer byte de su intervalo. –El último byte del FD será el último byte de su intervalo.

Optimización de escritura no contigua de la técnica TwoPhase I/O en ROMIO Las siguientes fases de la técnica LA- TwoPhase I/O son iguales que la versión original. Se ha reducido el número de comunicaciones (de 28 datos a 8).

Optimización de escritura no contigua de la técnica TwoPhase I/O en ROMIO Por último cada proceso escribe en disco un conjunto de datos consecutivos.

Caso de estudio: BIPS3D BIPS3D es un simulador paralelo de dispositivos semiconductores basado en elementos finitos. Parte de una malla que representa un transistor y de un conjunto de parámetros físicos. Esta malla es particionada (METIS) y distribuida (MPI) entre los procesadores. Cada proceso realiza el proceso de simulación. Cuando terminan se manda los datos a un fichero paralelo (PVFS) utilizando la técnica TwoPhase I/O para la escritura en disco.

Evaluación Se han realizado las pruebas en BIPS3D utilizando : –Distintas mallas, volúmenes de datos y número de procesadores (4 y 8). –El BIPS3D tiene asociada una estructura de datos a cada nodo de la malla, y son los datos a escribir a disco. El número de elementos de la estructura se llama Carga. Malla 1Malla 2Malla 3Malla 4 Nodos Vertices Mallas Tamaño MB Malla 1Malla 2Malla 3Malla 4 Carga Carga Carga

Evaluación Las pruebas han sido realizadas en un cluster de 16 procesadores (PIII 800 MHz,256KB L2cache,1GB memoria) con una red Fast Ethernet. Se ha utilizado la distribución MpichGM NOGM: –Para obtener las medidas de tiempos de la técnica original. –Sobre esta distribución se ha hecho las modificaciones para obtener LA-TwoPhase I/O.

Evaluación El programa se ha ejecutado para cada configuración almacenando: –El tiempo en disco. –El volumen de datos transferidos. –El número de comunicaciones que se realizan.

Evaluación Se observa que la técnica LA-TwoPhase I/O tiene mejores resultados que la original. Demuestra: Reducir el número de datos intercambiados, reduce el tiempo de escritura.

Evaluación También se ha reducido el volumen de datos transferidos: –LA-TwoPhase tiene más datos pertenecientes a su FD almacenados en local y necesita realizar menos peticiones.

Evaluación Al reducirse el volumen de datos a transferir también se reduce el número de comunicaciones.

Conclusiones Se ha presentado una nueva propuesta llamada Locality-Aware TwoPhase I/O para escrituras colectivas no contiguas que consigue: –Asignar el FD dependiendo de la distribución inicial de los datos. –Reducir las comunicaciones entre procesos. –Reducir el volumen de datos transferidos entre procesos. –Reducir el tiempo de escritura en disco.