[comp.sys.transputer] VM386 and 'puters

ENGLE@A.ISI.EDU (02/23/90)

>Are there any experiences, tips, tricks, ... for sharing a B004/B008
>compatible transputer board (with or without DMA to the PC) hosted
>by a 386 PC compatible and running DOS-based transputer software
>between multiple users using IGC's VM/386 Multiuser DOS multitasker?

At MIMD we have ported the Helios server program, which gives a transputer
system running Helios access to the I/O resources of the PC and provides the
user with a terminal to access Helios, to the Multi-DOS environment.  Multi-
DOS is an inexpensive DOS multitasking facility.  It allows the user to run
the server and a DOS application at the same time with the prospect of 
having the DOS application interact with software running on the transputer
array.  The only problem is that the DOS program has a whopping 62K of RAM
in which to run.  We're working on solving that.

We've also run the Helios Server under DESQview with no problems at all.

Helios supports multiple users on the transputer array.  Our policy is to 
allocate groups of transputers to users.  Until we get some memory protection
in these chips it doesn't seem wise to allow two users to share a single 
processor -- its probably not desirable anyway.

On the Sun and the MicroVAX our Helios servers allow remote access to multiple
users.  Again with the limitation that there is only a single user per group
of transputers.  Here the interface between applications and the server is
based on sockets, so things are quite elegant.

> More specifically:
> * Is it possible to access the transputer from within VM/386?
> * Does VM/386 know about transputer boards? Does it have to know
>   about them? I.e. must I write a VM device driver for it (and is it
>   possible to write one?), or may I access the board without a specific
>   device driver?
> * Is it possible to make the board a device which can be allocated
>   and released on demand by individual users? More important, is
>   the board protected from access by other users while allocated
>   by a user? If I have several boards on different I/O addresses,
>   may I use them as independent devices?

In the Helios approach, the server program encapsulates all access to the
transputer array.  This allows it to control access from other programs
and to control the particulars about the interface to the board(s).  Thus
it can be used to enforce a one-user at a time policy, or a multiple user
policy.  

Other possibilities include porting to PC based versions of UNIX and also 
to OS/2 (or should I say OS over 2).  The DESQview alternative is also 
somewhat appealing.  Windows is also a possibility using the DDE interface.
Finally, we could support a network interface -- preferably for ethernet --
which would allow one to create a server machine.  This would require a 
dedicated P.C., but would allow multiple users to access the transputers 
across a network.  We've done this for one client and its works quite well.

Regards,
Steven W. Engle
MIMD Systems, Inc.