Está en la página 1de 6

Evolución y Tendencias en Sistemas Paralelos para HPC

Marcelo Naiouf(1), Franco Chichizola(1), Laura De Giusti(1), Enzo Rucci(1)(2), Adrián Pousa(1), Ismael Rodríguez(1),
Sebastián Rodríguez Eguren(1), Erica Montes de Oca(1), María José Basgall(1)(2), Juan Manuel Paniego(1), Martín Pi
Puig(1), Emmanuel Frati(3), Javier Balladini(4), Armando De Giusti(1)(2)
1
Instituto de Investigación en Informática LIDI (III-LIDI)
Facultad de Informática – Universidad Nacional de La Plata
2
CONICET – Consejo Nacional de Investigaciones Científicas y Técnicas
3
Universidad Nacional de Chilecito
4
Universidad Nacional del Comahue

{mnaiouf,francoch,ldgiusti,erucci,apousa,ismael,seguren,emontesdeoca,mjbasgall,jmpaniego,mpipuig,fefrati,
degiusti}@lidi.info.unlp.edu.ar; javier.balladini@gmail.com

Resumen Inteligentes, Simulación y Tratamiento de


Imágenes” del III-LIDI acreditados por el
El eje de esta línea de I/D lo constituye el Ministerio de Educación y de proyectos
estudio de tendencias actuales en las áreas de específicos apoyados por organismos
arquitecturas y algoritmos paralelos. Incluye nacionales e internacionales. Y del proyecto
como temas centrales: “Cloud Computing y Big Data. Aplicaciones a
- Arquitecturas Many-core (GPU, HPC y Cloud Robotics” financiado por la
procesadores MIC), híbridas (diferentes Facultad de Informática de la UNLP.
combinaciones de multicores y GPUs), En el tema hay cooperación con varias
heterogéneas, asimétricas y FPGAs. Universidades de Argentina y se está
- Cloud Computing para HPC (especialmente trabajando con Universidades de América
para aplicaciones de Big Data) y sistemas Latina y Europa en proyectos financiados por
distribuidos de tiempo real (Cloud Robotics). CyTED, AECID y la OEI (Organización de
- Desarrollo y evaluación de algoritmos Estados Iberoamericanos).
paralelos sobre nuevas arquitecturas y su Por otra parte, se tiene financiamiento de
evaluación de rendimiento energético y Telefónica de Argentina en Becas de grado y
computacional. posgrado y se ha tenido el apoyo de diferentes
- Empleo de contadores de hardware, en empresas (IBM, Microsoft, Telecom, INTEL)
particular en toma de decisiones en tiempo de en la temática de Cloud Computing.
ejecución. Se participa en iniciativas como el
Programa IberoTIC de intercambio de
Palabras clave: Sistemas Paralelos. Clusters Profesores y Alumnos de Doctorado en el área
híbridos. Arquitectruras asimétricas. GPU, de Informática.
MIC, FPGA. Cloud Computing y cloud Asimismo el III-LIDI forma parte del
Sistema Nacional de Cómputo de Alto
robotics. Perfomance y eficiencia energética.
Desempeño (SNCAD) del MINCYT.
Contadores de hardware.
Introducción
Contexto
Una de las áreas de creciente interés lo
Se presenta una línea de Investigación que
constituye el cómputo de altas prestaciones, en
es parte de los Proyectos 11/F018
el cual el rendimiento está relacionado con dos
“Arquitecturas multiprocesador en HPC:
aspectos: por un lado las arquitecturas de
Software de Base, Métricas y Aplicaciones” y
soporte y por el otro los algoritmos que hacen
11/F017 “Cómputo Paralelo de Altas
uso de las mismas.
Prestaciones. Fundamentos y Evaluación de
A la aparición de arquitecturas many-core
Rendimiento en HPC. Aplicaciones a Sistemas
(como las GPU o los procesadores MIC), se

