jeudi 9 avril 2015

Benchmarking of parallel execution tasks

New Raspberry Pi has a multicore architecture processors so it's permits a multitask execution of programs. To testing this feature we execute some instances of benchmarks in parallel and we compare to the same type of tests in a computer used an x86 architecture, in our example we used an Intel Core i7-3930K.
So we tested a different number of program for parallel execution, we began a tests by execution a some instances of Nbench or Dhrystone and we augmented a number of instance to determinate how the performances decrease. For tests we used this number of parallel tasks : 1 - 2 - 4 - 6 - 8 and because our x86 processor has a 6 cores architecture for its test we added 10 - 12 parallel execution tasks.
From this test we obtained this results :
 - For Dhrystone (result of execution of each task) :





- For Integer Part of Nbench (result of last executed task) :




After this results we observe the differences of parallel computing performance between Raspberry Pi 2 and Intel Core i7-3930K. So here we obtain a factors from 13 to 20 in Dhrystone benchmarks and from 4 to 3 for Nbench benchmarks.
These results show that the execution of some tasks in parallel decrease the results of each task in function of number of cores in the system and number of task ran. In the Core i7 we observe the decrements of performance after execution of 6 parallel tasks in the same time but some core continue to obtain a maximal result even after 6 tasks. But in the Raspberry Pi 2 the decrements begin after 2 tasks executed so the multitask realization in ARM architecture is less performance that the same in x86.
For better analyse of multitask execution we have to launch a proper program that could parallel the instructions in the program level and separation by system to obtain the results closer to real performance of parallel architecture for this processors.

Aucun commentaire:

Enregistrer un commentaire