bts@unc.UUCP (Bruce Smith) (11/17/85)
I'm posting the following for someone in our department: There are those who claim that since unification is "inherently sequential" that "PROLOG would not be a good candidate for a parallel programming language." (Quote from D. Mizell's article in ZeroOne Supernet.) Similar statements have been made on various mailing lists and newsgroups. If arithmetic operations were inherently sequential, would anyone claim that any language using arithmetic would not be good for parallel programming? I don't recall anyone stating that a particular parallel machine was good because it added n-bit integers in time O(log n). Comments? _____________________________________________________ Bruce T. Smith Dept. of Computer Science USENET: decvax!mcnc!unc!bts New West Hall (035-A) Others: bts.unc@CSNET-RELAY Chapel Hill, NC 27514
debray@sbcs.UUCP (Saumya Debray) (11/21/85)
> I'm posting the following for someone in our department: > > There are those who claim that since unification is > "inherently sequential" that "PROLOG would not be a > good candidate for a parallel programming language." > (Quote from D. Mizell's article in ZeroOne Supernet.) > Similar statements have been made on various mailing > lists and newsgroups. > > Comments? There's more to parallel problem solving than unification. This is probably a rehash of familiar material to most people reading this newsgroup, but: the basic kinds of parallelism one might expect to see in a problem solving (logic programming, if you will) environment arise from the parallel traversal of alternative paths in a search space (OR parallelism), and the parallel solving of a number of subproblems (AND parallelism). These can be subdivided further to what various authors have called "lookup parallelism", "stream parallelism", "pipeline parallelism", etc. Notice that the granularity of parallelism here is considerably higher than the level of unification. Therefore, these sources of parallelism can be exploited independently of the properties of underlying unification algorithms. I agree, though, that *PROLOG* (the name of a particular programming language, which assumes a certain textual ordering over clauses and literals in its resolution strategy, and contains hairy features like the cut) might not be particularly suitable as a parallel programming language. (I know I'm being nitpicky, but I find the tendency to blur the distinction between a particular programming language and a class of languages confusing and irksome.) -- Saumya Debray SUNY at Stony Brook uucp: {allegra, hocsd, philabs, ogcvax} !sbcs!debray arpa: debray%suny-sb.csnet@csnet-relay.arpa CSNet: debray@sbcs.csnet