778
ha sumado el uso de FPGAs debido a su posibilidades de investigación en arquitecturas
potencia de cómputo y rendimiento híbridas, a partir de diferentes combinaciones
energético. Su combinación en sistemas HPC a saber:
da lugar a plataformas híbridas con diferentes - Cluster de máquinas unicore cada una con
características [RUC16]. placa GPU, lo que permite combinar
Lógicamente, esto trae aparejado una herramientas de programación paralela como
revisión de los conceptos del diseño de MPI/CUDA.
algoritmos paralelos (incluyendo los lenguajes - Máquinas multicore con más de una GPU,
mismos de programación y el software de que combinan herramientas de programación
base), así como la evaluación de las soluciones paralela como OpenMP/CUDA o
que éstos implementan. También resulta Pthread/CUDA.
necesario investigar las estrategias de - Cluster de máquinas multicore cada una
distribución de datos y procesos a fin de con placa de GPU, lo que permite combinar
optimizar la performance. OpenMP/MPI/CUDA o Pthread/MPI/CUDA.
Además de las evaluaciones clásicas de Los desafíos que se plantean son múltiples,
rendimiento prestacional como el speedup y la sobre todo en lo referido a distribución de
eficiencia, otros aspectos comienzan a ser de datos y procesos en tales arquitecturas híbridas
interés, tales como el estudio del consumo y la a fin de optimizar el rendimiento de las
eficiencia energética de tales sistemas soluciones.
paralelos [CAS12].
Los avances en las tecnologías de MIC
virtualización y cómputo distribuido han dado En forma reciente Intel brinda una
origen al paradigma de Cloud Computing, que alternativa a partir de los procesadores MIC
se presenta como una alternativa a los (Many Integrated Core Architecture),
tradicionales sistemas de Clusters y permitiendo utilizar métodos y herramientas
Multicluster para ambientes de HPC estándar de programación con altas
[ROD07][BER08]. A su vez, este concepto se prestaciones.
puede ampliar a sistemas distribuidos de MIC combina varios cores Intel en un solo
tiempo real, en particular sistemas inteligentes chip, y la programación puede realizarse
como son los robots que pueden trabajar en usando código standard C, C++ y FORTRAN.
paralelo utilizando su propia capacidad de El mismo programa fuente escrito para
procesamiento y al mismo tiempo MIC puede ser compilado y corrido en un
conectándose con la potencia de un servidor Xeon, por lo que los modelos de programación
en la nube (Cloud Robotics) familiares remueven barreras de
[LOR13][GUO12][KEH15]. entrenamiento y permiten enfocarse en el
Una herramienta que ha comenzado a ser problema más que en la ingeniería del
utilizada para la monitorización y evaluación software.
de soluciones paralelas en tiempo de ejecución Esta tendencia resulta promisoria, siendo el
son los contadores de hardware, que (en sus co-procesador Phi un ejemplo de esta
diferentes variantes) permiten detectar fallas arquitectura [JEF13].
de concurrencia o estimar problemas de
consumo instantáneo o decidir una migración FPGAs
de datos o procesos [BOR05] [SPR02]. Una FPGA (Field Programmable Gate
En esta línea de I/D se trabaja sobre estos Array) es una clase de acelerador basado en
aspectos que marcan tendencias en el área. circuitos integrados reconfigurables. La
capacidad de adaptar sus instrucciones de
GPUs y Cluster de GPUs acuerdo a la aplicación objetivo le permite
La combinación de GPUs con otras incrementar la productividad de un sistema y
plataformas paralelas como clusters y mejorar el rendimiento energético para ciertos
multicores, brindan un vasto conjunto de tipos de aplicaciones. En la actualidad las

