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