IDevelopment and Usage of a Local Laboratory NetworkJ H.T.M. Haenen Department Clinical Neurology and Information Processing University Hospital Groningen The Netherlands IIntroductionJ Around 1980 our laboratory had two PDP-11 systems available for real-time data-acquisition and processing. These systems were not equal configured: while one had a newer large capacity disk, the other had several printers and a plotter. These devices could not be exchanged at that time due to the Unibus / Q-bus difference. So, we strongly felt the need for fast data exchange as it was highly desirable that BOTH systems could take advantage of the large disk and printers / plotter. As at that time no mature communication systems existed, some pioneering work was done which led to the design of a data communication facility between the two PDP-11's. As a growth of the number of computer systems could be foreseen, a modular design was mandatory so that starting from a single data-link a whole network could be build up. With the modules developped a mixture of star, ring and chain network topologies is possible. The design goal is strongly influenced by the laboratory environment (real-time data-acquisition, fast data analysis requiring computing power and fast graphics) and can be summarized as follows: - high speed: the amount of data to be exchanged may be quite large (signals, pictures) - low overhead: contributes to effective speed, keeps CPU load low and facilitates real-time (parallel) processing - no restriction to a single network topology - no modification of operating system components or it's utilities - hardware dependent code should only appear in device handlers - low cost as well as high performance communication hardware The main principle underlying the network designed was what we would like to call "transparent remote device usage". By this we mean that a device which is available on a remote computer system, looks just as if it were available locally and can also we used as a local device. Nowadays a "transparent device usage" facility can be found in many network services (e.g. VMS MSDOS-services, LAVC: local area vaxcluster). IThe network and it's componentsJ First of all let's have a look at the hardware we use. When we started and wanted fast data-exchange, our preference was to use common available fast interface such as the parallel interfaces DR-11C/K / DRV-11. Having a electronic workshop at hand it turned out to be easy to link two of these devices in a such a way that a handshake connection was possible. In that way no data overrun could occur and a data transmission speed of ca. 40 Kw./s. (640 Kbaud) was attained. Later also interfaces from 3rd companies became available having higher speed and/or longer data link distances (e.g. WB(V)-11 and a DMA interface: the Qnector). The software components of a basic data link consist of a DC-handler (DC == data communication) on one side and a server on the other side of the link (fig. 1). The DC-handler drives the DC-interface and can accept I/O transfer commands such as read, write, special function or directory requests. The server job ("task" or "process") links with the help of a job-handler to the other data communication interface. The DC- as well as the job-handler perform internally the communication protocol processing (e.g. error checking, packing / unpacking packets for the modified Radial Serial Protocol). The DC-handler on one side and the server on the other side can maintain up to 256 logical links (LL). The server now ties to each LL an I/O channel to a device unit in the system. It may allocate the whole unit or just a file on it. On the other hand also the DC-handler ties each of it's device units to a LL. In this way each device unit of the DC-handler is directly linked to a remote device unit or file. Fig. 1 The basic data link. Unit 0-6 of the DC-handler use the first six logical links in order to acces six device units on the remote system. Logical link 7, corresponding to DC-handler unit 7 is reserved for mail and server settings (e.g. protection codes) exchange. If the first six remote device units are disks, then the DC-handler is also configured within it's own system as a disk device. Since the remote disk units may vary in size, the DC-handler is set to be a variable volume device. This means that the O.S. has to issue a special function request in order to get the disk storage size. The problem now arises is how to access a remote printer since in our example the DC-handler was configured as a disk. This problem is solved with the introduction of the so-called "pseudo-handlers" (fig. 2). Such a handler looks to the local system as a normal device handler but, in fact, drives no physical device. Instead the pseudo-handlers pass requests to the DC-handler. In our case for example a pseudo-handler may be configured as a printer. The pseudo handler now drives the remote printer by forwarding the print request to the DC-handler which on his turn sends the request with it's data to the server. This server then actually does the printing on the printer. Fig. 2 The DC-handler and the pseudo-handler IUsage of the networkJ The most important guide to the usage of the network is the network lay-out plan, an example of which is given in Fig. 3. Along the connecting lines, the data communication links, the names of the pseudo-, DC-handlers and server jobs, job-handlers to be used are indicated. So addressing in this network is done by using the appropriate unit of a pseudo- or DC-handler. The appropriate unit number itself can be found from the so-called device list of each system. This list specifies which device (unit) in the system is connected to which logical data communication link. In fig. 4 three device listst of three connected systems are presented. Local or remote device lists can be on-line displayed using network utilities. In order to access a certain device in these lists one needs a pseudo- or DC-handler that can access the corresponding logical link. Therefore all handlers have settable logical link numbers and can display the current setting with a SET SHOW command. Each device in the list can have a read-only, write-only or no-access protection. Network utilities can display these protection and optionally modify them. Other utilities can send messages to a local or remote mailbox and display new received messages. The remote date & time can be displayed and optionally set locally. Full information on remote systems is on-line available: display of remote system parameters and spooler status. As remote disks can be used as if they were present locally, they also can be used to boot from. Therefore also "memory-only" systems can be put to work. Also multiple systems can, in this way, use the same system disk. However, in this case, a disk-cache is needed which swaps temporary system data to the local memory instead of the remote disk. [-- DX (RX01) : floppy drive __________ [ +---------+| [-- XZ : video black/white RK,JP (WBV-11) | LSI3 || [ (512*512) ___________| (EMG2) ||......[-- DU : winchester 30 Mb. | DCJOB0,WJ | 11/23 || [ | +---------+ [-- ADC : Anal.Dig.Conv | [-- KWV : Real-time Clock | | | [-- DM (RK07) : disk 28 Mb. DCJOB2,WK | RM (WB-11) [-- DX (RX01) : floppy drive __________ [ +---------+| [-- LP : fast printer | || [ | PDP2 ||.......................{-- LS : wide printer | 11/34 || [ +---------+ [-- CP/XY : plotter DCJOB1,WJ | | DCJOB0,DJ (DR-11C) [ (WB-11) | | _________ [-- LQ : quality printer | | +--------+| | | | PC || | | | || | | |MSKERMIT|| | | +--------+ [-- RK0/1 (RK05F): fixed 5 Mb. | | XL | [-- RK2 (RK05J): removable | | _________ [ | | +--------+| [-- MT : Magtape | | |Kermit11|| [ | |_________| PDP1 ||........[__ LPS : Lab.Periph.System | DP,JP | 11/34 || [ (A/D,clock,dig. I/O) | (DR-11C) +--------+ [-- XZ : video black/white | | DCJOB1,KJ (512*512) | |(DR-11K) | | | | | DR,JP | (DRV-11) [-- ADC : Anal.Digit.Convers. | _________ [-- KWV : Real-time Clock | +--------+| [ | | || [ | | LSI1 ||........[-- XC : video color | | 11/73 || [ (512*512) | +--------+ [-- DRV : parallel I/O | QN,LP |(Qnector) | | | | | | [-- DL : winchester 30 Mb. | | [ | DCJOB0,QJ | (Qnector) [-- DY (RX02) : floppy drive | _________ [ | +--------+| [-- EP : printer (epson) | | || [ |____________| LSI2 ||........[-- ADC : Anal.Digit.Convers. RK ,JP | 11/23 || [-- KWV : Real-time Clock (WBV-11) +--------+ [-- XC : video color [ (512*512) [-- XZ : video black/white (512*512) Fig. 3 Example network plan (NKG-AZG 23-dec-86) SYSTEM 1 (memory-only) SYSTEM 2 SYSTEM 3 ======== ======== ======== LL device/file LL device/file LL device/file -- ----------- -- --------------- -- ------------------- 0 DR0: O. S. 0 RK0: O.S. * 0 DX0: * 1 DR1: 1 RK1: * 1 DX1: * 2 DR2: 2 RK2: * 2 VM : * 3 DR3: 3 VM : * 3 DM0:APPL1.DSK * 4 DR4: 4 LD1: 4 DM0:APPL2.DSK * 5 DR5: 5 LD2: 5 DM0:APPL3.DSK * 6 DR6: 6 RK1:APPL0.DSK * 6 DM0:APPL4.DSK * 7 DR7: 7 DP7: 7 DM0: O.S. * 8 Mailbox 8 Mailbox 8 Mailbox * 9 HL: Hello to next 9 HL: Hello to next 9 --- 10 SP0: Remote Spooler 10 SP0: Remote Spooler 10 LP0: Fast printer * 11 SP1: 11 SP1: 11 LS0: Wide printer * 12 SP2: 12 SP2: 12 CP : Plotter * 13 SP3: 13 SP3: 13 LQ : Quality prnt * 14 PP : 14 PP : 14 PP : 15 MT: Magtape 15 MT: Magtape * 15 --- * = physical device on this system LL = logical link number Fig. 4. Device lists of three connected systems. The network has grown around the more or less central system, the PDP2. Here the central databases are stored. Also the programs like the database utilities and programs from packages (e.g. the statistical BMDP) are stored here and can be run on every other system. All the disks in the network can be backed up with the Magtape on PDP1. The reason that the Magtape is located on this system and not on the more central PDP2 is that a special real-time application designed for PDP1 needs the Magtape for the output of compressed data. This application is very time critical and needs full system resources. The powerfull LSI-11/73, LSI1, is located between PDP1 and LSI2. In this way it can assist both connected systems in providing additonal computing power. An other reason is that with this location it can gather large data files produced on LSI1, compress them (CPU intensive), and store them on the Magtape of PDP1. Finally, the advantages of the network can be summarized as follows: - undisturbed real-time processing for selected nodes - highly fail-safe: when the hardware of one system fails, the other systems continue to work (when the spooler system fails, data are kept in files) - shared access to centralized devices such as large disk, fast printers, tape units. - access to shared data, large scratch area can be reserved and claimed by users sequentially - many centrally stored programs can be executed everywhere - simplified backup procedures, all disks can be backed up by a single central available tape unit - parallel processing: data can be send from the memory of one system to the memory of another, multiple systems may be computing on the same data in real-time. - mail exchange, full remote systems information - the network is reconfigured quickly when usage this requires - as most users by experience are familiar with the network concept, the introduction of newer networks (e.g. LAVC) is likely to proceed smoothly IThe future of the networkJ Many applications of which several perform real-time data-acquisition have been developped for the systems in the current network. Until nowadays this has proved to be a good investment due to the high reliability of the PDP/LSI-11 systems and the continuing support of DEC. However, the maintenance of the PDP-11/34's is costly and may become cumbersome in near future. So they have to be replaced soon. For compatiblity and performance reasons the best replacement is probably a local area cluster of e.g. a microVAX 2000 running VMS and one or two (memory-only ?) microVAX II running VAXELN for the real-time applications. But now the problem arises how to interface the remaining network with LAVC? The nicest, 'transparent', solution would be to have a compatible server running under VMS. Development of such a server is estimated to be a small investment as it can be programmed in a high-level language. A larger investment in man-power could be the development of the server's device driver, although several example device drivers for the hardware of interest are public available (DECUS Library: VAX-48, 89, 124, 126). For not-compatible communication (probably restricted to file transfer) with the our network there are already many solutions: TRANSF or DECNET (however, no ethernet support), ETHERLINK (based on Ethernet) or user developped communication packages (e.g. DECUS Library VAX-126). Once VAX/VMS is available also the introduction of IBM-compatible PC's is solved using the MSDOS services. IConclusionsJ A collection of programs and device handlers realises a network with high speed data communication links. Transparent remote device usage: remote devices are used in the same way as if they were local. High performance processing, also in real-time and fail-safe The well-structured software allows many network-topologies to be setup. Low cost as well as high performance hardware is implemented. Moreover implementing new hardware is a relative small task as only two handlers have to be coded. Cheap memory-only systems can be put to work due to boot capabilities. A very important advantage of the experience with the current network is that users and system manager will have little difficulty in familiarizing with e.g. PC-networks and networks like the LAVC. IReferencesJ 1. Haenen, H.T.M. "A Modular Data Communication Package Providing a Multiuser Environment and Parallel Processing" Proceedings DECUS EUROPE Coventry U.K., Sept. 1982, pp. 81-88 2. Haenen H.T.M. "Multiprocessing and High Speed Datacommunication" Proceedings DECUS U.S.A. Anaheim, California, Dec. 1985, pp. 505-510 3. The "Radial Serial Protocol (RSP)". Microcomputer Interfaces Handbook. DEC 1980, p. 640 4. Haenen, H.T.M. "Disk Usage Analysis and Disk Data Caching" Proceedings DECUS EUROPE Zuerich, Switzerland, August/Sept. 1983, pp. 247-252 5. Haenen H.T.M. "The Disk Data Cache" Proceedings DECUS U.S.A. New Orleans, Louisiana, May 1985, pp. 379-383 6. Haenen H.T.M. "Handler versus IN-LINE interrupt code" Proceedings DECUS EUROPE Cannes, France, Sept. 1985, pp. 313-323 7. Haenen H.T.M. "The System Display" Proceedings DECUS EUROPE Hamburg, West-Germany, Sept. 1986, pp. 477-489 Applications: 8. Weerden T.W. van, Haenen H.T.M. "The different Components determining the physiological Tremor of the Hand" 6th Intern. Congr. Electromyography Acta Neurol. Scand. 60 (1979) Suppl. 73, 238 9. R. Sia, S. Boonstra, P. Westra, H. Haenen "An EEG Study of 4-Aminopyridine" Anesth. Analg. 1982, Vol. 61, pp. 354-357 10. Haenen H.T.M., Scheltinga D. van "Evoked Potential Processing based on multiple Processors" Proceedings DECUS EUROPE Amsterdam, The Netherlands, Sept., 1984, pp. 65-81 11. Haenen H.T.M., Scheltinga D. van "An intelligent recording System for Signal Analysis" Proceedings DECUS EUROPE Amsterdam, The Netherlands, Sept., 1984, pp. 20-28 12. Zwarts M.J., Haenen H.T.M. "Muscle Fiber Conduction Velocities and Power Spectra during sustained Isometric Muscle Contractions" EEG & Clin. Neurophys., Vol. 61, No. 3, Sept. 1985, p. S59 (XIth Internat. Congress of EEG & Clin. Neurophys.) 13. Zwarts M.J., Van Weerden T.W., Haenen H.T.M. "Relationship between average muscle fiber conduction velocity and EMG power spectra during isometric contraction, recovery and applied ischemia" Eur. J. Appl. Physiol. (1987) 56: 212-216 14. Zwarts M.J., Links T.P., Haenen H.T.M., Oosterhuis H.J.G.H. "Muscle fiber conduction velocity and EMG powerspectra in familial Hypokalemic Periodic Paralysis" 6th International Symposium in SFEMG and Quantitative EMG Analysis, june 16-17, 1986, Vienna, Austria 15. Haenen H.T.M. "Data Reduction of Visual Evoked Potentials using a Dipole Model" EEG & Clin. Neurophys., Vol. 61, No. 3, Sept. 1985, p. S227 (XIth Internat. Congress of EEG & Clin. Neurophys.) 16. Haenen H.T.M. "A new color display method for Evoked Potential reliability" To be presented at 8th Int. Congress of EMG and related Clin. Neurophys., Sorrento, Italy, May 1987.