The KZ2X Computing Resource Complex
# Jan 16, 2022So 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?