779
principales empresas fabricantes de FPGA dimensionamiento (elasticidad)
trabajan en nuevas herramientas de [VEL09][VAQ09].
programación empleando estándares Más allá de las potenciales características y
familiares para HPC. Se espera que su empleo beneficios que brinda un Cloud, de por sí
contribuya a reducir los tradicionales tiempos atractivas, es de gran interés estudiar el
y costos de programación [SEA13][XIL15]. despliegue de entornos de ejecución para
cómputo paralelo y distribuido (Clusters
Consumo energético Virtules), como así también realizar I/D en la
Un aspecto de interés creciente en la portabilidad de las aplicaciones de HPC en el
informática actual, principalmente a partir de Cloud [DOE11][ROD11].
las plataformas con gran cantidad de Los Clusters Virtuales (VC), están
procesadores, es el del consumo energético conformados por VMs configuradas e
que los mismos producen. interconectadas virtualmente para trabajar en
Muchos esfuerzos están orientados a tratar forma conjunta como un recurso de cómputo
el consumo como eje de I/D, como métrica de único e integrado. Cada una tiene asociado un
evaluación, y también a la necesidad de S.O., recursos de almacenamiento, protocolos
metodologías para medirlo. de comunicación, configuraciones de red y
Entre los puntos de interés pueden entornos de software para ejecución de
mencionarse: algoritmos paralelos [VAZ09][HAC11].
- Caracterización energética de las Por otro lado, Cloud Robotics es una de las
instrucciones, de algoritmos complejos y de áreas más prometedoras de la investigación
sistemas paralelos desde el punto de vista de informática actual en la cual se cuenta con
la potencia máxima y el consumo total. “robots” dotados de diferentes sensores y
- Modelos de predicción de perfomance capacidades, conectados a un Cloud vía
energética. Internet. Los temas de investigación derivados
- Análisis de esquemas de distribución de son múltiples: sensores, redes de sensores e
procesos entre procesadores, con ajuste inteligencia distribuida; robótica y sistemas
dinámico de la frecuencia de clock en función colaborativos de tiempo real basados en
del consumo. robots; aplicaciones críticas (por ej. en
- Estudio de técnicas para reducir el consumo ciudades inteligentes o en el ámbito
energético en aplicaciones de HPC de acuerdo industrial).
a las arquitecturas utilizadas.
- Evaluación de eficiencia energética de Contadores de hardware
diferentes algoritmos y plataformas paralelas. Todos los procesadores actuales poseen un
conjunto de registros especiales denominados
Cloud Computing contadores de hardware [SPR02]. Estos
Cloud Computing, proporciona grandes registros se pueden programar para contar el
conjuntos de recursos físicos y lógicos (como número de veces que ocurre un evento dentro
ser infraestructura, plataformas de desarrollo, del procesador durante la ejecución de una
almacenamiento y/o aplicaciones), fácilmente aplicación. Tales eventos pueden proveer
accesibles y utilizables por medio de una información sobre diferentes aspectos de la
interfaz de administración web, con un ejecución de un programa (por ejemplo el
modelo de arquitectura “virtualizada” número de instrucciones ejecutadas, la
[SHA10][XIN12]. Estos recursos son cantidad de fallos cache en L1, cuántas
proporcionados como servicios (“as a operaciones en punto flotante se ejecutaron,
service”) y pueden ser dinámicamente etc). Los procesadores actuales poseen una
reconfigurados para adaptarse a una carga de gran cantidad de eventos (más de 300) y la
trabajo variable (escalabilidad), logrando una capacidad de usar hasta 11 registros
mejor utilización y evitando el sobre o sub simultáneamente [INT12]. El acceso a estos
recursos de monitorización se puede llevar a

