Javascript must be enabled to continue!
Performance Optimization of Sorting Algorithm using Processor Affinity in Java
View through CrossRef
Background:
The processor affinity library in Java can switch ON all the processing cores available in a multi-processing environment. Using this feature will enable concurrent programmers to fully utilize the benefits of processing power available in multi-core processors. Therefore, this study aims to use processor affinity to develop four different frameworks that could optimize the efficiency of quick sorting algorithms on multi-core platforms.
Methods:
Benchmarking is the method used to carry out all the experiments and test the developed algorithm's efficiencies using all four frameworks. An Octa-core machine with eight (8) processing cores was used to develop and run the algorithms to measure their running times and compare their performances. JDK 12.0 is the version of Java used for development. An array data structure containing One Million Elements (1,000,000) was used as the preferred data structure.
Results:
The results obtained show that processor affinity can improve the performance of quick sorting algorithms by ensuring no processing core is idled during the computation of results. The results also show that processor affinity and Work-Stealing-Action perform similar functions by ensuring that available cores in a machine are fully utilized to handle tasks and improve performance. It was further found that the algorithm developed using the Executor Services framework outperformed all the three other frameworks implemented using Naïve, Fork-Join, and Sequential implementations.
Conclusion:
It was concluded that processor affinity improves the performances of all the four different implementations of quick sorts. It was also concluded that in the fork-join framework, Work-Stealing-Action performed by the worker-threads has an effect similar to that of affinity by ensuring that all the processing cores are fully utilized to improve performance. Further investigations can be carried out using machines with more processing cores in their CPU using a different data structure such as a Link List Array of the same or different data size to see whether the same or different conclusions can be drawn.
Otu Institute of Research and Training (OIRT)
Title: Performance Optimization of Sorting Algorithm using Processor Affinity in Java
Description:
Background:
The processor affinity library in Java can switch ON all the processing cores available in a multi-processing environment.
Using this feature will enable concurrent programmers to fully utilize the benefits of processing power available in multi-core processors.
Therefore, this study aims to use processor affinity to develop four different frameworks that could optimize the efficiency of quick sorting algorithms on multi-core platforms.
Methods:
Benchmarking is the method used to carry out all the experiments and test the developed algorithm's efficiencies using all four frameworks.
An Octa-core machine with eight (8) processing cores was used to develop and run the algorithms to measure their running times and compare their performances.
JDK 12.
0 is the version of Java used for development.
An array data structure containing One Million Elements (1,000,000) was used as the preferred data structure.
Results:
The results obtained show that processor affinity can improve the performance of quick sorting algorithms by ensuring no processing core is idled during the computation of results.
The results also show that processor affinity and Work-Stealing-Action perform similar functions by ensuring that available cores in a machine are fully utilized to handle tasks and improve performance.
It was further found that the algorithm developed using the Executor Services framework outperformed all the three other frameworks implemented using Naïve, Fork-Join, and Sequential implementations.
Conclusion:
It was concluded that processor affinity improves the performances of all the four different implementations of quick sorts.
It was also concluded that in the fork-join framework, Work-Stealing-Action performed by the worker-threads has an effect similar to that of affinity by ensuring that all the processing cores are fully utilized to improve performance.
Further investigations can be carried out using machines with more processing cores in their CPU using a different data structure such as a Link List Array of the same or different data size to see whether the same or different conclusions can be drawn.
Related Results
MARS-seq2.0: an experimental and analytical pipeline for indexed sorting combined with single-cell RNA sequencing v1
MARS-seq2.0: an experimental and analytical pipeline for indexed sorting combined with single-cell RNA sequencing v1
Human tissues comprise trillions of cells that populate a complex space of molecular phenotypes and functions and that vary in abundance by 4–9 orders of magnitude. Relying solely ...
Modeling Hybrid Metaheuristic Optimization Algorithm for Convergence Prediction
Modeling Hybrid Metaheuristic Optimization Algorithm for Convergence Prediction
The project aims at the design and development of six hybrid nature inspired algorithms based on Grey Wolf Optimization algorithm with Artificial Bee Colony Optimization algorithm ...
Modeling Hybrid Metaheuristic Optimization Algorithm for Convergence Prediction
Modeling Hybrid Metaheuristic Optimization Algorithm for Convergence Prediction
The project aims at the design and development of six hybrid nature inspired algorithms based on Grey Wolf Optimization algorithm with Artificial Bee Colony Optimization algorithm ...
An improved Coati Optimization Algorithm with multiple strategies for engineering design optimization problems
An improved Coati Optimization Algorithm with multiple strategies for engineering design optimization problems
AbstractAiming at the problems of insufficient ability of artificial COA in the late optimization search period, loss of population diversity, easy to fall into local extreme value...
A new type bionic global optimization: Construction and application of modified fruit fly optimization algorithm
A new type bionic global optimization: Construction and application of modified fruit fly optimization algorithm
Fruit fly optimization algorithm, which is put forward through research on the act of foraging and observing groups of fruit flies, has some merits such as simplified operation, st...
Neural Networks for Quality Sorting of Agricultural Produce
Neural Networks for Quality Sorting of Agricultural Produce
The objectives of this project were to develop procedures and models, based on neural networks, for quality sorting of agricultural produce. Two research teams, one in Purdue Unive...
Hybrid Optimization Algorithm for Multi-level Image Thresholding Using Salp Swarm Optimization Algorithm and Ant Colony Optimization
Hybrid Optimization Algorithm for Multi-level Image Thresholding Using Salp Swarm Optimization Algorithm and Ant Colony Optimization
The process of identifying optimal threshold for multi-level thresholding in image segmentation is a challenging process. An efficient optimization algorithm is required to find th...
Justification of the geometric dimensions of drum sorting machine
Justification of the geometric dimensions of drum sorting machine
Abstract
This article presents the results of research to determine the basic geometric dimensions of a drum sorting machine designed for potato sorting. A critical ...


