Skip to Main Content
In this paper, we designed and implemented a high-level abstract parallel programming platform that relieves the programmer from all the hassle involved in parallel programming. That is, what is requested from the programmer is only to specify the program is a suitable form that hides many of the hardware features. All the parallel processes control, that were very challenging, are hence assumed by the platform itself. To date, only three parallel programming approaches were suggested in the literature: Implicit, explicit and systematic parallel programming. Among the paradigms that are part of the third approach, we preferred to use the GAMMA formalism as a backbone for our implementation mainly for two reasons: First, it uses an unstructured data set, which has the benefit of reducing the data dependency to its lowest possible level and second, the program correctness can be easily demonstrated. A GAMMA program is generally defined as a pair of <condition, action>, where the elements that fulfill the condition are substituted with the product of the action. The program is naturally and systematically executed in parallel. However, to date, no attempt was made to provide a physical implementation of the GAMMA formalism. As an application for our implemented platform, we suggested to parallelize some classical GIS image decomposition problems. The obtained results showed that, in addition to the ease and abstract way of parallel programming, an almost linear speedup is achieved.