PVR%bgerug51.earn@NSS.CS.UCL.AC.UK (Patrick Van Renterghem / Transputer Lab) (08/26/88)
Dear mailing list,
I am writing a paper for the "largest transputer event on the continent".
There is a small section on development systems and I don't want it to
contain wrong information. So, I have posted it to the net and am awaiting
replies from you. If anything is untrue or missing let me know.
-------------------------------------------------------------------------
Development Systems for Transputers:
a) Hardware:
At this moment there are a number of different platforms for the
development of transputer software:
* PC: most vendors still focus on this, so it is the best
supported environment. Companies in this category are: Inmos,
Parsytec, Microway, Transtech, Sension, CSA, Quintek, Gemini,
...
* Sun: several companies now have a VME board, with a TDS
(Transputer Development System) under Unix for a Sun work-
station: Inmos, Parsytec, Protheus, Niche Technology, Tadpole,
...
* Macintosh: the 68020-based Mac II is a very powerful machine
on its own, but companies as Levco sell plug-in boards to
boost time-consuming tasks, such as image rendering, anima-
tion, ...
* (u)VAX: the slower the system, the bigger the need for a high-
performance add-on for real-time applications and number
crunching. That's why companies such as Caplin Cybernetics,
Floating Point Systems and U-Micro have built plug-in boards
for Unibus and Q-bus VAXes.
* Atari: Atari is developing its own transputer-based system,
the ABAQ, which uses most of the old ST for I/O and storage.
Some link interfaces are available, as well as some low-cost,
user-unfriendly development environments.
* Apollo: since some Apollo's have a PC-compatible bus,
development can also happen on these workstations, but very
few people do this. The French company Archipel has a
development system for compiling and downloading programs
under the Unix operating system on the Apollo.
* Transputer-based: Strange enough, there are very few
transputer-based development systems at this moment. This will
probably change with the arrival of a decent operating system
for transputers (Helios, System V, Trollius, ...) ?
* Did I forget someone ?
b) Software:
Transputer Development Systems (TDS):
A TDS consists of a folding editor and a number of utilities
(compilers, network loader, file utilities, ...). At this moment
there are transputer development systems for PC, SUN, Macintosh,
Apollo and VAX from different manufacturers. They all look
alike, but they might differ on certain crucial points (e.g.
server). Debugging a distributed system with a large number of
transputers is a difficult problem. However, at this moment
there are network analysers and symbolic debuggers available,
that show faulty processors or deadlocks.
Programming languages:
Occam remains the most efficient language for transputers,
although the compiler is not an optimizing compiler and could be
improved. Optimization techniques such as dead code removal,
bringing loop invariant code out of a loop, optimal use of on-
chip RAM, abbreviations, ... are up to the user.
C is highly used for engineering applications and there are a
lot of C compilers available at the moment for the transputer.
Most of them are compatible with Kernighan and Ritchie, some
have the ANSI extensions and some have non-standard features for
communication, multitasking, ... The following (probably incom-
plete) list shows a couple of the C compilers (although they are
marketed and supplied by different companies, a lot of them have
the same origin). Some compilers are sold as a stand-alone
toolset, others need a TDS. There are sequential (single task) C
compilers and parallel C compilers. Parallelism can be accom-
plished via library routines for communication and multitasking
or via features that were added to the C language (par, alt,
timer, ...). The solution with library calls generates a
significant overhead, the solution with language extensions
violates the C standard and portability.
* Lattice Logic Ltd (3L) C:
* contracted and marketed by Inmos
* Occam harness needed to combine several processes
* alien file folders to mix languages
* Logical Systems Transputer Toolset:
* marketed by CSA and Levco
* C source included
* for PC, VAX, SUN-3 and Mac
* fully K&R, nearly ANSI
* efficient, uses optimizer
* contact Kirk Bailey (bailey@mist.cs.orst.edu)
* 3L Parallel C Compiler:
* marketed by Microway, Sension, ISI, CSA and Transtech
* standalone toolset, no need for TDS or Occam
* currently v2.0, costs 750 pound
* fully K&R, almost ANSI
* runs on transputer, host (PC, VAX) runs file server
* run-time library support for concurrency and message passing
* inline (transputer) assembler
* flood-filling algoritm: distribute same program over a
number of Transputers, typically a processor farm
* good disassembler to see what the compiler makes of your
program
* Microway C compilers:
* probably the same as the 3L C compilers
* Parsec Parallel C Compiler Par.C:
* sold by Parsec for standalone applications (without TDS) or
for target transputer systems (compiler running on PC)
* sold by Parsytec to run under Megatool (their TDS)
* K&R, with ANSI extensions
* Occam-like features: guarded alt, channel type, process,
timer type, ...
* channel (CHAN OF ANY) recognizes datatype and thus number of
bytes to send or receive from the context
* price approx. 4000 Dutch guilders
* Definicon C compiler:
* marketed by Inducom Systems
* Occam-like constructs as in the Par.C from Parsec (same
origin)
* Renishaw Controls C Compiler
* distributed via Microport, with a distributed Unix kernel on
each transputer
* Pentasoft C: (Penguin)
* used at Cornell University for the Trollius operating system
* Perihelion C:
* the C compiler that goes along with Helios
* marketed by Cambridge Risc Machines
There are other programming languages available, such as
Fortran and Pascal from Inmos, 3L, Parsytec, ... Recently, 3L
announced their parallel Fortran compiler. Not many people are
using the other languages, such as ML (Lisp dialect from
Edinburgh, transputer implementation by Jon Kerridge, contact
ml@lfcs.ed.ac.uk), Prolog (Microway), ... so they are probably
still full of bugs.
Inmos and Alsys (the company of Jean D. Ichbiah) have agreed to
develop and supply an Ada compiler for the transputer family.
The product should be ready in july 1989 and is targeted to
aerospace and military applications. Wait and see !
* Operating Systems:
* Helios: (Perihelion Software Ltd.)
Helios is the first operating system specifically designed for
the transputer to become widely available. It is a fully
distributed, multi-tasking operating system that supports
multiple processors and users. It provides an excellent
programming environment, both for the development of
transputer software and for the delivery of transputer
applications to end users. Features include a high level of
Unix compatibility, good fault tolerance, a capability based
protection scheme for multiple users and graphics support
under the X-Windows V11 standard. Amongst the languages
supported are C, Fortran and Occam. Helios is already being
used for a wide variety of transputer-based applications: for
embedded systems, for PC and other plug-in boards, for
workstations and for transputer-based computer systems.
* Unix System V: (Renishaw Controls / Microport)
Renishaw Controls and Microport seem to be developing a
version of Unix for the transputer. It is Microport System V,
running on a network of transputers. There is a distributed
Unix kernel on each transputer and the PC is used as a disk
and I/O server.
* Trollius: (Cornell University, used to be called Trillium)
The Trillium project at Cornell started with the intention to
build an operating system for the Floating Point Systems T-
Series. Recently, Trollius was ported to the Niche Technology
and Topologix platforms. Cornell is licensing Trollius to
industrial and academic institutions. You need a Pentasoft
license to get Trollius. There is a C and Fortran compiler, an
assembler, linker and librarian. You can
create/kill/spawn/look at processes, pass messages from node
to node, access a UNIX file system, debug software and
synthesize speech. Cornell does not provide occam.
* Hobbes: (Transoft)
According to some rumours, the American company Transoft has
developed another operating system for the transputer, Hobbes.
Details about it are not available at the moment.
-------------------------------------------------------------------------
Patrick Van Renterghem, Seminar Coordinator "Transputers for Ind. Appl."