next up previous contents
Next: Parallel Logic Programming Up: Paradigms for Parallel Processing Previous: Implicit Parallelism:

Ideal System:

The ideal situation would be an approach to parallelization which allows to get the advantages of both the two approaches above. Implicit and explicit parallelism are nothing else than the two extremes of a continuous line, as depicted in figure 1.

Figure 1: Schemes for Parallelism

An ideal system should allow for implicit exploitation of parallelism, but without preventing the user from eventually directing this activity--e.g., by indicating parts that have potential for parallelism or parts that are inherently sequential. The requirement of having potential implicit exploitation of parallelism restricts the choice of programming paradigms mainly to the declarative ones. On the other hand, the requirement of allowing facultative user intervention on parallelism detection does not seem to fit naturally within the semantics of certain classes of declarative languages.

Only few declarative paradigms [111] seem to naturally offer the capabilities and the flexibility indicated--''Pure'' Object Oriented Programming [98], some forms of Functional Programming [66], and Logic Programming [40]. Of these, Logic Programming seems to be the most suitable programming paradigm to achieve the ideal parallel behaviour.

Tue Mar 19 14:37:09 MST 1996