Scielo RSS <![CDATA[CLEI Electronic Journal]]> http://www.scielo.edu.uy/rss.php?pid=0717-500020140001&lang=pt vol. 17 num. 1 lang. pt <![CDATA[SciELO Logo]]> http://www.scielo.edu.uy/img/en/fbpelogp.gif http://www.scielo.edu.uy <![CDATA[Preface]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002014000100001&lng=pt&nrm=iso&tlng=pt This Special Issue of CLEI Electronic Journal presents the invited contributions selected from the best evaluated papers presented in VI HPCLatAm 2013. These communications that have been conveniently extended and properly evaluated. In this way the selected papers are a valuable contributions to the development of high performance computing in Latin America and summarizes the state of the art of HPC in our region.<hr/>El presente número especial de la revista electrónica CLEI incluye contribuciones invitadas seleccionadas entre los trabajos mejor evaluados en HPCLatAm 2013. Los mismos han sido convenientemente extendidos y nuevamente evaluados para ser aceptados en el presente número. De esta manera los trabajos seleccionados constituyen una valiosa contribución al desarrollo de la Computación de Alto Desempeño y resumen el estado del arte del tema en nuestra región. <![CDATA[A Parallel Multi-Objective Cooperative Coevolutionary Algorithm for Optimising Small-World Properties in VANETs]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002014000100002&lng=pt&nrm=iso&tlng=pt Cooperative coevolutionary evolutionary algorithms differ from standard evolutionary algorithms’ architecture in that the population is split into subpopulations, each of them optimising only a sub-vector of the global solution vector. All subpopulations cooperate by broadcasting their local partial solutions such that each subpopulation can evaluate complete solutions. Cooperative coevolution has recently been used in evolutionary multi-objective optimisation, but few works have exploited its parallelisation capabilities or tackled real-world problems. This article proposes to apply for the first time a state-of-the-art parallel asynchronous cooperative coevolutionary variant of the non-dominated sorting genetic algorithm II (NSGA-II), named CCNSGA-II, on the injection network problem in vehicular ad hoc networks (VANETs). This multi-objective optimisation problem, consists in finding the minimal set of nodes with backend connectivity, referred to as injection points, to constitute a fully connected overlay that will optimise the small-world properties of the resulting network. Recently, the well-known NSGA-II algorithm was used to tackle this problem on realistic instances in the city-centre of Luxembourg. In this work we analyse the performance of the CCNSGA-II when using different numbers of subpopulations, and compare them to the original NSGA-II in terms of both quality of the obtained Pareto front approximations and execution time speedup.<hr/>Los algoritmos evolutivos cooperativos coevolutivos difieren de la arquitectura de los algoritmos evolutivos estándares en que la población se divide en sub-poblaciones, cada una de ellas dedicada a la optimización de un único sub-vector del vector que forma la solución global al problema. Todas las sub-poblaciones cooperan haciendo pública su mejor solución parcial local, de forma que cada subpoblación pueda evaluar soluciones completas usando esta información. La coevolución cooperativa se ha utilizado recientemente en algoritmos evolutivos de optimización multi-objetivo, pero muy pocos trabajos han explotado su capacidad de paralelismo o se han enfocado a problemas del mundo real. Este artículo propone aplicar, por primera vez, un algoritmo evolutivo cooperativo coevolutivo paralelo y asíncrono, variante del algoritmo NSGA-II, y llamado CCNSGA-II, para el problema de la inyección de enlaces en redes ad hoc vehiculares (VANETs). Este problema de optimización multi-objetivo consiste en encontrar el conjunto mínimo de nodos con conectividad adicional, llamados puntos de inyección, para formar una red subyacente completamente conectada de forma que las características de mundo pequeño de la red resultante sean optimizadas. Recientemente, el conocido algoritmo NSGA-II se utilizó para resolver este problema en instancias realistas del centro de la ciudad de Luxemburgo. En este trabajo analizamos el rendimiento de CCNSGA-II con distintos números de sub-poblaciones, y lo comparamos con el NSGA-II original en función de la calidad de la aproximación al frente de Pareto obtenido y del tiempo de ejecución. <![CDATA[Dynamic Scheduling based on Particle Swarm Optimization for Cloud-based Scientific Experiments]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002014000100003&lng=pt&nrm=iso&tlng=pt Parameter Sweep Experiments (PSEs) allow scientists to perform simulations by running the same code with different input data, which results in many CPU-intensive jobs, and hence parallel computing environments must be used. Within these, Infrastructure as a Service (IaaS) Clouds offer custom Virtual Machines (VM) that are launched in appropriate hosts available in a Cloud to handle such jobs. Then, correctly scheduling Cloud hosts is very important and thus efficient scheduling strategies to appropriately allocate VMs to physical resources must be developed. Scheduling is however challenging due to its inherent NP-completeness. We describe and evaluate a Cloud scheduler based on Particle Swarm Optimization (PSO). The main performance metrics to study are the number of Cloud users that the scheduler is able to successfully serve, and the total number of created VMs, in online (non-batch) scheduling scenarios. Besides, the number of intra-Cloud network messages sent are evaluated. Simulated experiments performed using CloudSim and job data from real scientific problems show that our scheduler achieves better performance than schedulers based on Random assignment and Genetic Algorithms. We also study the performance when supplying or not job information to the schedulers, namely a qualitative indication of job length.<hr/>Los Experimentos de Barrido de Parámetros (PSEs) permiten a los científicos llevar a cabo simulaciones mediante la ejecución de un mismo código con diferentes entradas de datos, lo cual genera una gran cantidad de trabajos intensivos en CPU que para ser ejecutados es necesario utilizar entornos de cómputo paralelos. Un ejemplo de este tipo de entornos son las Infraestructura como un Servicio (IaaS) de Cloud, las cuales ofrecen máquinas virtuales (VM) personalizables que son asignadas a máquinas físicas disponibles para luego ejecutar los trabajos. Además, es importante planificar correctamente la asignación de las máquinas físicas del Cloud, y por lo tanto es necesario implementar estrategias eficientes de planificación para asignar adecuadamente las VMs en las máquinas físicas. Una planificación eficiente constituye un desafío, debido a que es un problema NP-Completo. En este trabajo describimos y evaluamos un planificador Cloud basado en Optimización por Enjambre de Partículas (PSO). Las métricas principales de rendimiento a estudiar son el número de usuarios que el planificador es capáz de servir exitosamente y el número total de VMs creadas en un escenario online (no por lotes). Además, en este trabajo se evalúa el número de mensajes enviados a través de la red. Los experimentos son realizados mediante el uso del simulador CloudSim y datos de trabajos de problemas científicos reales. Los resultados muestran que nuestro planificador logra el mejor rendimiento respecto de las métricas estudiadas con respecto a una asignación random y algoritmos genéticos. En este trabajo también evaluamos el rendimiento, a través de las métricas propuestas, cuando se provee al planificador información cualitativa relacionada a la longigud de los trabajos o no se provee la misma. <![CDATA[Trading Off Performance for Energy in Linear Algebra Operations with Applications in Control Theory]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002014000100004&lng=pt&nrm=iso&tlng=pt We analyze the performance-power-energy balance of a conventional Intel Xeon multicore processor and two low-power architectures -an Intel Atom processor and a system with a quad-core ARM Cortex A9+NVIDIA Quadro 1000M- using a high performance implementation of Gauss-Jordan elimination (GJE) for matrix inversion. The blocked version of this algorithm employed in the experimental evaluation mostly comprises matrix-matrix products, so that the results from the evaluation carry beyond the simple matrix inversion and are representative for a wide variety of dense linear algebra operations/codes.<hr/>En este trabajo se estudia el desempeño, potencia y consumo energético necesario al utilizar un procesador convencional Intel Xeon multi-core y dos arquitecturas de bajo consumo -como son el procesador Intel Atom y un sistema con un procesador ARM quad-core Cortex A9 conectado a una GPU NVIDIA Quadro 1000M- para computar la inversión de matrices mediante una implementación optimizada del algoritmo de eliminación de Gauss-Jordan (GJE). El algoritmo a bloques utilizado para realizar la evaluación experimental se basa fuertemente en la operación producto matriz-matriz, por lo tanto los resultados obtenidos no solo son aplicables a la inversión de matrices, sino que, son representativos para una gama amplia de operaciones de álgebra lineal densa. <![CDATA[Bioinformatics Performance Comparison of Many-core: Tile64 vs. Multi-core Intel Xeon]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002014000100005&lng=pt&nrm=iso&tlng=pt The performance of the many-core Tile64 versus the multi-core Xeon x86 architecture on bioinformatics has been compared. We have used the pairwise algorithm MC64-NW/SW that we have previously developed to align nucleic acid (DNA and RNA) and peptide (protein) sequences for the benchmarking, being an enhanced and parallel implementation of the Needleman-Wunsch and Smith-Waterman algorithms. We have ported the MC64-NW/SW (originally developed for the Tile64 processor), to the x86 architecture (Intel Xeon Quad Core and Intel i7 Quad Core processors) with excellent results. Hence, the evolution of the x86-based architectures towards coprocessors like the Xeon Phi should represent significant performance improvements for bioinformatics.<hr/>Se ha realizado una comparación de rendimiento, entre el multiprocesador de sesenta y cuatro núcleos Tile64 y la arquitectura multinúcleo x86 Xeon, aplicado a algoritmos bioinformáticos. Hemos utilizado para la evaluación comparativa, el algoritmo de alineamiento de pares de secuencias biológicas MC64-NW/SW, que hemos desarrollado previamente para alinear ácidos nucleicos (ADN y ARN), y proteínas como el péptido. Este algoritmo utilizado en la experiencia, es una implementación mejorada del algoritmo de Needleman-Wunsch que sirve para realizar alineamientos globales de dos secuencias, y el algoritmo de Smith-Waterman que se utiliza para realizar alineamiento local de un par de secuencias biológicas. Para realizar la comparación sobre arquitectura x86 (Intel Xeon Quad Core y los procesadores Quad Core Intel i7), hemos migrado el MC64-NW/SW, originalmente desarrollado para el procesador Tile64, con excelentes resultados. Por lo tanto, estimamos que la evolución de las arquitecturas basadas en x86 hacia coprocesadores como el Xeon Phi, deben representar mejoras significativas en el rendimiento de la bioinformática. <![CDATA[Encrypting video and image streams using OpenCL code on-demand]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002014000100006&lng=pt&nrm=iso&tlng=pt The amount of multimedia information transmitted through the web is very high and increasing. Generally, this kind of data is not correctly protected, since users do not appreciate the amount of information that images and videos may contain. In this work, we present architecture for managing safely multimedia transmission channels. The idea is to encrypt or encode images and videos in an efficient and dynamic way. At the same time, these media could be enhanced applying a real-time image process. The main novelty of the proposal is the application of on-demand parallel code written in OpenCL. The algorithms and data structure are known by the parties only at communication time, what we suppose increases the robustness against possible attacks. We conducted a complete description of the proposal and several performance tests with different known algorithms.<hr/>La cantidad de información multimedia que se transmite a través de la web es muy alta y continua incrementándose. Generalmente, este tipo de datos no se los protege correctamente, dado que los usuarios no aprecian la cantidad de información que las imágenes y videos pueden contener. En este trabajo, presentamos una arquitectura para manejar de manera segura, canales de transmisión multimedia. La idea es encriptar o codificar imágenes y videos de una forma eficiente y dinámica. Al mismo tiempo, estos datos pueden ser mejorados aplicando un procesamiento en tiempo real. Lo novedoso de esta propuesta es la utilización en tiempo real de código bajo-demanda en paralelo escrito en OpenCL. Los algoritmos y estructura de datos son conocidos por los participantes de la comunicación, solo cuando esta comienza, lo que supone incrementa la robustez frente a posibles ataques. En el trabajo desarrollamos una descripción completa de la propuesta y varias pruebas de rendimiento con diferentes algoritmos.