The KZ2X Computing Resource Complex

So I have an AMPRNet allocation and a packet station. These are tremendous resources, but their existence immediately begs the question: what should I do with them?

In the post I made about AMPRNet, I mentioned the documentary film Computer Networks: The Heralds of Resource Sharing that goes into detail about the origins of the ARPNANET, the forerunner to today’s Internet. In that film, at about the 9:05 mark, is a quote from Frank Heart at Bolt, Beranek and Newman that I find fascinating:

As soon as the network began working, we really had a nationwide resource complex. And this resource complex was very attractive to many users who had no resource of their own to really contribute. These people wanted direct terminal access to the net even though they had no host to get that access through. So we designed a new kind of IMP; we called it a Terminal Interface Message Processor; we call it a TIP for short. And this machine really includes a very tiny mini-host. With this TIP, many different kinds of terminals can be directly connected to the TIP or can be dialed in through low-speed lines to the tip and can provide access to the entire nationwide resource pool to users at various kinds of terminals.

The critical, and intriguing thing here, is the realization that the ARPANET was designed to provide access to shared resources to its users. Later in the documentary, at roughly 15:06, Prof. Fernando J. Corbató, principle investigator of the MIT Multics project, goes on to say:

One of the things that is coming out as people begin to use the network more and more is that they must have, at the nodes of the network, computers which are of a Multics-like class, or essentially a major computer utility which is capable of manipulating information because the network itself doesn’t hold information, doesn’t keep information; an important design criteria, in fact.

That is, while the networks themselves provide access, it is important that they provide access to some kind of resource complex.

As hams, we’ve got networks: we have the AX.25 and NET/ROM packet network, and we have the AMPRNet. These are powerful means of communications, but what resources are available for use? What are we sharing on those networks? And how are we manipulating the information that traverses them?

As near as I can tell, most modern use of AX.25 is for NTS-style traffic handling. There’s certainly nothing wrong with that and it is undeniably useful, but what else? The AMPRNet seems mostly just not used.

We can do better.

Creating a Resource Complex.

I decided to approach this problem by creating my own complex of resources accessible to our networks. To start, I installed a modern computer running Unix on my AMPRNet segment. This machine is powerful: it has 16 Intel i7 threads, 64 GiB of RAM and a 1TB NVMe SSD. It runs DragonFly BSD, a derivative of 4.4BSD. I am happy to give accounts to other hams, and is accessible as kz2x.ampr.org.

I have also made this machine available for interactive use over AX.25 and NET/ROM. Connecting to the KZPAD:KZ2X-3 NET/ROM node or to KZ2X-1 on 145.090 MHz in the greater Boston area will allow hams to connect it, login, write and run programs, play games, send and receive local mail, access the Internet, etc.

This experiment was a tentative success: I have an RF-accessible networked timesharing system. But what else can one do?

Going back to Corbató’s comment about a major computing utility of a Multics-like class at the nodes of the network, I asked myself, “why not just provide access to Multics?”

And that’s what I’ve done. I set up an instance of Multics on an emulated Honeywell/Bull DPS8/M mainframe, and made it similarly accessible via AX.25 and TCP/IP. This worked surprisingly well, which then led to installation of a DECSYSTEM-20 running TOPS-20, a VAX 3900 running VAX/VMS, another VAX running 4.3BSD Unix, a PDP-11/93 running RSTS/E 10.1-L, a PDP-11/70 running 7th Edition Unix, a CDC Cyber 175 running NOS 2.8.7, and an IBM 4381 mainframe running VM/370. These machines are all virtualized on modern hardware, but are interconnected locally using both TCP/IP and DECnet, accessible from the Internet via AMPRNet, and accessible from AX.25 and NET/ROM via KZPAD:KZ2X-3.

Interestingly, since so many of these systems date from an era where computers were accessed via line-oriented terminal concentrators, using low-bandwidth serial lines and high-latency mechanical teletypewriters, they are very well suited for use in low-bandwidth, high-latency, high-loss RF environments like AX.25.

Here is an example of an interactive Multics session:

Multics MR12.7: KZ2X Computing Complex (Channel d.h001)
Load = 6.0 out of 90.0 units: users = 6, 01/16/22  1832.4 est Sun
l KZ2X
Password:
You are protected from preemption until 18:32.
KZ2X.Ham logged in 01/16/22  1832.5 est Sun from ASCII terminal "none".
Last login 01/13/22  0856.5 est Thu from ASCII terminal "none".
No mail.
r 18:32 0.766 54

ls -a

Segments = 6, Lengths = 5.

r w    1  skull.txt
r w    1  KZ2X.profile
r w    1  start_up.ec
r w    1  hello.pl1
       0  KZ2X.mbx