780
cabo usando diferentes herramientas en predicción de perfomance energética en
función del nivel de abstracción deseado. sistemas paralelos.
Interesa plantear la utilización de - Contadores de hardware. Aplicaciones en la
contadores de hardware en dos líneas: optimización de aplicaciones paralelas.
- Optimización de programas. La
dependencia que tiene un programa paralelo Resultados y Objetivos
sobre su arquitectura para ser altamente
eficiente requiere comprender los motivos Investigación experimental a realizar
que penalizan su desempeño. Los contadores - Desarrollo y evaluación de algoritmos
hardware permiten acceder a información paralelos sobre nuevas arquitecturas. Análisis
precisa sobre aspectos específicos de la de rendimiento, eficiencia energética y costo
ejecución de los programas, ayudando al de programación.
programador en la tarea de encontrar esos - Empleo experimental de contadores de
motivos y comparar con datos concretos los hardware, orientados a la detección de fallas
beneficios de los cambios que realiza de concurrencia [FRA15] y a la toma de
[TIN14]. decisiones sobre la frecuencia de clock de los
- Sintonización dinámica de aplicaciones. La procesadores en función del consumo.
información que proporciona la PMU - Análisis del overhead introducido por el
(Unidad de Monitorización de Performance) sistema gestor del Cloud en un entorno de
de los procesadores puede ser utilizada para HPC para aplicaciones científicas de Big Data.
modificar el comportamiento o tomar Comparar el rendimiento entre Cloud y
decisiones en tiempo de ejecución. Esto Cluster Computing.
permite construir algoritmos dinámicos de - Analizar y comparar las técnicas de
gran precisión, que se ajustan a los eventos migración en vivo de VMs, con el fin de
que ocurren en el hardware [FRA14]. implementar migraciones de VCs homogéneos
y heterogénoes en Cloud Computing.
Líneas de Investigación, Desarrollo e - Realizar el desarrollo de nuevos
planificadores de tareas para multicores
Innovación asimétricos sobre diferentes sistemas
- Arquitecturas many-core (procesadores MIC operativos con el objetivo de maximizar el
y GPU) y FPGA. Análisis de este tipo de rendimiento y minimizar el consumo de
máquinas y de técnicas para desarrollar código energía [SAE14][SAE15].
optimizado. - Optimización de algoritmos paralelos para
- Arquitecturas híbridas (diferentes controlar el comportamiento de múltiples
combinaciones de clusters, multicores, robots que trabajan colaborativamente,
manycores y FPGAs). Diseño de algoritmos considerando la distribución de su capacidad
paralelos sobre las mismas. de procesamiento “local” y la coordinación
- Cloud Computing para realizar HPC. con la potencia de cómputo y capacidad de
Evaluación de perfomance en este tipo de almacenamiento (datos y conocimiento) de un
arquitectura. Análisis del overhead por el Cloud.
software de administración del Cloud. Resultados obtenidos
- Sistemas inteligentes de tiempo real
- En la línea de planificación de procesos
distribuidos (Cloud Robotics).
sobre multicores asimétricos se evaluaron
- Migración en vivo de VCs homogéneos y
nuevos algoritmos de planificación sobre los
heterogéneos en las arquitecturas de Cloud
kernel Solaris y Linux, se analizaron las
Computig.
mejoras en redimiento y consumo energético
- Consumo energético en las diferentes
para un conjunto diverso de cargas de trabajo
arquitecturas paralelas, en particular en
[SAE14][SAE15].
relación a los algoritmos paralelos y la
configuración de la arquitectura. Modelos y

