Referred to the state of the art, specifically Von Neumann report in 1993 \cite{ref50}, most of the software applications are structured as sequential programs.
The structure of the program code is understandable by the human brain as a series of instructions that
are executed successively one after the other. For many years until a short time,
-with each new generation of microprocessors, users of sequential applications have believed that these applications must run faster than previous ones.
+with each new generation of microprocessors, users of sequential applications have believed that these applications must run faster over them than previous ones.
Nowadays, this idea is no longer valid since recent releases of microprocessors have many computing units that are embedded in one chip and programs are running only over one computing unit sequentially.
Indeed, new applications have significantly improved their performance over new architectures in parallel compared to traditional applications.
In this context, the aim of improving the performance of parallel applications is executed simultaneously over all available computing units.