[comp.arch] Educational Features of TRANSPUTING '91

R.Peel@ee.surrey.ac.uk (Roger Peel) (03/27/91)

*  Are you considering using transputers in industrial or research applications?

*  Are you charged with teaching a parallel programming or parallel 
   architectures course or setting up a student parallel hardware laboratory?

*  Have you missed out on the current transputer architecture and programming 
   paradigms but need a rapid introduction before you can exploit the vastly
   greater power and connectivity of the new H1 transputer?

*  After an initial assessment of the architecture, do you want to learn how 
   to harness the full benefits of parallelism?

The TRANSPUTING '91 conference, to be held soon in California, will be
an extremely efficient learning experience, offering answers to these questions
as well as your own.

This meeting - by far the largest transputer conference yet run in the U.S.A. -
will be hosting a full technical disclosure of the new 150 MIPs, 20 MFLOPs H1 
transputer, introductory and advanced tutorials, invited papers from influential
transputer experts and 67 contributed papers covering industrial applications, 
research directions in many subjects, hardware and software topics, to name a 
few.  Some 20 exhibitors will be demonstrating most of the hardware and software
products available to industrial and educational establishments, and there will 
be non-commercial demonstrations and a large selection of posters.


TRANSPUTING '91 - conference from 23rd to 25th April, 1991 
                - tutorials on 22nd and 26th April, 1991 
                - at the Sunnyvale Hilton, California


The TRANSPUTING '91 Tutorials
=============================

The tutorials outlined below are being provided by experienced members of
the transputer community as an inexpensive educational service for
delegates to TRANSPUTING '91.  All will attempt to provide a practical
guide to the topics presented, so that attendees may rapidly apply the
knowledge gained.   More details, together with registration information,
may be obtained from the addresses at the bottom of this message.


Communicating Process Architectures and Transputer Overview
-----------------------------------------------------------

This tutorial will serve as an introduction to parallel processing using
communicating processes.

Distributed memory multiprocessing is becoming acknowledged as the most
promising parallel processing technique for a large range of applications,
due to its scalability - as extra processors are added to a configuration,
they bring their own memory which may be accessed independently of the
rest.  The INMOS transputer comprises a high-performance RISC-like
processor, on-chip memory, specialised communication engines and an
instruction architecture designed to support inter-transputer
communication.

This tutorial is designed to prepare delegates new to transputers to
understand the rest of the material to be presented throughout the
conference.  Its software element will concentrate on the principles of
communication, synchronisation, load balancing and deadlock.  The hardware
element will highlight the important features of the transputer
architecture and show how easily current transputer products may be
incorporated into a range of hardware designs.




Designing Parallel - Going Sequential
-------------------------------------

This tutorial will illustrate a selection of program specification, design
and implementation techniques suitable for use with the transputer.  
More advanced than the 'Communicating Process Architectures Overview',
it will provide examples of parallel programming structures and design
techniques.  It could be a useful basis for your own transputer teaching.

Particular topics covered will be :

*  Methods for terminating groups of parallel processes of arbitrary complexity.

*  Various configurations of buffering, double buffering, pipelines, 
   multiplexers and demultiplexers will be shown to maximise throughput of 
   data with varying degrees of complication.  

*  The advantages of parallelism and communication to replace the use of 
   interrupts, signals and polling will be demonstrated.

*  How to write, simulate and test parallel processes independently of each 
   other, prior to final integration.

Having illustrated the benefits and simplicity of designing software as
collections of parallel processes, the tutorial will conclude by
highlighting recent work on serialising parallel processes.  The authors
will demonstrate how the design of sequential code can be simplified by
first incorporating parallelism.




Formal Methods for Transputing
------------------------------

Intended audience: Engineers with prior exposure to transputers and occam.

Objectives: To give an overview of the benefits of formal methods and a
	    limited repertory appropriate for use in parallel programming.

Introduction : What are formal methods, and how can they help?
               Why formal methods are particularly necessary for 
	       concurrent programming.
               Why occam is particularly well suited to formal analysis:
	            clean semantics and theoretical underpinning.

The Laws of occam Programming.
Transformation of occam programs.

Simple ways of avoiding deadlock.

Case studies:
	a small worked example;
	how the T800 FPU verification worked.

Pointers to further sources of information and tuition.





Logic Programming on Transputers
--------------------------------

