Home page of Parallel Processing

Ελληνική έκδοση (Greek version)

Genaral Aspects of Paralle Machines

    For the proper operation of the algorithms executed in the parallel machines, the data transmission (SEND) and reception (RECEIVE) commands must be executed in specific times so that the data are correctly interchanged. A general rule to ensure this synchronization is to split each program in a sequence of "data exchange" and "internal calculations" steps. The data exchange step is executed at the same time in all MCUs. The program coding must ensure that the internal calculation take the same pre-calculated time that is common to all the MCUs. This way one can ensure the proper synchronization os the processing elements (MCUs) for the total duration of program execution. In case of loop, it must have one of the following types:

for i=1 to N

   SEND

   RECEIVE

   calculate

next i

 

for i=1 to N

   calculate

   SEND

   RECEIVE

next i

 

for i=1 to N

   calculate

   SEND

   RECEIVE

   calculate

next i

    In the case of  "ArrayOfMCU" the commands SEND/RECEIVE are simple and are executed in sequence.

    In the case of  "parallelPIC" however, there is the need for an appropriate amount of time for the serial data transmission. In the simplest method this means that immediately after the execution of the SEND command there must be a delay (that can be pre-calculated accurately), and then must follow the RECEIVE command. This implies that there is enough time were the processing elements are doing nothing. This "dead" time can be eliminated in many cases if during this time the processing elements perform calculation that do not depend on the data that are to be received and/or do not affect the data that are to be transmitted. So, the loop case becomes:

for i=1 to N

   calculate

   SEND

   (calculate)

   RECEIVE

   calculate

next i

Home page of Parallel Processing