Main | Fastest Communication - 2 »
September 01, 1986
Fastest Communication - 1
A secret to successfully harnessing the power of 65,000 processors is that they are most efficient when programmed to operate synchronously. Because what will happen in the next instance depends on what is happening now, the governing laws for the motion of objects in our universe are synchronous. As a result, their symbolic codificiation --- partial differential equations --- will be also synchronous. And the numerical approximations of those partial differential equations must be synchronous. And the computer processes must be synchronous.
Intuitively, it made sense for me to program all 65,000 processors to execute synchronously.
If it does'nt work, I decided, I will then try programming them asynchronously.
I have other reasons for following the synchronous route. First, synchronous processes have a single thread of control and, therefore, will be easier for me to develop and debug. Also, the forthcoming Fortran 90 will have greater expressive power and the computation-intensive segments of my codes will be about three times shorter than those in Fortran 77 versions. This difference in size will get even larger as the number of dimensions is increased to cover the three spatial directions.
Furthermore, the Fortran 90 version is more intuitive since its architecture looks like that of the original problem. On a serial computer, the execution time of Fortran 77 and Fortran 90 codes are the same since the computation on both versions is still carried out sequentially. However, the Fortran 90 version is preferable since it is straightforward and concise. The development and debugging times will be greatly reduced since the Fortran 90 version is easier to understand, write, and maintain.
Second, data-parallel programs uses the memory more efficiently than the control-parallel programs and therefore could allow the programmer to solve largersize problems. The reason is that the data-parallel program stores the entire micromodel within the processing nodes while the control-parallel program only stores the needed computation-intensive segment within each processing node.
The control-parallel approach could be used when the model requires the use of several conditional statements or requires that different governing equations be used in different portions of the domain, as in the case of the laminar-turbulent porous media flow explained in my previous discussions.
Posted by emeagwali at September 1, 1986 10:37 AM