SISAL Workshop Announcement - corrrected syllabus (Tom DeBoni)
Wed, 4 Mar 1992 21:10:39 GMT

          From comp.compilers

Related articles
SISAL Workshop Announcement - corrrected syllabus (1992-03-04)
| List of all articles for this month |

Newsgroups: comp.compilers
From: (Tom DeBoni)
Followup-To: poster
Summary: Parallel applicative programming language conference
Keywords: parallel, functional, conference
Organization: Lawrence Livermore National Laboratory
Date: Wed, 4 Mar 1992 21:10:39 GMT

                                                    A SISAL Workshop

(Corrected Announcement)

                                            University of Puerto Rico
                                            Rio Piedras, Puerto Rico
                                                        April 14-16

                                                      Presented by

                                              EPSCoR in Puerto Rico,
                            Cornell Mathematical Science Institute (MSI),
                            Lawrence Livermore National Laboratory

                            with support from the Army Research Office

SISAL (Streams and Iterations in a Single-Assignment Language) is
a general-purpose functional language. Functional languages support
implicitly the development of determinate, machine-independent parallel
software. SISAL has a PASCAL-like syntax similar to structured imperative
languages. This facilitates fast learning and ease of use by non-computer
specialists. SISAL implementations exist for: the CRAY X-MP and Y-MP,
Sequent Symmetry, Alliant FX/80, and Sun and Vax systems. Recent studies
have shown that SISAL programs can run at least as fast as equivalent
FORTRAN programs parallelized using automatic methods.

This workshop will cover the fundamentals of functional programming and
the SISAL language. It is intended for graduate students and practitioners
in any scientific field; in particular, we encourage scientists developing
large applications requiring the parallel resources of the largest computer
systems to attend. Students can expect to complete a substantial portion of
an application of their choice in SISAL by the end of the workshop.

The workshop is free; however, participants are responsible for their
own travel and accommodations. A limited number of rooms will be
available at the student center at the Rio Piedras campus of the
University of Puerto at the rates of $15 (single) and $20 (double) per
night. For reservations or information concerning accommodations, please
contact Madeline Ramos whose address is given at the end of this announcement.

For more information contact:

Jaime Seguel or Dorothy Bollman John Feo or David Cann
Department of Mathematics LLNL, L-306
University of Puerto Rico P.O. Box 808
Mayaguez, PR 00681-5000 Livermore CA 94550
(809) 265-3848 (415) 422-6389 (423-7875)
FAX: (809) 265-1225 FAX: (415) 423-2993

Oscar Moreno
Department of Mathematics and Computer Science
University of Puerto Rico
Rio Piedras, PR 00931
(809) 765-3263
FAX: (809) 751-0625


        - Introduction to functional programming
        - An in-depth presentation of SISAL
        - Development of applications of interest to the participants
        - Benchmarking of SISAL applications on commercial multiprocessors

The workshop is divided into two parts: 1) Introduction to functional
programming and SISAL (Days 1 and 2), and Advanced topics in programming
and development of large scientific applications in SISAL (Days 3
and 4). People interested in learning about SISAL but not interested in
writing SISAL applications at this time can attend only the first part
of the workshop.


The Von Neumann model of execution has greatly influenced the
development of programming languages; so much so, that programs
written in conventional, imperative languages are high-level encodings
of instruction sequences. These programs express "how to" solve the
problem, rather than "what to" solve. Not surprisingly, imperative
languages have proven inappropriate for parallel computing. The encoded
order of computation is usually inappropriate for the target machine
and difficult to parallelize. Further, since programmers must express
how to solve the problem, they are responsible for managing concurrent
accesses to shared data, interprocess communication, and process
scheduling. These additional responsibilities frustrate programmers
and thwart effective machine use.

One important alternative is functional programming. In addition
to stressing sound software engineering practices, functional languages
implicitly support the development of determinate, machine independent
parallel software. As a result of recent advances, functional
programs can now execute as fast as imperative programs on supercomputers
in both scalar and vector mode. Performance is no longer an issue. The
functional paradigm is based on the principles of mathematics. The order
of execution depends on the availability of data only. The textual
position of a statement is irrelevant. The programmer describes "what to"
solve and leaves implementation details to the compiler, operating system,
and hardware. In particular, the programmer is not responsible for
managing shared data, interprocess communication, or process scheduling.
Mathematicians write mathematics, chemists write chemistry, and physicists
write physics.

The objective of this workshop is to teach the current state of the
art in scientific functional programming. The workshop will be divided
into morning lectures and afternoon laboratory sessions. The lectures
will teach the fundamentals of functional programming and what it means
to think functional (as opposed to imperative). We will teach SISAL, a
general-purpose functional language. We will explain the copy and memory
management problems inherent to functional programming and how we have
solved them for SISAL. We will show by extensive examples, that SISAL is
a natural medium for expressing scientific computations, and that SISAL
programs are simpler, cleaner, and easier to maintain than imperative

In the laboratory sessions, students will design, write and debug
SISAL programs. Students will have access to parallel systems on which
to execute their SISAL programs. While we will have a series of exercises
for the students to complete, each student should come with their own
application to work on. Students can expect to complete a substantial
portion of their application in SISAL by the end of the workshop.

Tentative Workshop Outline:

Day 1
A. Morning Lecture

      1. Why functional languages

      2. Basic types

      3. Let expressions

      4. If expressions

      5. Functions

B. Afternoon Laboratory

      1. Introduction to SISAL Software

      2. Programming exercises

Day 2
A. Morning Lecture

      1. Arrays and Records

      2. For initial expressions

      3. For expressions

B. Afternoon Laboratory

      1. Programming exercises

      2. Students can begin working on their codes

Day 3
A. Morning Lecture

      1. Foreign language interface

      2. Advance program examples

      3. Performance and implementation issues

B. Afternoon Laboratory

      1. Students continue to work on their codes

Registration Form :

Please register me for the SISAL Workshop.

Name: _______________________________________

Affiliation: _______________________________________

Address: _______________________________________



Phone: _______________________________________

email: _______________________________________

Return to, no later than April 3:
                      Madeline Ramos
                      Department of Mathematics
                      University of Puerto Rico
                      Mayaguez, Puerto Rico 00681-5000
                      (809) 265-3848



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.