COMPARACIÓN ENTRE ALGORITMOS DE ORDENAMIENTO PARALELIZADOS EN JAVA (COMPARISON BETWEEN SORTING ALGORITHMS PARALLELIZED IN JAVA)

Diego Gomez Garcia, José Luis Alonzo Velázquez

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 PDF

Referencias


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

Barra de separación

Licencia Creative Commons    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

http://pistaseducativas.celaya.tecnm.mx/index.php/pistas