781
- Utilización combinada de cluster de “Cloud Computing. Aplicaciones en Big
multicores y cluster de GPUs Data”
[MON14][POU15].
- Se ha finalizado una tesis de doctorado Referencias
focalizada en evaluación de rendimiento y
eficiencia energética de diferentes plataformas [BER08] Bertogna, M., Grosclaude, E., Naiouf, M., De
Giusti, A., Luque, E.: “Dynamic on Demand Virtual
heterogéneas, en la cual se desarrollaron Clusters in Grids”. In: 3rd Workshop on Virtualization
diferentes soluciones paralelas para un in High-Performance Cluster and Grid Computing
problema del área bioinformática con alta (VHPC 08). España. (2008).
demanda computacional [RUC16]. Se [BOR05] S. Y. Borkar, P. Dubey, K. C. Kahn, D. J.
analizaron sus rendimientos y el consumo Kuck, H. Mulder, S. S. Pawlowski, y J. R. Rattner:
“Platform 2015: Intel® Processor and Platform
energético y costo de programación asociados. Evolution for the Next Decade”. In: Intel Corporation,
White Paper, 2005.
Organización de Eventos [CAS12] Casanova B., Balladini J., De Giusti A., Suppi
En el año 2015 se ha organizado la III R., Rexachs D., Luque E.: “Mejora de la eficiencia
Jornada de Cloud Computing y Big Data energética en sistemas de computación de altas
prestaciones”. In: XII Workshop de Procesamiento
(JCC&BD 2015) en Argentina, con Distribuido y Paralelo. CACIC 2012. ISBN: 978987-
participación de especialistas académicos del 1648-34-4. Pág. 377-386. Argentina (2012).
país y del exterior y de empresas con [DOE11] Doelitzcher, F., Held, M., Sulistio, A., Reich,
experiencia en Cloud Computing. En junio de C. ViteraaS: “Virtual Cluster as a Service”. In: 3rd
2016 se organizará la IV Jornadas de Cloud IEEE International Conference on Cloud Computing
Technology and Science. Grecia (2011).
Computing y Big Data (JCC&BD 2016). [FED09] Alexandra Fedorova, Juan Carlos Saez, Daniel
Shelepov, Manuel Prieto: “Maximizing Power
Formación de Recursos Humanos Efficiency with Asymmetric Multicore Systems”. In:
Communications of the ACM, Vol. 52 (12), pp 48-57.
Dentro de la temática de la línea de I/D el 2009.
último año se concluyeron: 2 tesis doctorales, [FRA14] F. E. Frati, K. Olcoz Herrero, L. Piñuel
Moreno, M. R. Naiouf, A. De Giusti: “Modelo para
2 trabajos de Especialización y 1 tesina de sintonización dinámica de aplicaciones guiada por
grado. Al mismo tiempo se encuentran en eventos de hardware”. In: XX Congreso Argentino de
curso 4 tesis de Doctorado en Ciencias Ciencias de la Computación. 2014.
Informáticas. [FRA15] Frati E: “Software para arquitecturas basadas
Además, se participa en el dictado de las en procesadores de múltiples núcleos. Detección
Automática de errores de concurrencia”. Tesis Doctoral,
carreras de Doctorado en Ciencias Universidad Nacional de La Plata. 2015.
Informáticas, y Magíster y Especialización en [GUO12] Guoqiang Hu, Wee Peng Tay, Yonggang
Cómputo de Altas Prestaciones de la Facultad Wen: “Cloud robotics: architecture, challenges and
de Informática de la UNLP (todas acreditadas applications”. In: Network, IEEE, vol.26, no.3, pp.21-
A por la CONEAU), por lo que 28. 2012.
[HAC11] Hacker, T., Mahadik, K.: “Flexible Resource
potencialmente pueden generarse nuevas Tesis Allocation for Reliable Virtual Cluster Computing.” In:
de Doctorado y Maestría y Trabajos Finales de Supercomputing Proceedings (SC11). USA (2011).
Especialización. [INT12] Intel Corporation: “Intel® 64 and IA-32
Existe cooperación con grupos de otras Architectures Software Developer’s Manual”. Manual
Universidades del país y del exterior, y hay 253669-043US, 2012. Recuperado a partir de
http://www.intel.com/content/www/us/en/processors/ar
tesistas de diferentes Universidades realizando chitectures-software-developer-manuals.html
su Tesis con el equipo del proyecto. [JEF13] Jeffers, James; Reinders, James: “Intel Xeon
Respecto a las carreras de grado, se dictan Phi Coprocessor High Performance Programming”,
por parte de integrantes de la línea de Morgan Kaufmann, 2013.
investigación dos materias directamente [KEH15] Kehoe B., Patil S., Abbeel P., Goldberg K.:
“A Survey of Research on Cloud Robotics and
relacionadas con los temas de la misma: Automation”. In: IEEE Transactions on Automation
“Taller de Programación sobre GPUs” y Science and Engineering (T-ASE): Special Issue on
Cloud Robotics and Automation. Vol. 12, no. 2. 2015.

