The development of multicore hardware has provided many new development opportunities for many application software algorithms. Especially, the algorithm with large calculation volume has gained a lot of room for improvement. Through the research and analysis, this paper has presented a parallel PO-Dijkstra algorithm for multicore platform which has split and parallelized the classical Dijkstra algorithm by the multi-threaded programming tool OpenMP. Experiments have shown that the speed of PO-Dijkstra algorithm has been significantly improved. According to the number of nodes, the completion time can be increased by 20–40%. Based on the improved heterogeneous dual-core simulator, the Dijkstra algorithm in Mi Bench is divided into tasks. For the G.72 encoding process, the number of running cycles using “by function” is 34% less than using “divided by data,” while the power consumption is only 83% of the latter in the same situation. Using “divide by data” will reduce the cost and management difficulty of real-time temperature. Using “divide by function” is a good choice for streaming media data. For the Dijkstra algorithm, the data is data without correlation, so using a simpler partitioning method according to the data partitioning can achieve good results. Through the simulation results and the analysis of the results of real-time power consumption, we conclude that for data such as strong data correlation of streaming media types, using “divide by function” will have better performance results; for data types where data correlation is not very strong, the effect of using “divide by data” is even better.
展开▼