Recently, significant efforts have been made to implement logic
programming languages on distributed memory systems and particularly on
multi-transputers. This tutorial is intended to present the main
directions in the progress of logic programming languages towards their
efficient implementation on distributed memory systems.  It surveys the
major problems of implementing logic programs on multi-transputer systems
and summarizes the solutions provided by the existing commercial systems
and undergoing research projects.

Attendees are expected to be familiar with sequential Prolog. 



Mixed Language Programming on the Transputer
--------------------------------------------

The aim of this tutorial is to show how languages such as C, FORTRAN and
Pascal can be used effectively in transputer-based systems.  This reflects
the fact that there are a large number of existing programs which could be
utilised in such systems.

The tutorial will emphasise not only the role of these traditional
sequential languages but also the role of occam to implement the parallel
parts of a system design.  By means of examples it will be shown how
functions, subroutines and procedures written in these other languages can
be easily incorporated into an occam harness, thereby ensuring that the
parallel aspects of the system are implemented using the most appropriate
language and the sequential parts also use the most suitable language or
existing code.

Mechanisms will also be discussed that preserve the syntax and semantic
checking provided by occam channel protocols when these channels are
connected to processes not written in occam.  This is of vital importance
if the security of occam channel communication is to be retained within
the parallel part of a mixed system.

The concept of generally available harnesses for running an existing
sequential program will also be discussed.  Such harnesses enable the
performance of a single transputer implementation of an existing system to
be quickly evaluated.  For suitable applications, these harnesses also
provide a means of parallelising the system with very little effort.  
The characteristics of suitable applications will be discussed.




Parallelising Existing Code
---------------------------

"Will it run our existing applications faster?" - for many users, this is
the crucial question in deciding whether to include transputers among
their computing resources.  If the answer is important to you, then you
should attend this tutorial. Whether you are completely new to transputers
(perhaps even to parallel computing), or knowledgeable, experienced and
confident about developing new parallel applications, you do not need to
be told what magic the transputer can perform in general, but whether, and
how, that magic can be worked on your existing code.

That will be the emphasis of these presentations by experts in
parallelisation, designed to set out the possibilities and approaches that
are tried and tested in practice, so that you can decide how they can be
applied to your own software.  The session will cover:

 - Introduction and overview
 - Effective paradigms
 - Hazards, problems and performance issues
 - Support tools, and automating the parallelisation process
 - Pre-packaged schemes
 - A representative software environment

The tutorial is aimed at software managers, software engineers and
programmers.  It will concentrate on parallelising software written in
Fortran and C.  It assumes no special background knowledge.




Transputer Programming Environments
-----------------------------------

This tutorial will be devoted to the latest program development
environments for parallel systems.

Those using transputers and other parallel processors realize that
developing programs to run on such systems is often a tedious and
time-consuming chore.  The task of explicitly managing the routing of
messages is particularly difficult. The problem is greatly magnified when
the user must adapt to changing topologies or to completely different
machines.  Debugging a program running on multiple processors can be a
nightmare.  Commercial solutions to these problems, however, have begun to
appear.

Representatives of several firms have been invited to present technical
discussions of their products at this full-day session.  These talks will
cover the latest offerings in program development tools for transputers
and similar systems.  Emphasis will be placed on topology-independent and
machine-independent programming, dynamic debugging of multi-node programs,
and real-time environments.  Several of the packages under discussion run
on parallel processors other than transputers, and on workstations.

      Firms and products will include:

      Cornell/Ohio State University:              Trollius
      Transtech:                                  Genesys
      Meiko:                                      CS Tools
      Strand:                                     Strand
      Parasoft:                                   Express
      MIMD Systems:                               Helios
      JMI Software Consultants:                   Real Time Systems
      Intelligent Systems Intl:                   TRANS-RTXc
      Computer System Architects:		  Modula II and C tools

This tutorial will provide an excellent opportunity for old and new users
to become acquainted with the latest tools for developing parallel
programs.





Embedded Real-Time Control Systems
----------------------------------

This tutorial / workshop will concentrate on the practical aspects of
developing transputer-based real-time systems.  Most of the examples will
be drawn from two demonstrations and experiments.

Representatives of Yale University will describe their experiments in
Robot Juggling - a demanding transputer-based real-time motion control
application.  This system senses ball position via a stereo vision system,
and uses 3-D triangulation to produce an x-y-z position for the ball at
60Hz.  The x-y-z position of the ball is then passed into a linear
observer, which estimates current ball position and velocity at a rate
much higher than the output of the vision system.  The resulting position
and velocity estimates are then processed at a rate of 1KHz by the
juggling algorithm to produce commands (robot position and velocity) to
the robot controller.  Any of a family of robot control algorithms is then
used to produce torque commands for the robot.

