[mod.computers.vax] VAXCluster I/O Help Sought

HELLER%cs.umass.edu@CSNET-RELAY.ARPA.UUCP (07/08/86)

I sent out a message simular to this last fall and didn't get much of a
response.  I'm trying again in the hope that maybe someone has figured out
how to do this.


Here at UMass, we have 11 VAXen (2 780s and 9 750s) on a VAXCluster running
VMS 4.3 (soon to be running VMS 4.4).  We also have several high-speed
graphics and image-processing devices connected to the UNIBUS's of several
of the machines.  These devices are DMA devices which work best with good
sized I/O buffers (2048-65535 bytes).  We would like to make these devices
"look" like cluster-wide devices (like the disks).  Presently, two of the
devices (an old Grinnell GMR-27 and a new Grinnell GMR-270) have DECNet
(Ethernet) server hacks - that is they are accessable via DECNet from any
machine.  However, due to DECNet limitations (buffer size, speed, etc.) it
is a pain to use.  The other devices are image-processing devices and are
geared for very large buffer sizes (16K and up).  DECNet can handle a max of
about 1400 bytes (Ethernet max packet size less overhead bytes).  Also,
DECNet has upteen layers and lots of other random processing - that is, it
is not really fast if you want to do bulk transfer of data.

What we would like to do is make use of the CI hardware to do DMA transfers
between machines.  This would replace moving the data in small chunks
through DECNet.  There is no available facility for moving data directly
from one VAXen's memory to another VAXen's memory.  One needs to write a
class driver for the CI port driver (PADRIVER - PAA0:).  We have looked at
the source ('fich) for CNDRIVER (DECNet class driver for the CI port
driver), but it is hard to see where DECNet specific stuff leaves off and CI
port I/O begins.  What we really need is a cluster-wide DMA mailbox driver.
That is, a device which behaves like a mailbox and does inter-process
communication with the two processes on different machines.

Recently, one of our researchers decided he needed to use several VAXen to
do real time processing for a mobile robot. He would like to be able to move
large chunks of data between processes on different machines. Speed is very
important here, to keep the robot on course and to avoid collisions, etc.
This is another application for a high-speed DMA between CPUs.

Has anyone figured how to write a class driver for the CI port driver?  Does
anyone know if DEC is working on a cluster-wide DMA mailbox driver?


			Robert Heller
			Heller@UMass-CS.CSNET
			Heller@UMass.BITNET