McGeer%UCBDali%Berkeley@sri-unix.UUCP (01/21/84)
From: McGeer%UCBDali@Berkeley (Rick McGeer) The Bagel: A Systolic Concurrent Prolog Machine. Prolog Seminar Wednesday, Jan 25 13:30 Evans 597 Ehud Shapiro The Weizmann Institute of Science Rehovot 76100, ISRAEL Draft, November, 1983. Abstract It is argued that explicit mapping of processes to processors is essential to effectively program a general-purpose parallel computer, and, as a consequence, that the kernel language of such a computer should include a process-to-processor mapping notation. The Bagel is a parallel architecture that combines the concepts of dataflow, graph-reduction, and systolic arrays. The Bagel's kernel language is Concurrent Prolog, augmented with Turtle programs as a mapping notation. Concurrent Prolog, combined with Turtle programs, can easily implement systolic systems on the Bagel. Several systolic process structures are explored via programming examples, including linear pipes (sieve of erasthotenes, merge sort, natural-language interface to a database), rectangular arrays (rectangular matrix multiplication, band-matrix multiplication, dynamic programming, array relaxation), static and dynamic H-trees (divide-and-conquer, distributed database), and chaotic structures (a herd of Turtles). All programs shown have been debugged using the Turtle graphics Bagel simulator, which is implemented in Prolog.