ROD%SU-AI@sri-unix.UUCP (01/20/84)
From: Rod Brooks <ROD@SU-AI> [Adapted from the SU-SCORE bboard and the Prolog Digest.] Ehud Shapiro, The Weizmann Institute of Science The Bagel: A Systolic Concurrent Prolog Machine 4:30pm, Terman Auditorium, Tues, Jan 24th, Stanford CSD Colloq. 1:30pm, Evans 597, Wed., Jan 2th, Berkeley Prolog Seminar 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 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.