Documente Academic
Documente Profesional
Documente Cultură
SPMD
Marcos Frutos
Facultad Politécnica
Universidad Nacional de Asunción
San Lorenzo - Paraguay
+595 981 165852
mharcosfrutos@gmail.com
5. RESULTADOS EXPERIMENTALES
Realizamos experimentos con nuestra herramienta en dos
sistemas. El primero es una IBM BlueGene/L (BG/L) con nodos
PowerPC de 2048 dual-core y 700 MHz. Cada nodo tiene 1 GB
de RAM (512 por núcleo). Usamos el compilador gcc con la
implementación MPI de IBM. En las pruebas utilizamos tanto el
modo de ejecución modo coprocesador como también el modo
virtual node (VN), en el cual cada núcleo realiza el cómputo y la
comunicación.
Utilizamos dos bien conocidas aplicaciones científicas para los
test, ParaDis y Raptor, ambos con escalas de 16,000 o más
procesos [20]. ParaDis[6] usa un balanceador de carga adaptativo
en tiempo de ejecución para mantener pareja la carga a lo largo de
la red. Estas disociaciones son divididas en regiones llamadas
dominios. Cada proceso computa en un dominio, y el balanceador
redistribuye las disociaciones entre dominios periódicamente.
Raptor [16], es un código que simula complejos fluidos
dinámicos. Como ParaDis, Raptor es conocido por tener
cantidades variables de computación por proceso.
6. TRABAJOS RELACIONADOS
Las herramientas de evaluación de rendimientos tradicionales son
insuficientes para el monitoreo del balance de carga en sistemas
grandes [12, 23, 32] ya que no tienen en cuenta información de
tiempo, que es crítico para el entendimiento de la evolución de la
carga. Los rastreadores de eventos [5,12, 22] guardan información
del tiempo pero fallan con sistemas grandes por sus
requerimientos de almacenamiento, que son lineales en tiempo y
espacio.
MRNet [29] es un software de capa superior para redes que
provee una interfaz genérica para operaciones eficientes multicast
y reducción para herramientas escalables. MRNet usa un árbol de
procesos entre una herramienta front-end y back-end para mejorar
la comunicación y reducir la perturbación. Esto nos permitiría
recolectar datos en tiempo de ejecución antes que post-mortem.
Nuestra idea es incorporarla en una versión futura usando la
herramienta de integración PNMPI[30].
SimPoint[28] detecta fases en las aplicaciones en bloques básicos
de vectores (BBVs). Provee alta precisión para medición de
arquitecturas.
TAU [32] y ompP[14] soporta perfilamiento de fases, el cual
captura la evolución de rendimiento a lo largo del tiempo con un
volumen aceptable de datos. De todos modos, nuestros datos son
menores, aunque los enfoques podrían ser complementarios.
Para evaluar si los errores permanecen estables en cuanto crecen 7. CONCLUSIONES
los tamaños de los sistemas, variamos el tamaño de los sistemas y
El desbalanceo de carga es uno de los más importantes factores
el número de pasadas EZW. Otra vez, recolectamos una gran
limitantes en la escalabilidad de sistemas de gran escala en la
cantidad de datos con datos comprimidos al final de cada corrida,
computación paralela. Por lo tanto, el entendimiento de su
y comparamos los valores de los errores obtenidos. La figura 10
impacto y fuente es un paso esencial para mejorar el rendimiento
muestra la media de errores para estas corridas. Para ParaDis los
de las aplicaciones. Los programas que recolectan datos a los
errores disminuían acorde el sistema crecía, y se empezaban a
largo de la ejecución generalmente acumulan gran volumen de
estabilizar al alcanzar los 1024 procesos. Sin embargo, con Raptor
datos, lo que hace inviable la implementación con enfoques
vemos errores más variables, ya que usamos datos con cargas más
tradicionales.
pesadas. Hay picos en procesos 256 y 4096 en el modo virtual
node (VN) y también en 1024 procesos en el modo coprocesador. En este paper, presentamos un novedoso enfoque al monitoreo de
En todos los casos, vemos que estos picos se dan con una sola grandes sistemas que logra la reducción de varios grados de
pasada del EZW, en este caso la media de error puede variar magnitud de los datos y tiempos sub-lineales (logarítmicos) de
mezcla, a pesar del tamaño del sistema. Introducimos un modelo Brisbane, Australia, August 1999.
para cargas de alto nivel en aplicaciones SPMD que ayudaría en el [4] S. Browne, J. Dongarra, N. Garner, G. Ho, and P. J.
entendimiento de problemas de rendimiento. Usando agresivos
algoritmos de compresión pudimos reducir y juntar cargas Mucci. A portable programming interface for performance
distribuidas y reducir cuellos de botellas significantes de E/S, evaluation on modern processors. The International
todo esto con un bajo nivel de errores y alta velocidad, inclusive
Journal of High Performance Computing Applications,
con altos niveles de compresión.
14(3):189–204, Fall 2000.
Demostramos con la utilización de dos aplicaciones: Raptor y
ParaDis, las cuales pudimos manejar eficientemente y capturar [5] H. Brunst, H.-C. Hoppe, W. E. Nagel, and M. Winkler.
información sobre la evolución del balance de la carga. Performance optimization for large scale computing: The
Demostramos también que con información del tiempo y el id del
proceso, el tamaño de los archivos crecía muy lentamente, por lo scalable VAMPIR approach. In Computational Science -
tanto permite realizar medidas aún a mayor escala. ICCS 2001, pages 751–760, May 2001.
Mostramos con datos post-mortem que nuestra compresión [6] V. Bulatov, W. Cai, M. Hiratani, G. Hommes, T. Pierce,
wavelet puede lograr tiempos de mezcla adecuado para el M. Tang, M. Rhee, K. Yates, and T. Arsenlis. Scalable line
monitoreo online de códigos de producción.
dynamics in ParaDiS. In Supercomputing 2004 (SC’04),
Estamos trabajando en como detectar el progreso en ciclos MPI
sin la necesidad de hacerlo de forma explícita. Planeamos 2004.
producir un framework completamente automático y transparente [7] M. Casas, R. M. Badia, and J. Labarta. Automatic phase
para analizar eficientemente y optimizar el comportamiento del
detection of MPI applications. Parallel Computing:
balance de carga de cualquier código SPMD.
Architectures, Algorithms, and Applications, 38:129–136,
2007.
8. REFERENCIAS [8] M. Casas, R. M. Badia, and J. Labarta. Automatic
[1] M. D. Adams. The JPEG-2000 still image compression
structure extraction from MPI applications. In European
standard. Technical Report 2412, ISO/IEC JTC 1/SC
Conference on Parallel Computing (Euro-Par), pages 3–12,
29/WG, December 2002.
2007.
[2] M. D. Adams and F. Kossentini. JasPer: a software-based
[9] M. Casas, R. M. Badia, and J. Labarta. Automatic
JPEG-2000 codec implementation. In Proceedings of the
analysis of speedup of MPI applications. In International
International Conference on Image Processing, 2000.
Conference on Supercomputing (ICS), pages 349–358, Kos,
[3] L.-M. Ang, H. N. Cheung, and K. Eshragian. EZW
Greece, June 7-12 2008.
algorithm using depth-first representation of the wavelet
[10] P. Colella, D. T. Graves, D. Modiano, D. B. Serafini, and
zerotree. In Fifth International Symposium on Signal
B. v. Straalen. Chombo software package for AMR
Processing and its Applications (ISSPA), pages 75–78,
applications. Technical Report (Lawrence Berkeley
National Laboratory), 2000. Available from: [22] X. Martorell, N. Smeds, R. Walkup, J. R. Brunheroto,
http://seesar.lbl.gov/anag/chombo. G. Alm´asi, J. A. Gunnels, L. De Rose, J. Labarta,
[11] I. Daubechies. Ten Lectures on Wavelets. SIAM: Society F. Escal´e, J. Gimenez, H. Servat, and J. E. Moreira. Blue
for Industrial and Applied Mathematics, 1992. Gene/L performance tools. IBM Journal of Research and
[12] L. De Rose and D. A. Reed. SvPablo: A multi-language Development, 49(2-3):407–424, 2005.
architecture-independent performance analysis system. In [23] J. Mellor-Crummey. HPCToolkit: Multi-platform tools for
International Conference on Parallel Processing, 2000. profile-based performance analysis. In 5th International
[13] P. Deutsch and J.-L. Gailly. ZLIB compressed data format Workshop on Automatic Performance Analysis (APART),
specification version 3.3. RFC 1950, Internet Engineering November 2003.
Task Force, May 1996. [24] MPI Forum. MPI: A message passing interface standard.
[14] K. F¨urlinger and M. Gerndt. ompP: A profiling tool for International Journal of Supercomputer Applications and
OpenMP. In Proceedings of the First International High Performance Computing, 8(3/4):159–416, 1994.
Workshop on OpenMP (IWOMP), 2005. [25] O. M. Nielsen and M. Hegland. Parallel performance of fast
[15] A. Gara, M. A. Blumrich, D. Chen, G. L.-T. Chiu, wavelet transforms. International Journal of High Speed
P. Coteus, M. E. Giampapa, R. A. Haring, P. Heidelberger, Computing, 11(1):55–74, 2000.
D. Hoenicke, G. V. Kopcsay, T. A. Liebsch, M. Ohmacht, [26] M. Noeth, F. Mueller, M. Schulz, and B. R. de Supinski.
B. D. Steinmacher-Burow, T. Takken, and P. Vranas. Scalable compression and replay of communication traces
Overview of the Blue Gene/L system architecture. IBM in massively parallel environments. In International
Journal of Research and Development, 49(2/3), 2005. Parallel and Distributed Processing Symposium (IPDPS),
[16] J. Greenough, A. Kuhl, L. Howell, A. Shestakov, March 26-30 2007.
U. Creach, A. Miller, E. Tarwater, A. Cook, and B. Cabot. [27] Paradyn Project, Madison, WI. DynStackwalker
Raptor – software and applications for BlueGene/L. In Programmer’s Guide, July 13 2007. Version 0.6b. Available
BlueGene/L Workshop. Lawrence Livermore National from: http://ftp.cs.wisc.edu/pub/paradyn/releases/
Laboratory, 2003. Available from: current release/doc/stackwalker.pdf.
http://www.llnl.gov/asci/platforms/bluegene/agenda.html. [28] E. Perelman, M. Polito, J.-Y. Bouget, J. Sampson,
[17] D. A. Huffman. A method for the construction of B. Calder, and C. Dulong. Detecting phases in parallel
minimum-redundancy codes. Proceedings of the Institute of applications on shared memory architectures. In
Radio Engineers, 40(9):1098–1101, September 1952. International Parallel and Distributed Processing
[18] T. Huffmire and T. Sherwood. Wavelet-based phase Symposium (IPDPS), 2006.
classification. In PACT’06, pages 95–104, September 16-20 [29] P. C. Roth, D. C. Arnold, and B. P. Miller. MRNet: A
2006. software-based multicast/reduction network for scalable
[19] R. Kutil. Approaches to zerotree image and video coding tools. In Supercomputing 2003 (SC03), 2003.
on MIMD architectures. Parallel Computing, [30] M. Schulz and B. R. de Supinski. PNMPI tools: A whole
28(7-8):1095–1109, August 2002. lot greater than the sum of their parts. In Supercomputing
[20] S. Louis and B. R. de Supinski. BlueGene/L: Early 2007 (SC’07), 2007.
application scaling results. In NNSA ASC Principal [31] J. M. Shapiro. Embedded image coding using zerotrees of
Investigator Meeting & BG/L Consortium System wavelet coefficients. IEEE Transactions on Signal
Software Workshop, February 2005. Available from: Processing, 41(12):3445–3462, December 1993.
http://www-unix.mcs.anl.gov/ beckman/bluegene/ [32] S. Shende and A. Maloney. The TAU parallel performance
SSW-Utah-2005/BGL-SSW22-LLNL-Apps.pdf. system. International Journal of High Performance
[21] A. D. Malony and W. E. Nagel. The open trace format Computing Applications, 20(2):287–331, 2006.
(OTF) and open tracing for HPC. In SC ’06: Proceedings [33] B. Sprunt. Pentium 4 performance-monitoring features.
of the 2006 ACM/IEEE conference on Supercomputing, IEEE Micro, pages 64–71, 2002.
page 24, New York, NY, USA, 2006. ACM. [34] R. S. Wagner, R. G. Baraniuk, S. Du, D. B. Johnson, and
A. Cohen. An architecture for distributed wavelet analysis New York, NY, USA, 2006. ACM Press.
and processing in sensor networks. In Information [35] D. F. Walnut. An Introduction to Wavelet Analysis.
Processing in Sensor Networks (IPSN06), pages 243–250, Birkh¨auser Boston, 2004.