r w    1  KZ2X.value

Directories = 1.

sma  exec_com

r 18:32 0.037 0

who -lg

Multics MR12.7; KZ2X Computing Complex
Load = 7.0 out of 90.0 units; users = 7, 2 interactive, 5 daemons.
Absentee users = 0 background; Max background absentee users = 3
System up since 12/25/21  1512.1 est Sat
Last shutdown was at 12/25/21  1510.9 est Sat

    Login at      TTY  Load   User ID

12/28/21  21:41  none  1.0   Cross.SysEng
01/16/22  18:32  none  1.0   KZ2X.Ham

r 18:32 0.038 0

logout
KZ2X.Ham logged out 01/16/22  1833.0 est Sun
CPU usage 1 sec, memory usage 0.2 units, cost $0.07.
hangup
Multics has disconnected you

As far as I know, accessing Multics in this way over AX.25 is an historical first.

Similarly, here is TOPS-20 session in which I write a small Lisp program and run it interactively:

CONNECTING TO TOPS20
Trying 44.44.107.10...
Connected to tops20.kz2x.ampr.org.
Escape character is 'off'.

 KZ2X Twenex, PANDA TOPS-20 Monitor 7.1(21733)-4

--> Amateur Radio DECSYSTEM-20

This system is for authorized use only.  It is part of
the KZ2X amateur radio computing resource complex.  For
problems or questions, send email to root@kz2x.ampr.org.

@log KZ2X
 Job 9 on TTY44 vhf1.kz2x.ampr.org(TCP) 16-Jan-2022 18:58:18
  Last interactive login 16-Jan-2022 18:56:32
  Last non-interactive login Never
@dir

   TOPS20:<KZ2X>
 HELLO.CLISP.1
 LOGIN.CMD.1
 SKULL.TXT.1

 Total of 3 pages in 3 files
@type hello.clisp
(defun hello (who)
  (format t "Hello, ~A!~%" who))
@clisp

Uppsala Common Lisp, Version of 15-Dec-1987, (c) 1985, C. Hedrick
Please mail bugs and suggestions to BUG-CLISP@tops20.kz2x.ampr.org
Use (NEWS) to see what's new in this version.
CL>(defun hi (who)
     (format t "Hi, ~A~%" who))
HI
CL>(load "hello")
;Loading tops20.kz2x.ampr.org::TOPS20:<KZ2X>HELLO.CLISP.1 into package USER.
T
CL>(hello "Dan")
Hello, Dan!
NIL
CL>(hi "Amateur Radio")
Hi, Amateur Radio
NIL
CL>(pprint #'hi)

(LAMBDA (WHO)
  (BLOCK HI
    (FORMAT T "Hi, ~A~%" WHO)))
CL>(quit)
@sy
 Sun 16-Jan-2022 18:59:35  Up 99:59:13
 1+8 Jobs   Load av   0.01   0.01   0.01

 No operator in attendance

 System is remedial

 Job  Line Program  User              Origin
   9*   44  SYSTAT  KZ2X              vhf1.kz2x.ampr.org(TCP)

   1    13  OPR     OPERATOR
   2   DET  SYSJB1  OPERATOR
   3    14  RESOLV  OPERATOR
   4    15  NETSRV  OPERATOR
   5    16  SMTJFN  OPERATOR
   6    17  MMAILR  OPERATOR
   7    20  IMAPSV  OPERATOR
   8    21  FTS     OPERATOR
@logout
Killed Job 9, User KZ2X, TTY44 vhf1.kz2x.ampr.org, at 16-Jan-2022 18:59:40
 Used 0:00:00 in 0:01:21
Connection closed by foreign host.

HOST TOPS20 DISCONNECTED

As of today, the following hosts are available in the KZ2X Computing Resource Complex:

System Name     Description
UNIX x86_64 Unix Host
BSD VAX 3900 4.3BSD
V7 PDP-11/70 7th Edition Unix
RSTS PDP-11/93 RSTS/E
MULTICS DPS8/M Multics
VM IBM 4381 VM/CMS
VMS VAX 3900 VAX/VMS
TWENEX DECSYSTEM-20 TOPS-20 7.1 (Panda)
CYBER CDC 6600 series Cyber 175 NOS 2.8.7
 

[Note that the IBM mainframe isn’t directly accessible, as the 3270 protocol cannot be easily tunneled over AX.25. But it is accessible via AMPRNet.]

Conclusion

Using these systems in conjunction with amateur radio is not only fun, but it’s exciting. The things we can do with even antiquated systems with providing interesting, entertaining, and genuinely useful services to ourselves and served organizations is limited only by our imaginations and Part 97.

What other resources does it make to introduce into our amateur radio milieux?