geneura-papers / 2015-ASOCO

Revision of the heterogeneous parameters/machines paper
0 stars 0 forks source link

Revisar dos artículos sobre EVA y otros dos de heterogeneidad #14

Closed fergunet closed 6 years ago

fergunet commented 9 years ago

Asigno a @mgarenas que ya ha revisado unos cuantos y tiene más idea, aunque si otra persona quiere, que se lo pida. ¿Puedes escribir un párrafo sobre estos papers para meterlos en el SOA?

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.2.1273&rep=rep1&type=pdf

http://www.ep1.rub.de/lehre/abschlussarbeiten/thesis/DissRuedigerBerlich.pdf

Los dos siguientes dicen lo de siempre "balanceo de carga es bueno", pero nosotros no estamos balanceando la carga.

JA Martínez, Francisco Almeida, Ester M. Garzón, Alejandro Acosta, Vicente Blanco Pérez: Adaptive load balancing of iterative computation on heterogeneous systems nondedicated. The Journal of Supercomputing 58 (3): 385-393 (2011),

Alejandro Acosta, Vicente Blanco Pérez, Francisco Almeida: Dynamic load balancing on heterogeneous multi-GPU systems. Computers & Electrical Engineering 39(8): 2591-2602 (2013)

JJ commented 9 years ago

Por favor, tened en cuenta que un estado del arte no es este artículo hace esto mientras que el otro dice lo otro. Tenéis que establecer la historia del campo donde queráis colocar el paper, encajar los trabajos en el mismo y finalmente integrarlos todos dentro de una argumentación, que será "Esto está hecho y nosotros vamos a hacerlo mejor". Por lo tanto, tras los n párrafos tendrá que haber alguna persona que lo encaje todo.

mgarenas commented 9 years ago

Si puedo

Enviado de Samsung Mobile