The tutorial will work through the design, showing how transputers are
utilised in each section.

The aim of the second part of this workshop is to demonstrate by means of a
hands-on experiment, how parallelism provides both a unified design method
for a real-time control problem and a way of increasing system performance
as well.

The goal is to let the attendees design and implement a program that
controls a stepper motor using parallel design methods.  The stepper motor
consists of eight coils and a rotating magnet.  Each coil can be actuated
separately.  Also, multiple coils can be actuated in order to obtain
intermediate positions of the rotor.  Buttons may be programmed to control
the motor movements, e.g. single step forward and backward, or
acceleration and deceleration of a continuous motion.  Several design and
implementation methods will be given, to demonstrate that parallel
programming is simplicity itself, and can even be great fun!  The theme of
this session will be "Thinking in Parallel"




Operating Systems and Real-time Kernels 
---------------------------------------

Julian Wilson, INMOS Strategic Applications Manager, will organise this
session on operating systems and real-time kernels.  

The tutorial will cover :

*  Transputer hardware support for real-time kernels
*  Enhancements to the H1 family for kernels
*  Industry-standard real-time kernels for the transputer - VRTX and C-Executive
*  Transputer UNIX operating system strategy - HELIOS and CHORUS 




Designing Parallel - a hands-on design workshop
-----------------------------------------------

This workshop will concentrate on the design issues of embedded systems,
and is particularly relevant to those teaching parallel programming.

A hands-on session will give delegates the opportunity, under expert
guidance, to design and implement a small parallel simulation program.

The majority of the workshop will hinge around the design of a control
processor for a photocopier.  Several different approaches to the design
of the controller will be presented, incorporating varying degrees of
parallelism.  The effects of this parallelism on the device drivers, the
central control logic and the error recovery mechanisms will be examined,
and the lessons learned may explain some of the more irritating features
of current commercial products!  The contrast between top-down and
bottom-up design techniques in parallel programming will also become
apparent.  The designs will eventually be run on a T222 transputer
training board, equipped with a range of peripheral interfaces capable of
emulating the buttons and displays of a photocopier.

This workshop will be especially valuable to educators, either in industry
or from academic institutions.  It will include a session on how to
incorporate parallelism into Computer Science and Electronic Engineering
syllabuses, and the particular issues which students find difficult.
Computer Systems Architects (CSA) will present their low-cost transputer
Education Kit, and discuss the design of the tutorial material included
with it.  In addition, the conference delegates have been invited to bring
small posters describing individual student projects, and these will be
used to illustrate the wide range of educational activities which can be
centred around transputer products.




Image Processing - a hands-on workshop
--------------------------------------

This tutorial aims to cover the basic concepts of image processing and
then to relate these to implementations on transputers.

The tutorial will be of interest to those people who are considering the
potential of Image Processing and wish to understand how a transputer
implementation is different from a non-parallel implementation.

The morning tutorial lectures will be accompanied by a workbook containing
the viewfoils used throughout the session.  The topics to be covered are:

  *  Introduction to Image Processing
  *  Image display using transputers
  *  Image Processing using transputers

The afternoon hands-on session is designed to give some experience of
the topics covered earlier in the day.  Depending on the number of
attendees, the afternoon session may be organised as a series of
demonstrations instead.  To obtain maximum benefit, attendees should
be familiar with occam and / or C.



Scientific Computing
--------------------

This tutorial presents a range of different parallel processing techniques
and application areas in many fields of science, including both basic
research and industrial applications.  It demonstrates how the transputer
can provide cost-effective solutions to previously intractable problems,
and how it opens up new possibilities for research and exploitation.

Topics to be covered during the day include

  - Neural networks 
  - A large molecular dynamics simulation using a systolic ring of transputers
  - Scientific applications in the oil industry 
  - Computational fluid dynamics
  - Finite element methods
  - Cellular automata

and more besides.

The day will be divided into sessions of approximately one hour, each of
which will :

    Survey the field of scientific applications in some specific area or 
              using some particular approach
                         or
    Present significant results achieved using transputers
                         or
    Describe some interesting approach which may give you new ideas
        for research and applications




Office Automation Applications
------------------------------

Stephen Maudsley, INMOS Strategic Applications Manager, will be organising
this session.  It will involve presentations, workshops and demonstrations
of office automation products using transputers, including the upgrade
path to exploit H1 technology.  The products will include :

