1
2 Cluster Computing 1 Análisis del Rendimiento de un Cluster de Computadoras para Aplicaciones Paralelas Arturo Díaz Pérez Santiago Domínguez, David Araujo Díaz, Ulises Zaldívar Colado y Armando Flores Ibarra Sección de Computación Departamento de Ingeniería Eléctrica CINVESTAV-IPN Av. Instituto Politécnico Nacional No. 2508 Col. San Pedro Zacatenco México, D. F. CP 07300 Tel. (5)747 3800 Ext. 3755 e-mail: [email protected]
3 Cluster Computing 2 Los Microprocesadores de Hoy FConjuntos de Instrucciones ßRISC, CISC, Multimedia, Vector Processing (SIMD) FSistemas de memoria avanzados ßcaches (L1, L2 y L3) ßsoporte para memoria virtual FParalelismo a nivel de instrucciones ILP ßpipelining, superscalar, vectors, VLIW FSoporte para sistemas de I/O FTecnología de interconexión FProcesamiento paralelo básico
4 Cluster Computing 3 Programs Instruction Issues per cycle 0 20 40 60 80 100 120 140 160 gccespressolifppppdoducdtomcatv 54.8 62.6 17.9 75.2 118.7 150.1 Integer: 18 - 60 FP: 75 - 150 IPC Límites a ILP: Procesador Ideal
5 Cluster Computing 4 Program Instruction issues per cycle 0 10 20 30 40 50 60 gccexpressolifppppdoducdtomcatv 10 15 12 52 17 56 10 15 12 47 16 10 13 11 35 15 34 9 10 11 22 12 8 8 9 14 9 66 6 8 7 9 4 4 4 5 4 6 3 2 3 3 3 3 45 22 Perfect disambiguation (HW), 1K Selective Prediction, 16 entry return, 64 registers, issue as many as window Integer: 6 - 12 FP: 8 - 45 IPC Estudio más Realista 6416256Infinite3212884
6 Cluster Computing 5 Alternativas FCómputo Paralelo ßAlternativa al cómputo de alto rendimiento FComputadoras Paralelas ßMultiprocesadores ßMulticomputadoras ßAlto Costo FCluster Computing ßRendimiento comparable al de arquitecturas paralelas ßBajo costo FAntecedentes Históricos ßPVM ßBeowulf ßMPI
7 Cluster Computing 6 PM C PM C PM C Red de Interconexión
8 Cluster Computing 7 Diseño de Arquitecturas Paralelas FObjetivo: Tener un sistema balanceado en cuanto a ßcómputo, ßacceso a memoria, ßred de interconexión, y ßmecanismos de sincronización
9 Cluster Computing 8 Ejecución de Programas Paralelos P1P1 P0P0 P2P2 P3P3 Tiempo Cómputo Sincronización Comunicación Ocio T p = T cómputo + T comunicación + T sincronización + T ocio
10 Cluster Computing 9 Tiempo de Ejecución FTiempo de cómputo ßInherente al problema FTiempo de ocio ßDiseño del programa o algoritmo FTiempo de comunicación ßPatrones de comunicación bien definidos ßComunicación punto a punto ßComunicación colectiva ßCaracterísticas de la arquitectura FTiempo de sincronización ßDiseño del programa o algoritmo ßCaracterísticas de la arquitectura
11 Cluster Computing 10 Comunicación send(); Proceso 1 recv(); Proceso 2 buffer del mensajeTiempo Proceso continúa Lee el buffer del mensaje FLatencia ßTiempo de arranque de las comunicaciones FAncho de banda ßVelocidad para transferir una unidad de datos
12 Cluster Computing 11 Broadcast Proceso 1 bcast(); Proceso 2 bcast(); Proceso n
13 Cluster Computing 12 Reducción Proceso 2 reduce(); Proceso 1 reduce(); Proceso n reduce(); +
14 Cluster Computing 13 Scatter Proceso 2 scatter(); Proceso n scatter(); Proceso 1 scatter();
15 Cluster Computing 14 Gather Proceso 2 gather(); Proceso 1 gather(); Proceso n gather();
16 Cluster Computing 15 Sincronización P0P0 P1P1 P2P2 P n-1 Tiempo Activo Esperando Barrera
17 Cluster Computing 16 Configuraciones Evaluadas FCluster de 8 Computadoras Pentium II 450 Mhz ßSwitch FastEthernet 100 Mbps ßHub FastEthernet 100 Mbps FSP2: 8 procesadores POWER2 Super Chip 120 Mhz ßSwitch Lucent Technologies 122 MBps ßEthernet 10 Mbps
18 Cluster Computing 17 Cluster y SP2
19 Cluster Computing 18 Cluster y SP2 Switches
20 Cluster Computing 19 Pruebas de Rendimiento FComunicación punto a punto: Un par ßLatencia y ancho de banda pico FComunicación punto a punto: Pares simultáneos ßContención y congestión en la red FOperaciones colectivas ßBroadcast ßReduce ßScatter ßGather FOperación de Sincronización ßBarrera
21 Cluster Computing 20 Casos de Estudio FMultiplicación de matrices ßAplicación aritmética entera FSolución de sistemas de ecuaciones lineales ßAplicación con un balance entre aritmética entera y de punto flotante FTransformada rápida de Fourier ßAplicación dominada por la aritmética de punto flotante
22 Cluster Computing 21 Comunicación Punto a Punto
23 Cluster Computing 22 Comunicación Punto a Punto
24 Cluster Computing 23 Contención
25 Cluster Computing 24 Contención
26 Cluster Computing 25 Broadcast
27 Cluster Computing 26 Reducción
28 Cluster Computing 27 Scatter
29 Cluster Computing 28 Gather
30 Cluster Computing 29 Sincronización
31 Cluster Computing 30 Parámetros Observados
32 Cluster Computing 31 Multiplicación de Matrices
33 Cluster Computing 32 Eliminación Gaussiana
34 Cluster Computing 33 Transformada Rápida de Fourier
35 Cluster Computing 34 Conclusiones FEl rendimiento del cluster es, en términos generales, comparable al de la SP2 ßBalance entre cómputo con aritmética entera y aritmética de punto flotante /Debido a la arquitectura de los procesadores ßPara aplicaciones intensivas en cómputo con punto flotante se pueden usar procesadores más adecuados
36 Cluster Computing 35 Conclusiones FLos parámetros de comunicación observados son inferiores a los especificados debido al trabajo adicional FEl rendimiento en las comunicaciones es comparable entre las dos arquitecturas para mensajes cortos y moderados ßPara mensajes suficientemente largos, el switch de la SP2 empieza a reportar un comportamiento mejor al de los dispositivos de comunicación convencionales FEs necesario hacer una trabajo de caracterización para cada cluster construido ßPermite sintonizar los parámetros de cada instalación