-------- Mensaje original --------
De: Pablo García Sánchez notifications@github.com
Fecha:23/02/2015 16:50 (GMT+01:00)
Para: geneura-papers/2015-ASOCO 2015-ASOCO@noreply.github.com
Cc: Maribel García Arenas mgarenas@ugr.es
Asunto: [2015-ASOCO] Revisar dos artículos sobre EVA (#14)
Asigno a @mgarenas que ya ha revisado unos cuantos y tiene más idea, aunque si otra persona quiere, que se lo pida. ¿Puedes escribir un párrafo sobre estos papers para meterlos en el SOA? http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.2.1273&rep=rep1&type=pdf http://www.ep1.rub.de/lehre/abschlussarbeiten/thesis/DissRuedigerBerlich.pdf JA Martínez, Francisco Almeida, Ester M. Garzón, Alejandro Acosta, Vicente Blanco Pérez: Adaptive load balancing of iterative computation on heterogeneous systems nondedicated. The Journal of Supercomputing 58 (3): 385-393 (2011), Alejandro Acosta, Vicente Blanco Pérez, Francisco Almeida: Dynamic load balancing on heterogeneous multi-GPU systems. Computers & Electrical Engineering 39(8): 2591-2602 (2013) — Reply to this email directly or view it on GitHub.
mgarenas commented 9 years ago

EvA A Tool for Optimization with Evolutionary Algorithms: Este artículo presenta una herramienta para desarrollar AEs, tanto de codificación binaria como real en versiones secuenciales y paralelas. Se trata de una herramienta con entorno gráfico que permite establecer los parámetros, ver de forma gráfica la evolución del fitness y como se mueve el mejor individuo por el espacio de búsqueda. Describe la implementación de las versiones parelelas de algoritmos de proporciona destacando que están orientados a diferentes tipo de hardware, máquinas paralelas con un sistema de memoria distribuída o compartida según el tipo de algoritmo. Como ejemplo de implementación compara las diferentes implementaciones de las estrategias de evolución de los tipos de algoritmos parelelos que describe para diferentes arquitecturas paralelas para cuatro funciones tipo, la f1(esfera), la f9 (Ackley), la f10 (TSP) y la f22 (esa no se cual es, la formula está en el paper). Concretamente se centra en defender una implementación distribuída de una Estrategia de Evolución frente a una implementación masivamente paralela. Las conclusiones de este artículo son bastante obvias, las implementaciones paralelas en una máquina MIMD pueden acelerar la ejecución de una ES significativamente. Los mínimos locales se encuentran con una probabilidad muy alta.

Quizás yo destacaría que las implementaciones paralelas están optimizadas para diferentes tipos de máquinas, máquinas con un gran número de nodos (512 nodos o 16384 procesadores) y que evidentemente se adaptan al hardware que hay por debajo permitiendo parametrizar el rango de nodos o de procesadores que quieres usar. Y Evidentemente el software adaptado al hardware va mejor.

En mi opinión, este artículo es.... digamos.... obvio.

Voy a por el segundo.

mgarenas commented 9 years ago

JA Martínez, Francisco Almeida, Ester M. Garzón, Alejandro Acosta, Vicente Blanco Pérez: Adaptive load balancing of iterative computation on heterogeneous systems nondedicated. The Journal of Supercomputing 58 (3): 385-393 (2011),

Una frase clave de este artículo es: The objective of this work is to develop a sim- ple and efficient dynamic adaptation strategy of the code for heterogeneous systems that minimizes code intrusion so that the program can be adapted without any prior knowledge of the architecture and without the need to develop analytical models.

Osea, que lo que quieren es diseñar una estrategia de adaptación en el código para que pueda ser utilizado en sistemas heterogéneos introduciendo cuantas menos dependencias del hardware mejor. El ejemplo que usa no es ninguna función a optimizar, sino que se trata del algoritmo de Jacobi que es un algoritmo iterativo para resolver ecuaciones lineales. Las versiones paralelas las implementan utilizando MPI y una función que lo que hace es balancear la carga de forma dinámica en tiempo de ejecución. El sistema heterogéneo que usan es un Itanium, un Xenon64 a 2.6 GHz y otro a 1. 8 GHz y un Opteron. Como ves, este sistema también es sólo de 4 nodos. Y utilizan tres problemas para probar, problemas de diferentes dimensiones y los prueba en tres escenarios. El primer escenario es con los cuatro nodos de forma dedicada, el segundo es incluyendo algunos nodos no dedicados, es decir que están ejecutando algun trabajo adicional los nodos 0 y 1 y por último, el tercer escenario incluye una modificación dinámica de la carga de dos de los nodos.

Los resultados son que mediante el uso de la función de balanceo de carga, el algoritmo se adapta al hardware subyacente minimizando bastante el tiempo de ejecución final de los tres problemas en los tres escenarios probados.

mgarenas commented 9 years ago

Alejandro Acosta, Vicente Blanco Pérez, Francisco Almeida: Dynamic load balancing on heterogeneous multi-GPU systems. Computers & Electrical Engineering 39(8): 2591-2602 (2013)

En este artículo presentan una librería que lo que hace es balancear la carga en sistemas heterogéneos , incluyendo CPU y GPU. Esta librería lo que pretende es falicitar las tareas del programador para que el esfuerzo para balancear la carga en este tipo de sistemas, con una o varias GPUs sea mínimo. Para validar los resultados utilizan dos sistemas heterogéneos diferentes. El primero es un cluster con 32 cores (CPU), todos con memoria compartida y un total de 448 cores (GPU). El segundo es un cluster con memoria distribuida con un total de 4 nodos. Uno de los nodos tiene 4 cores y una GPU con 512 cores y los demás nodos tienen 2 procesadores la CPU con una tarjeta con 448 cores cada una. Utilizan cuatro problemas que etiquetan como "Dynamic Programming problems" y que programan de diferente forma según la máquina que vayan a utilizar. Para la máquina de memoria compartida utilizan OpenMP y para la de memoria distribuida utilizan MPI evidentemente ejecutan los problemas con y sin balanceo y con cuatro diferentes tamaños. Los resultados incluyen un sin fin de gráficas y tablas y para resumir, en las conclusiones dicen que el balanceo de carga se realiza cogiendo la información en los primeros pasos de los algoritmos durante los que se va adaptando el proceso de balanceo de forma dinámica y en todas las instancias de todos los problemas, se consigue balancear la carga de trabajo. Respecto a las ganancias que obtiene, no en todos los casos son buenas, por lo que creo que no las menciona mucho en las conclusiones.