Jack Dennis, architect of the computer that never arrived

He lost the hardware and won the argument. He died on March 14th, aged 94.

// Share
Jack Dennis, architect of the computer that never arrived

The tape was punched paper, and in 1954 it went into the machine the way food goes into a mouth: at someone else's pace, in someone else's order. Jack Dennis had prepared his programs in assembly language on a Flexowriter, and then he stood aside and watched the lights blink while an operator fed the tapes in. Standing aside was what one did. The room of vacuum tubes at MIT had been arranged by men who thought of themselves as hardware men; the program on the tape had been written by men who thought of themselves as software men; and between the two lay a gap everybody had agreed to live with. He spent the next sixty years declining to.

The gap looked, to him, like a failure of nerve. A program is written as a sequence — step one, step two, step three — because John von Neumann's design fetches one instruction at a time from one memory and insists on a line. But most of those steps have nothing to do with each other. What actually constrains a computation is data: an operation can fire the instant its inputs arrive, and the rest is bookkeeping the programmer performs on the machine's behalf. Build the hardware to honor the dependencies rather than the line, and the parallelism is simply there, in the open, requiring nobody to go looking for it. The alternative was to keep the pretense and spend fifty years building elaborate machinery to undo it, which is what the industry did.

He came by the taste for visible structure honestly. He was the second child of an engineer and a textile designer, and the household amused itself by rewriting Gilbert and Sullivan lyrics, which is an engineering problem with a tune attached. As a teenager in Connecticut he played piano with the Norwalk Symphony and built a canoe at home with his father. At MIT, where he took his bachelor's in 1953, his master's in 1954 and his doctorate in 1958, he joined the Tech Model Railroad Club and the MIT Symphony Orchestra, where he met his first wife. A canoe, a fugue, a layout of track, a circuit: things whose shape you could see, and whose shape was the point.

The work that made his name early was the work he cared about least. As a collaborator on Project MAC and Multics — the first serious attempts to let many people use one computer at once — he helped specify the segment addressing and paging mechanisms that went into General Electric's Model 645. The scheme was elegant, it worked, and his contributions to Multics are why he was elected a fellow of the IEEE. It was also, from where he sat, a consolation prize. Time-sharing made one machine behave as though it were many. He wanted a machine that was actually many, and honest about it.

So he formed the Computation Structures Group inside what became MIT's computer science laboratory, and gave it a mandate he was still explaining half a century later. He had found himself dismayed, he wrote, that people would consider themselves hardware or software experts while paying little heed to how joint advances in both might revolutionize the practice. It was a false distinction. It was a comfortable one, which is why it survived, and it was holding everything back.

The dataflow papers followed — a procedure language in 1974, then the architectures, then the students. What Gerald Sussman, a colleague, later put his finger on was that the whole enterprise had a hidden second life: Dennis's dataflow architecture implied single-assignment programs, which is to say pure functional ones, which coupled the mathematical virtue of never changing a value to the practical virtue of using parallel hardware well. He had also pioneered self-timed circuits, in which a component signals its own readiness rather than waiting for a clock to tell it. He was, in every register available to him, arguing against the tyranny of the line.

The machines lost, and not for stupid reasons. Dennis's design was static — one token to an arc, the graph laid out in advance — which was clean and which struggled with something as ordinary as a function calling itself. Arvind, his student, solved that by tagging each value with a marker naming the invocation it belonged to, and the solution cost what solutions cost: the hardware now had to match tags against one another, in an associative memory, at speed, before it could do any arithmetic at all. Meanwhile the von Neumann machine kept getting cheaper, and its compilers grew clever enough to find the parallelism after the fact and hide the seams. By the early 1990s the field had moved on.

He was, throughout, teaching. He built six subjects for the department — theoretical models for computation, computation structures, the semantics of parallel computation, others — and several are still taught, in updated form, today. This was not a consolation prize. He liked to repeat a friend's line that a scholar is just a book's way of making another book, and he said it with the satisfaction of a man who had worked out a mechanism. Machines were scrapped. Papers went unread. Ideas survived in people, who taught them to other people, and that was the only architecture that had ever reliably worked. He left the classroom in 1987 and went on consulting on parallel hardware for Boeing, for NASA, for a Swedish firm in Gothenburg, for anyone still interested.

What survived was not the machine. It was the graph. Every modern machine-learning framework represents a computation the way he insisted computations really were — as a mesh of operations wired by their data dependencies, each node firing only when all of its inputs are ready and not before. Google named its framework TensorFlow, which is what a dataflow graph is called when the values moving along the arcs are tensors. Even the accelerator companies now selling chips they describe as dataflow machines have kept his graph and declined his hardware, resolving the order in advance because determinism is what sells. His idea won the argument. His machine was not invited.

He was not there to enjoy the ambiguity. Arvind, who went on to run computer science at MIT and to carry dataflow further than Dennis had, died in 2024 at 77. Guang Gao, another student, later a professor at the University of Delaware, died in 2021. They were the two who would have known what the vindication was worth and how much of it was real, and they went first. Dennis and Gao had been writing a book about dataflow architecture for MIT Press.

He kept singing — tenor, Chorus Pro Musica, once at Tanglewood — and he played the piano at the wedding of Gao's son. He is survived by his wife, Therese Smith, and by three children. The book is unfinished. It sits somewhere in Cambridge waiting for someone to be ready to take it, the way the tape once waited on the table beside the Flexowriter while the lights blinked and a young man stood aside, watching, and thinking that this was no way to run a machine.

// The Daily

Get Vector in your inbox.

A free morning briefing on the AI revolution. Weekdays at 6am CT.