COMPARACIÓN ENTRE ALGORITMOS DE ORDENAMIENTO PARALELIZADOS EN JAVA (COMPARISON BETWEEN SORTING ALGORITHMS PARALLELIZED IN JAVA)
Resumen
Resumen
Se analiza el rendimiento en tiempo, de los algoritmos de ordenamiento Bubble Sort, Odd Even Sort, Rank Sort, Counting Sort, Radix Sort, Merge Sort, Bitonic Sort y Quick Sort; paralelizados y ejecutados en una instancia de la Máquina Virtual de Java (JVM).
En el caso de Odd Even Sort, la sincronización al esperar en la barrera cíclica reduce la ventaja de procesamiento adquirida al incrementar la cantidad de núcleos. En cambio, Bubble Sort y Rank Sort, mejoran su rendimiento global al incrementar los núcleos y requerir menor sincronización.
Por otra parte, Bitonic Sort, Merge Sort y Quick Sort, tienen un tiempo de ejecución muy bajo al utilizarse en un solo núcleo, puede notarse que se obtiene un beneficio de múltiples núcleos, sin embargo, al acercarse al tiempo necesario en la JVM para lanzar los hilos, el beneficio de escalar la cantidad de núcleos deja de producir un beneficio.
Palabras Clave: comparación, multi-núcleo, ordenamiento.
Abstract
This analyses the time performance of sorting algorithms Bubble Sort, Odd Even Sort, Rank Sort, Counting Sort, Radix Sort, Merge Sort, Bitonic Sort and Quick Sort; parallelized and executed in an instance of the Java Virtual Machine (JVM).
In the case of Odd Even Sort, the wait at the synchronization cyclic barrier reduce the processing advantage acquired by incrementing the quantity of cores. In contrast, Bubble Sort and rank Sort, increase their global performance with the increment of number of cores and requiring less synchronization.
On the other hand, Bitonic Sort Merge Sort and Quick Sort, have a very low execution time when used in a single core, it can be noticed that a benefit of multiple cores, however, when approaching the necessary time in the JVM to launch threads, the benefit of scaling the number of cores stops producing a benefit.
Keywords: comparison, multi-core, sorting.
Texto completo:
280-291 PDFReferencias
Venners, B. (1998). Inside the Java Virtual Machine. New York: McGraw-Hill.
Barney, B. (n.d.). Introduction to Parallel Computing. Retrieved December 1, 2018, from https://computing.llnl.gov/tutorials/parallel_comp/
Guerrero, E. A., Palafox, A., Serrano, J. P. & Alonzo, J. L. (2013). Comparative Analysis of Sorting Methods using OpenMP. In Supercomputing in México A Navigation Through Science and Technology (1st ed., pp. 129–139). Guadalajara: University of Guadalajara.
Astrachan, O. (2003). Bubble Sort: An Archaeological Algorithmic Analysis. SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education).
Lang, H. W. (2018). Bitonic sorting network for n not a power of 2. Retrieved December 1, 2018, from http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/bitonic/oddn.htm
Maus, A. (2003). ARL , a faster in-place , cache friendly sorting algorithm.
Maus, A. (2011). A full parallel radix sorting algorithm for multicore processors.
URL de la licencia: https://creativecommons.org/licenses/by/3.0/deed.es
Pistas Educativas está bajo la Licencia Creative Commons Atribución 3.0 No portada.
TECNOLÓGICO NACIONAL DE MÉXICO / INSTITUTO TECNOLÓGICO DE CELAYA
Antonio García Cubas Pte #600 esq. Av. Tecnológico, Celaya, Gto. México
Tel. 461 61 17575 Ext 5450 y 5146
pistaseducativas@itcelaya.edu.mx