*  Laser printers - low-end raster image processors (RIPs) to high-end 
      Postscript interpreters.

*  Disk arrays - exploiting the transputer and INMOS link technology for 
      multiple disk systems

*  X-terminals - porting the X-server onto transputers




Communications Applications
---------------------------

Neil Richards, INMOS Telecoms Segment Manager, will discuss the use of 
transputers in general purpose telecommunication systems, ranging from
LANs to public switching systems.  The tutorial will include
presentations, workshops and demonstrations on the following topics :

*  INMOS link technology for communications systems

*  Using the transputer and INMOS link technology in LAN interfacing -
      Ethernet, FDDI, token ring

*  Using the transputer in next generation PABX and central office
      switching systems - ISDN, ATM / STM


  

Artificial Intelligence
-----------------------

The morning session of the workshop will provide an introduction and
overview of parallel genetic algorithms, and it will discuss fine-grained
parallel genetic algorithms.  The session will be divided into three
roughly equal parts:

1. Introduction and overview of (sequential) genetic algorithms

-    introduction (biology or computer science?)
-    mechanical details of the algorithm
-    why genetic algorithms work
-    example applications

2. Theory of parallel genetic algorithms

-    implicit parallelism
-    explicit parallelism of population subdivision
-    interactions among subpopulations
-    explicit fine-grained parallelism

3. Fine-grained parallel genetic algorithms

-    one processor per individual model
-    replication strategies (conventional, location-based, resource-based,
     pattern-based)
-    implementation issues
-    research questions
-    example applications


The afternoon session of the workshop will focus primarily on the practical
aspects of implementing genetic algorithms on transputer networks.  Many of
the issues raised, such as scalability, load balancing, efficiency and
deadlock freedom, have more general application in parallel processing.

The session will be divided into four parts of approximately equal length.

-    General issues in scalable efficient implementations of fine-grained
     parallel genetic algorithms on coarse grained transputer networks.

-    Three parallel genetic algorithms, farming, migration and diffusion,
     and their implementation on transputer networks.

-    Applications and studies of parallel genetic algorithms.  Evaluation
     and comparison of the different models and implementations.
      
-    Demonstration of implementations and visualisation software.
     Question time.

The workshop will draw on work done in Europe using transputers and
parallel genetic algorithms and in particular the ongoing research at
Buckingham University in the UK and GMD in Germany.  Two major applications
of parallel genetic algorithms will be described, the solution of TSP
problems and the search for application specific structured neural
networks.

Attention will also be drawn to the practicality and cost effectiveness of
transputer networks used in conjunction with the occam programming
language.




The Helios Operating System - a hands-on workshop
-------------------------------------------------

Helios is a distributed operating system designed to run on MIMD
computers.  Its Open System architecture provides complete parallel
programming support for both personal and super computers.

Since 1986, Helios has been chosen by most leading transputer
manufacturers as their preferred operating system.  The key to this
success is its Unix environment and adherence to international standards
such as POSIX and X-Windows.  Its programming support is comprehensive.
It includes a wide range of development tools, languages and networking
support.

The Helios tutorial provides a comprehensive overview of the product.  The
morning session will cover the basic concepts of Helios and its tools, as
well as a practical workshop.  During the afternoon, application case
studies will be described, followed by a discussion focussing on the
future direction of Helios.




Further Details
===============

For additional program / tutorial information, call Executive Meeting
Management in the U.S.A. at 1-800-828-7494 or (717) 731 9295.  A message
recorder and a facsimile machine are also available 24 hours a day on the
second number.

Alternatively, write to :

  Executive Meeting Management, 
  PO Box 434, 
  Camp Hill, 
  PA 17001
  USA  

Full details may be requested by electronic mail from :
           Dyke Stiles ( stiles@cc.usu.edu )
or myself, Roger Peel  ( r.peel@ee.surrey.ac.uk )      

Alternatively, call the chairman or secretary of your national Transputer
or occam user group.

-----------------------------------------------------------------------------
Roger M.A. Peel
Department of Electronic and     Phone : +44 483 509284   (0483 from UK)
      Electrical Engineering       Fax : +44 483 34139
University of Surrey             Telex : 859331
Guildford                        JANET : R.Peel@uk.ac.surrey.ee
Surrey  GU2 5XH                   UUCP : ...mcsun!ukc!ee.surrey.ac.uk!R.Peel
United Kingdom