From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, LOTS_OF_MONEY,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 20119 invoked from network); 29 Nov 2022 15:54:59 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 29 Nov 2022 15:54:59 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id CDA4241C2F; Wed, 30 Nov 2022 01:54:51 +1000 (AEST) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by minnie.tuhs.org (Postfix) with ESMTPS id 5EAFF41C1F for ; Wed, 30 Nov 2022 01:54:47 +1000 (AEST) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 7E0FC5C0129 for ; Tue, 29 Nov 2022 10:54:46 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Tue, 29 Nov 2022 10:54:46 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ronnatalie.com; h=cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:reply-to:sender:subject:subject:to:to; s=fm3; t= 1669737286; x=1669823686; bh=rOeO4LE9/yAHwGLPFb7hXJuo/K1ZF7+jNSd 4IuAMnAk=; b=Q4k3udpOrFTKlt/mNQq1u0qFOYQFCloB7Z/8ISLXtFpWhyXUa3o /cWLThTWHjuO6KxWsp58SP2xa6u6pjKvHwp+uaPeRWhk2OrvlbG6yg0/VHfEKGDM ZH6VqM1n49Oy7tTqSYjylj9gvj6oB3qgBJyo3J3Ykk/TYM5qqAEwq/dEoTr8EVTq /5Om4I+4YcnNyKdpXvPVmH9ZZFXrubRAKsC4iZorweLEeb+vYLGa2HtQFXTF3pW2 2U+D3RXR7XtKByOTH8he3XZ8QT30moX6LyfB6URWRSsP9iuIB5rS5Wd5vNiSvWsg fxYQ2Jaq/Q/nT/GgUM80qT42ZRrXlRnUaJQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:feedback-id:feedback-id:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1669737286; x= 1669823686; bh=rOeO4LE9/yAHwGLPFb7hXJuo/K1ZF7+jNSd4IuAMnAk=; b=s 5MPq2ePVXUM06Qk/ncG8/ApkicW9NhJYbEPvr9/ESHS6hgOHp2vkVfFrU1Vk2qzz zewDhq9DIv1+gpsd8mqMlCOFLOp0RpO1X1I9Dm46W2MUaKdrFjLHD0uZDN91qVGS QAX/xYrHRbqh/w0CB4xxxwWwN2dwfjRXZg1ylOW6Huoi0dMaq/5rYTDEm8fiojyk qiziQmnNInHDt1PQcOs/nkbAiautms5l4IuvXJX34/cF98JYyDzBVDQgcyi+vE6E RQpbdkVhQWSs7H8qKPHxZeiVpJbuHzVPk1BT+XTEF1yIEkyLkQw8tI3Yyb3mN6cn iwyzzEM2JZalVSc1x316w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrtddtgdehudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkfgjfhhrfgggtgfgsehtqh ertddtreejnecuhfhrohhmpedftfhonhcupfgrthgrlhhivgdfuceorhhonhesrhhonhhn rghtrghlihgvrdgtohhmqeenucggtffrrghtthgvrhhnpeffudetveetffeutefhleelvd dtfefhkefhvdfghedujeevieejkedvvddtjeevgeenucevlhhushhtvghrufhiiigvpedt necurfgrrhgrmhepmhgrihhlfhhrohhmpehrohhnsehrohhnnhgrthgrlhhivgdrtghomh X-ME-Proxy: Feedback-ID: iaba146ad:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Tue, 29 Nov 2022 10:54:46 -0500 (EST) From: "Ron Natalie" To: tuhs@tuhs.org Date: Tue, 29 Nov 2022 15:54:45 +0000 Message-Id: In-Reply-To: References: <7C8CADAB-65AA-4841-AFA1-569A9651E56D@planet.nl> User-Agent: eM_Client/9.2.1222.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Message-ID-Hash: WXHYSVHSCT2ZLYVUH26G6NS6WGGSGBIU X-Message-ID-Hash: WXHYSVHSCT2ZLYVUH26G6NS6WGGSGBIU X-MailFrom: ron@ronnatalie.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tuhs.tuhs.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Reply-To: Ron Natalie Subject: [TUHS] First supercomputer UNIX: The Denelcor HEP (was Early multiprocessor Unix) List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: In 1982, I returned to BRL (having spent a year working for Martin=20 Marietta on project involving a dual process RSX-11M system. I did=20 spend some time setting up the PWB UNIX tools with the QA guys while=20 there). BRL had commissioned the Denver Electronics Corporation (i.e., Denelcor)=20 to build a MIMD system called the HEP, ostensibly to do fluid dynamics=20 problems. It was looking like the manufacturer wasn=E2=80=99t going to ha= ve a=20 useful OS for it so Mike Muss did his usual thing and suggested he could=20 put UNIX on it (he had done this twice previously with orphaned=20 machines: some 11/34 graphics stations that were supposed to be=20 connected to the CDC7600 and converting the University of Illinois=20 Arpanet Terminal Server (ANTS) to a host that could support long=20 leaders. I was part of Mike=E2=80=99s team. We split up various aspects of the pro= ject.=20 Mike ported PCC. I ported ld, and F77 (as we figured the=20 =E2=80=9Cscientists=E2=80=9D would probably want that). Mike did the cor= e of the=20 kernel. I handled all the I/O system because I was the =E2=80=9Cdevice dri= ver=E2=80=9D=20 guy at JHU and continued on with this at BRL. Our initial work was=20 done by traveling out to Denelcor=E2=80=99s facility where our machine was= =20 assembled on their floor. They had started their operating system work=20 (not UNIX), so we took the machine after hours. Amusingly, at BRL in=20 the room the HEP was going in, the cabinet layout was taped out on the=20 floor around a central pillar. The tape marked with the component that=20 went there. Out in the Denver machine room, the equipment was there=20 but there was a square taped out that said =E2=80=9CBRL post=E2=80=9D so th= ey knew not=20 to put/route anything there. The software being ported was 4BSD. I believe we started with the=20 George Gobels mods of the dual VAX (BRL already had built one of these).=20 In working on that I found there was a rather serious portability=20 problem. The kernel did what I refer to as =E2=80=9Cconversion by union= =E2=80=9D=20 where they stuck a pointer of one type into one element of the union and=20 retrieved it by a different pointer type union element. Well, such is=20 all well and good on the VAX, but the HEP encoded the partial word size=20 into the low order bits of the pointer. This meant that you ended up=20 with pointers that would access the wrong size operand. I spent a few=20 days chasing down all these things and fixing them. The HEP had an 11/34 as a control processor that allowed you to=20 configure the switch system that interconnected the memory in the=20 processors. It did this via a special feature called (aptly) =E2=80=9CTh= e Low=20 Speed Bus=E2=80=9D (more on that later). But once running, everything was = self=20 contained on the HEP hardware itself. Other amusing things about the=20 HEP is it had a lot of registers. It also had this stuff called =E2=80=9C= table=20 memory=E2=80=9D which essentially were read-only registers. You could but= a=20 variety of constants there (we had all the integers from 0-255 and then=20 powers of two after that). The rest of the memory had an extra bit=20 per 64-bit word called the =E2=80=9Cfull empty=E2=80=9D bit. While the th= ing was=20 capable of running the equivalent of 32 UNIX processes simultaneously,=20 it also had the ability within each of those to hardware schedule=20 threads. Many instructions had features that used the extra bit like=20 =E2=80=9CWAIT FULL, READ, SET EMPTY=E2=80=9D or =E2=80=9CWRITE, SET FULL=E2= =80=9D. The whole thing was built out of Motorola 10800 ECL. All hand=20 assembled. Quite impressive. After we got the system up, and Mike tried to port his ray tracing=20 software to it, we found the I/O system was beastly slow. The I/O=20 system was a cute device. It had a bunch traditional memory (no=20 full/empty bits) connected to the main memory via the switch but also to=20 32 individual UNIBUSes. The only problem was that in order to whack=20 the registers on the UNIBUS you had to do it through the =E2=80=9CLow Speed= =20 Bus.=E2=80=9D This was the performance bottleneck. The original desig= ner=20 of this thing, Burton Smith and I sat down at the Golden Corral=20 Steakhouse in Aberdeen and worked on a new plan. The key was to allow=20 the kernel tasks to talk directly to the UNIBUS registers via the=20 regular memory switch. Fortunately, we had an extra switch node in=20 spare parts. We did however need software and another PDP-11 to=20 control the thing. Fortunately, I had spares from my building of the=20 early internet router: BRL-GATEWAY. I also used the little OS on it=20 (LOS) to write the control software. In a couple of days, we had=20 rebuilt the I/O system out of essentially spare parts and it flew. Amusingly, this was the first of two UNIX ports I worked on that didn=E2=80= =99t=20 use the standard ISR thing that most of the kernels those days did. =20 After the device driver on the HEP had started the IO up, that thread=20 just ended. When the UNIBUS interrupt came in, a new thread was=20 created to service it. I later did a similar strategy with the=20 message passing coprocessor on the Multibus II. This was a fun waste of about a year. By the time we got this ready=20 for prime time, the Army had decided they didn=E2=80=99t have any supercomp= uters=20 (other than HEP) and immediately used defense priority to snag the next=20 Cray X/MP off the assembly line (which had been slated for Apple). =20 Mike got one run of his raytracer to make a movie: The artillery=20 shell=E2=80=99s view of collision with a tank. The HEP could generate the= =20 frames about 60:1 (took a minute to make one second of movie time)=20 faster than anything else we had in the day. Of course, it pales=20 compared to your modern video games. After that, the HEP was=20 dismantled (Denelcor had gone out of business) to make room for the=20 Cray. I recently just found pictures of us all sitting on the =E2=80=9Cse= ats=E2=80=9D=20 of the Cray and one of me peering out from the core of the machine. The Army went on for plans for multiple Cray 2 purchases. After a lot=20 of amusing =E2=80=9Csystems engineering=E2=80=9D work that originally slate= d for all of=20 them to go in Oak Ridge Tennessee, and then all of them to go at BRL,=20 they decided to spread them around the country (what I told them they=20 should do in the first place). My last months at BRL, I signed my=20 name to the $25 million dollar Cray 2 procurement, but it got delivered=20 after I left (I visited it a few years later). Somewhere I still have the name plates for the Denelcor HEP H1000. =20 They, in fact, were never actually installed on the machine,