782
[LOR13] Lorencik D., Sincak P.: “Cloud robotics: [SEA13] Sean Settle: “High-performance Dynamic
Current trends and possible use as a service”. In: Programming on FPGAs with OpenCL”. In: IEEE High
Applied Machine Intelligence and Informatics (SAMI), Performance Extreme Computing Conference. 2013.
2013 IEEE 11th International Symposium on , vol., no., [SHA10] Shafer, J.: “I/O virtualization bottlenecks in
pp.85-88. 2013. cloud computing today”. In: Proceedings of the 2nd
[POU15] Adrian Pousa, Victoria Sanz, Armando De conference on I/O virtualization (VIOV10). USA
Giusti: “Comparación de rendimiento de algoritmos de (2010).
cómputo intensivo y de acceso intensivo a memoria [SPR02] B. Sprunt: “The basics of performance-
sobre arquitecturas multicore. Aplicación al algoritmo monitoring hardware”. In: IEEE Micro, vol. 22, nro 4,
de criptografía AES”. XXI Congreso Argentino de pp. 64- 71. 2002.
Ciencias de la Computación. Argentina (2015). [TIN14] F. G. Tinetti, S. M. Martin, F. E. Frati, M.
[ROD07] Rodriguez, I. P., Pousa, A., Pettoruti, J.E., Méndez: “Optimization and Parallelization experiences
Chichizola, F., Naiouf, M., De Giusti, L., De Giusti, A.: using hardware performance counters”. In: Proceedings
“Estudio del overhead en la migración de algoritmos of the 4th International Supercomputing Conference.
paralelos de cluster y multicluster a GRID”. In: México (2013).
Proceedings del XIII Congreso Argentino de Ciencias [VAQ09] Vaquero, L. M., Rodero-Merino, L., Caceres,
de la Computación. Argentina (2007). J., Lindner, M.: “A Break in the Clouds: Towards a
[ROD11] Rodriguez, I., Pettoruti, J.E., Chichizola, F., Cloud Definition”. In: ACM SIGCOMM Computer
De Giusti, A.: “Despliegue de un Cloud Privado para Communication Review, Volume 39, Issue 1, pp. 50--
entornos de cómputo científico”. In: Proceedings del 55. USA. (2009).
XVII Congreso Argentino de Ciencias de la [VAZ09] Vázquez Blanco, B., Huedo, E., Montero, R.
Computación. Argentina (2011). S., Llorente, I. M.: “Elastic Management of Cluster-
[RUC16] Rucci, Enzo: “Evaluación de rendimiento y based Services in the Cloud”. In: Proceedings pp.19-24,
eficiencia energética en sistemas heterogéneos para ACM Digital Library. ISBN 978-1-60558-564-2. 2009.
bioinformática”. Tesis de Doctorado en Ciencias [VEL09] Velte, A.T., Velte, T.J., Elsenpeter, R.:
Informáticas (Facultad de Informática – UNLP). 2016. “Cloud Computing: A Practical Approach”. McGraw
[SAE14] Juan Carlos Saez, Adrian Pousa, Fernando Hill Professional. 2009.
Castro, Daniel Chaver, Manuel Prieto: “Exploring the [XIL15] Xilinx Inc. “SDAccel Development
Throughput-Fairness Trade-off on Asymmetric Environment”. [Online]. Disponible en
Multicore Systems”. In: Euro-Par 2014: Parallel http://www.xilinx.com/products/design-tools/software-
Processing Workshops - 2nd Workshop on Runtime and zone/sdaccel.html
Operating Systems for the Many-core Era (ROME [XIN12] Xing, Y., Zhan, Y.: “Virtualization and Cloud
2014). 2014. Computing”. In: Proceedings pp.305-312, Springer
[SAE15] Juan Carlos Saez, Adrian Pousa, Daniel Link. ISBN 978-3-642-27323-0. (2012). Morgan
Chaver, Fernando Castro, Manuel Prieto Matias: Kaufmann. 2013.
“ACFS: A Completely Fair Scheduler for Asymmetric
Single-ISA Multicore Systems”. In: ACM SAC 2015
(The 30TH ACM/SIGAPP Symposium on applied
computing). 2015.

783

También podría gustarte