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."