ian@loral.UUCP (Ian Kaplan) (03/28/85)
In article donz@tekcbi.UUCP (Don Zocchi) writes: > > I feel that the best solutions [ to parallel programming ] have > hidden the parallel nature of the machine. By hiding the parallel > nature, I mean removing the need for parallel constructs, yet providing > multi-processor performance advantages. > I think that there would be wide spread agreement that the ideal parallel programming environment would allow the programmer to take old dusty FORTRAN programs and run them on a parallel processor (I have not used C as an example simply because the lust for speed, and the ability to pay for it, is not a common among C user's as it is with FORTRAN user's). Unfortunately there has been only limited success in getting FORTRAN to run on parallel architectures without change. Even in these cases, only "well behaved" FORTRAN programs are used (see papers by Kuck). Once an algorithm is expressed, regardless of the language used, the language processors can only extract parallelism from that algorithmic expression. When programming a parallel processor, algorithms must also be expressed in parallel form. Performance can be greatly influenced by the expression of an algorithm. If an algorithm is expressed in a sequential manner, there will be only a limited amount of parallelism which can be achieved. If the same program were written with parallel flow much more parallelism could be achieved. I do not believe that there is any escape from parallel constructs in the programming system. Although different parallel architectures use different language constructs, all existing systems have them. Even on the Cray, where only vectorization is sought, special syntax is provided direct the compiler. Running a single application on a multiprocessor Cray seems to still be an open issue. Ian Kaplan Loral Instrumentation (619) 560-5888 x4812 USENET: {ucbvax,decvax,ihnp4}!sdcsvax!sdcc6!loral!ian ARPA: sdcc6!loral!ian@UCSD USPS: 8401 Aero Dr. San Diego, CA 92123