The Virtual Channel Router Version 2.0k PUMA:035/VCR2/ADVT Revision 1.8 Mark Debbage Mark Hill November 11, 1992 1 Introduction The Virtual Channel Router (VCR) is a software package developed at the University of Southampton within the ESPRIT P2701 PU MA project to provide unrestricted channel communication across networks of T4- and T8-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 T9000/C104 simulation. VCR allows virtual channel programming techniques to be employed on current generation hardware, easing the learning gap between today's and tomorrows's technologies. Version 2.0 of this popular package enhances earlier releases. It automatically supports arbitrary target topologies, has a library of dynamic primitives accessible from occam and C, and is fully integrated into the new Inmos occam Dx205 and C Dx214 Toolsets (where x is 4, 5, 6 or 7 depending on the host machine). These Toolsets use a different object file format (TCOFF) to the Inmos D705b occam Toolset and 3L compilers (LFF); support for code generated by these systems is limited to the Inmos conversion program icvlink. Version 1.8 should be used if additional compatibility is required. 2 VCR Features o VCR provides occam-like channel communications over networks of T4- and T8- series transputers. o The VCR routing kernel is deadlock-free and places no restrictions on message size. o The communications interface from occam is pure occam _ virtual outputs by !, virtual inputs by ? and virtual channel alternation by ALT. In addition, a library permits the dynamic creation of virtual channels and remote procedure calls. o Configuration-level language is a simplification of the occam D705B Toolset stand- ard 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. 1 o 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. o VCR applications binaries are truly portable (memory sufficing) between all ma- chines 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. o Latency and processor consumption are comparable to the fastest transputer routing kernels, but no other matches the simplicity of VCR's user interface. 3 Version 2.0 Features o Automatic reconfiguration onto arbitrary networks. The user generates a descrip- tion of the target network either as a wiring diagram or as an Inmos checkout file. This is analysed offline by a deadlock-free routing generator to produce a network configuration file, which is passed into the VCR run-time as a command- line parameter. The routing kernel is loaded across the network as defined by this file (dynamic loading). o The routing kernel can also boot up statically as a conventional multi-processor C bootable. In this mode compilation steps are required per target topology. o Full support for the new Inmos occam and C Toolsets. A library of dynamic primitives is supplied with occam and C bindings to permit the dynamic creation of virtual channels and remote procedure calls (the unit of RPC is an occam separately- compiled unit). o Limited support for old Toolset and other LFF code using icvlink. o Support for prototyping message-passing environments through ParaPET, a Parallel Programming Environment Toolkit. This interface can be used to construct SPMD- like environments based on library calls from C. o An updated virtual occam configurer from Inmos is included. o This release fixes the virtual processor and 2D block move limitations of earlier versions. 4 Version 1.8 Features o VCR version 1.8 forms an extension to the Inmos D705B occam Toolset and is available for Sun- and PC-hosted transputer networks. o This release of VCR is targeted 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. 2 o The 3L and Inmos/3L scientific languages (C, Pascal and FORTRAN) can be bound into VCR programs using library calls and an occam harness. (Only compatibility with v2.0 of these languages has been tested). o Limited source-level debugging is supported using the standard tools. 5 Availability The Virtual Channel Router, the accompanying documentation and the virtual occam compiler are freely available and distributed at media cost. Hence, the system is supplied with no warranty and support is entirely discretional. VCR can be obtained by anonymous FTP from ftp.ecs.soton.ac.uk (152.78.64.201) and is located in pub/transputer/vcr. It is also distributed through, University of Southampton Parallel Applications Centre 2 Venture Road Chilworth Research Centre Southampton SO1 7NP United Kingdom Tel.: 0703-760834 Fax.: 0703-760833 A media charge of $ 50.00 + VAT will be made. This fee covers version 2.0k of the VCR system including system software, source and documentation. Those interested in Version 1.8 should contact the Parallel Application Centre directly for further details. 3