Chuck Thacker died yesterday, and the world is poorer for it.
Chuck won both the Draper prize and the Turing award. He’s been described as “an engineer’s engineer”, epitomizing Antoine de Saint-Exupery’s remark that “Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away.” He established a track record of simple, beautiful, and economical designs that is exceedingly rare.
Over the last day I’ve been struggling with how to explain Chuck to non hardware engineers. He could achieve amazing results with fewer components than anyone else and yet after the fact, mere mortals could understand what he had done. But he also understood the physics and technologies very well, and knew just where to apply the unusual part or custom design to make the entire project coalesce into a coherent whole. If you are a software developer, think of Chuck as someone like Niklaus Wirth who invented Pascal. If you are an aviation buff, think of Chuck as someone like Kelly Johnson who designed the SR-71. Chuck really was at that level.
I had the privilege to work directly with Chuck on three different computer system designs. I was a coauthor on several papers with Chuck and coinventor on a networking patent, so I suppose my Thacker number is 1.
I first met Chuck Thacker when I was a summer intern at Xerox PARC in 1977. We both joined Digital Equipment’s Systems Research Center, working for Bob Taylor, in 1984. At SRC, Chuck led the design for the Firefly multiprocessor workstation. I wrote the console software for the 68010 version, and designed the single and dual microvax CPU modules. I wanted to add sound I/O to the Firefly and Chuck helped me figure out how to do it by adding only three chips to the design for the display controller.
Later at SRC Chuck launched the idea of the “Nameless Thing” which was to be a liquid immersion cooled computer built around an ECL gate array running at 200 MHz. I worked on the first level caches, to be built out of 1.2 nanosecond Gallium Arsenide static rams. We had to rewrite the CAD tools to get sensible board layouts that could run at those speeds.
NT was never built because it was overtaken by the Digital Semiconductor Groups’ design of the first Alpha processor. Chuck led a team of Digital Research folks to build development systems for the Alpha chip. The effort was credited with advancing Alpha’s time to market by about a year. At the time, Digital had a standard design for multiprocessor systems based on the “BI” bus. The specification ran to over 300 pages. Chuck was incredulous, and worked out a design for the Alpha Development Unit multiprocessor bus that was 19 pages long. The Alpha EV-3 and EV-4 chips were very unusual in that they could be configured for either TTL signaling on the pins, or ECL signaling. The ADU became an unrepentant ECL design. Strict adherence to ECL transmission line signaling and a complete disregard for power consumption allowed for exceeding fast yet low noise signaling. Chuck designed the bus and the memory system. If I remember correctly, he commissioned Gigabit Logic to build custom address line drivers so that the memory would meet timing. Dave Conroy designed the CPU module, and I designed the I/O module. I recall that SRC built the chassis and ordered cables for the 400 amps of -4.5 volts from a local welding shop. They asked “what kind of welder needs 18 inch cables?”
I learned a tremendous amount from Chuck’s economy of design and from his ability to make hardware vs software tradeoffs to achieve simplicity. I also learned that it was completely allowed to rewrite all the software tools to make them do what you want.
Chuck was a “flat rock engineer”, in his own words. The reaction of such a person to a new project is to first rub two rocks together to make a flat working surface. He was a lifelong opponent of complexity, not only in hardware, but in software as well, remarking that unnecessarily complicated software was apt to collapse in a rubble of bits – a phrase I adopted as the title of this blog.
Chuck Thacker was unique, and I deeply mourn his passing. Evidently he didn’t wish a memorial service, but I think the duty falls on all of us to edge our designs a little closer to simple, elegant, straightforward, and beautiful.