[comp.sys.transputer] H1/C104 Emulator

md@ecs.soton.ac.uk (Mark Debbage Puma) (01/11/91)

The Virtual Channel Router
4th January 1991
Mark Debbage, Mark Hill, Denis Nicole
University Of Southampton

Introduction
------------

The Virtual Channel Router (VCR) is a software package developed at 
the University Of Southampton within the Esprit P2701 
PUMA project to provide unrestricted channel 
communication across networks of T-series transputers. It allows 
distributed transputer programs to be written, compiled and 
configured in a topology-independent format and then bound to a 
topology-dependent routing kernel at run-time.

The system is based on a virtual occam compiler/configurer 
developed by Inmos for H1 simulation. VCR allows H1-style programming 
techniques to be employed on current generation hardware, easing the 
learning gap between today's and tomorrows's technologies.

Features
--------

1.  Provides occam channel communications over networks of 
    32-bit T-series transputers.

2.  The VCR routing kernel is deadlock-free and places no 
    restrictions on message size.

3.  Source-level interface from occam is pure occam - virtual 
    outputs by !, virtual inputs by ? and virtual channel 
    alternation by ALT.

4.  Configuration-level language is a simplification of the 
    occam Toolset standard with link placement eliminated and the 
    processor's valency limit removed. In addition, a channel array 
    constructor allows arbitrary channel slices to be passed into user 
    code simplifying the expression of regular topologies.

5.  The suite of 3L scientific languages (C, Pascal and FORTRAN) 
    can be bound into VCR programs using library calls and an occam
    harness.

6.  VCR user programs are completely independent of the target VCR 
    network - the user configuration level can be written without 
    knowledge of the machine topology or the target number of processors.

7.  VCR applications binaries are truly portable (memory sufficing) 
    between all machines running the same release of the VCR kernel,
    provided that the binaries are processor type independent.
    For example, multi-processor applications can be developed and tested 
    on a single processor and the same binary then run on a network.

8.  This release of VCR is targetted at intrinsically deadlock-free 
    networks. A large number of VCR topologies are provided for both 
    fixed link and reconfigurable machines. VCR can be configured for 
    other deadlock-free networks by modifying the router and recompiling.

9.   Limited source-level debugging using the standard tools.

10.  Latency and processor consumption are comparable to the fastest 
     transputer routing kernels, but no other matches the simplicity of 
     VCR's user interface.

11.  VCR forms an extension to the Inmos occam Toolset (not 
     the new occam and C Toolsets) and is available for Sun- and 
     PC-hosted transputer networks.

Availability
------------

The Virtual Channel Router, the accompanying documentation and the 
virtual occam compiler are licensed free of charge and 
distributed at media cost. Hence, the system is supplied with no 
warranty and support is entirely discretional.

VCR is available to the H1 Developer's Club through Inmos.

It is also distributed through,

Transputer Technology Solutions
2 Venture Road 
Chilworth Research Centre 
Southampton 
SO1 7NP 
United Kingdom 

A media charge of \pounds 50.00 will be made. This fee covers both 
the current  release of VCR (version 1.8c), and a future release (see 
hereafter) to be distributed around April 1991.

Next Release Of VCR
-------------------

VCR is still under development; the next release will include the 
following features :

Automatic reconfiguration onto arbitrary networks.
Full support for the new Inmos occam and C Toolsets.

greeny@wotan.top.cis.syr.edu (Jonathan Greenfield) (01/24/91)

  Can anyone give me a reference to a technical report describing the
VCR system?  Also, does anyone have some basic performance results for
the system, like average message latency, CPU utilization, etc.
(particularly when used with occam)?

  Thanks.


Jonathan