||The Alto Architecture
Forty years ago, Butler Lampson wrote a short memo entitled “Why Alto?”, which described the “personal computer” that had been designed by myself and others in the Computer Science Laboratory at Xerox PARC, and how it could be used as the basis for a number of CSL projects.
The Alto was subsequently built and deployed; it represented a significant departure from the time-sharing systems that were in use at the time. It and its descendants served as the computing base for much of PARC during the next decade.
In this talk, I will describe the Alto, and discuss some of the things that it enabled.
||Snobol through Bravo
The talk will be about how I met Butler in 1968 through Snobol, and our work together since then with special attention of the key Bravo ideas and how they survived since.
||The Invention of Ethernet at Xerox Parc 40 Years ago
After I built hardware to put MIT’s PDP-6/10 on the Arpanet in 1970, and after I built hardware to put Xerox Parc’s PDP-10 Tenex clone on the Arpanet during 1972, Butler suggested that Charles hand his local networking project (SIGNET) over to me so Charles could work on Bravo, which eventually became Microsoft Office, but I digress. Butler’s goal was to bring the Arpanet (Internet) into our buildings to connect to Alto PCs, one on every desk, if you can believe it, one on every desk. I bought a mile of coaxial cable and confirmed square waves could get through it, albeit somewhat rounded. Dave noticed how bad I was at stripping coax insulation and partnered up with me on what was called Ethernet on May 22, 1973 — 40 years ago. David suggested we tap the coax to keep the network up while connecting new Altos. While building Alto, Chuck, who did not like me, grew impatient with Ethernet’s progress, so he proposed X-Net, a word-parallel kludge, that Bob made him stop doing. Dave and I wire-wrapped a card that fit into an Alto’s option slot and connected it up a cable to a transceiver and coax tap in the ceiling — the ether. A consultant named Tat developed the transceiver. We wrote Alto micro-code and then protocol software for file transfer and then a LAN Telnet and then an operating system for an Ethernet-attached laser printer called EARS, with the E for Ethernet and the A for Alto. Ethernet was an option for a while, but then, as Dave liked to say, Ethernet was not an option — everybody wanted to print on EARS. So we filled all of Xerox’s Altos around the world with Ethernet and built a Xerox internet with the Parc Universal Packet (PUP). What have I left out? Today, way over a billion new Ethernet ports are shipped annually, if you count WiFi, which I do.
||Butler does printing
At Xerox PARC, we worked for a company that made money by making marks on paper. At the time the Computer Science Lab started, others in Xerox were designing laser scanning systems to expose photoreceptors in xerographic printers, notably Gary Starkweather. Butler took an interest both in generating the digital “video” stream required to drive scanners on fast printers, and in coaxing Xerox into the computer printing business.Butler’s knack for finding a key insight and then inspiring his merry band to work out the details turned out to be the highlight of my time at PARC. I remember the meeting where Butler, slightly bored by the discussion, started looking far off and doodling on a piece of paper, after which he ventured an idea that would let the stately Alto, with a total of 20 Mb/s of memory bandwidth, drive a page-a-second printer with a video signal at 13 Mb/s. This wonderful challenge, involving hardware, microcode, quasi-real-time software, and network server code, led to a research prototype, the “Dover” networked computer printer of which several dozen
were built and put into service.
||“I’ve got a plane to catch”
This talk will be about how “things happened when Butler was around”, with special focus on what it was like to do parallel and allied research in a world with Butler as a friend, colleague, inspiration, and general force of nature.
||Reflections on SDSI
This talk reflects on the development of and lessons learned from a “Simple Distributed Security Infrastructure” (SDSI) by Lampson and Rivest in the mid 90s.
||Authentication in distributed systems: Theory and actual practice
Butler Lampson introduced and developed central concepts in computer security. He worked, in particular, on models and mechanisms for authentication and authorization in distributed systems. He also emphasized the importance of auditing, the third component of the gold standard for security. This talk reviews research on the theory and practice of authentication, and discusses its correspondence to actual practice, relying on an audit of a large collection of public-key certificates. (What could possibly go wrong?)The talk is based on early work with Burrows, Lampson, Plotkin, and Wobber, and on recent work with Birrell, Delignat-Lavaud, Mironov, Wobber, and Xie.
||Differential Privacy: Dreams and Nightmares
||The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors
What fundamental opportunities for scalability are latent in interfaces, such as system call APIs? Can scalability opportunities be identified even before any implementation exists, simply by considering interface specifications? To answer these questions, this talk introduces the following rule: “Whenever interface operations commute, they can be implemented in a way that scales.” This rule aids developers in building more scalable software starting from interface design and carrying on through implementation, testing, and evaluation. We demonstrate the value of the rule in the context of Linux and sv6, a new scalable operating system.
Joint work with Austin T. Clements, M. Frans Kaashoek, Robert T. Morris (MIT), and Eddie Kohler (Harvard).
||A Colorful Approach to Programming by Example
I’ll describe recent work, joint with you-know-whom, addressing the old dream of Programming by Example (PBE). The goal of PBE is to perform a repetitive task, such as reformatting a bibliography, through representative examples (thus avoiding the arcane syntax of programming languages). Before creating our PBE text-processing system, we mined real-world text-processing tasks found on help forums and found a challenge in representation: there was often latent hierarchical structure that was apparent to humans but difficult to reliably infer. In our system, users create and manipulate nested colored blocks by example, thus providing a means to expose this important hierarchical structure in the text. We also use machine learning to speed up the difficult search problem faced by such PBE systems.Joint work with Butler Lampson, Aditya Menon, Kuat Yessenov, Shubham Tulsiani, Sumit Gulwani, Rob Miller, and Omer Tamuz.
||Thank You, Butler
A personal account of more than 35 years of aid and amusement.