The results obtained are not really representative of the possibilities of parallelisation since Jadim was not conceived with the aim of being parallelised. A test on a simple code (developped by A. Stoukov) developped to be parallelised, solving the heat equation shows how important  it is to be optimised for a code  in the super-scalar case before trying to parallelise it. One "if" was inserted in this code to check that the temperature wasn't over 1000 degrees. Its very impressive influence is illustrated in the following examples :

Without any parallelisation and without the "if", the time of execution corresponds to one tenth of a second. This time is not really representative because the system has not really the time to calculate it.
Without parallelisation but with the "if", the time of calculation amounts to 54 seconds. The enormous ratio (about 540) shows how important it is to avoid conditions of operating while programming.
With the "if" and the parallelisation, the time of calculation decreases with the number a processors :

    The increase of the speed of calculation in function of the number of processors used is very impressive even with few processors. The improvements are no more significative with more than 3 processors. The speed which is won by the use of more processors is lost by the quantity of message passing from one processor to another.

To conclude, it should be underlined that it is really important to consider the possible parallelisation of the code while developping it. An optimised code for super-scalar computation could have been more easily parallelised than Jadim. Here the benefits were important (a 20% of time of calculation benefit) but not as impressive as it could be. The benefit of time of calculation is nowadays really important, that's why a well-optimised code can have more success, allowing to use bigger models for a given computation time.

Back to index 
Back to report index