David Patterson is retiring after 40 years as a professor within EECS at University of California, Berkeley. Dave has had an amazing career, and his retirement was acknowledged with a two-day event on campus. When I was getting my PhD, I worked on a couple of the projects he co-led, so I returned for the event. It was a great reunion with many people, including my own advisor (John Ousterhout, now at Stanford).
Dave has had a huge impact on the computer industry. He led or co-led the work on RISC, RAID, and the Network of Workstations project (which can be seen as a precursor to the cloud). Because I was not involved in RAID after leaving Berkeley, I never realized that EMC was the industry forerunner in bringing it from the Berkeley research project to the marketplace, but Dave gave us a shout-out amid a list of successes commercializing his work. Sun’s work on RISC is another example. As the president of ACM several years ago, he had an enormous impact on the field, including pushing for more government research funding. He and Armando Fox developed a course on software engineering for the web, which became so popular that it took off as a MOOC.
On the first day, Dave gave a special talk entitled “My Last Lecture: How to Be a Bad Professor,” which was a self-referential nod to several talks he’d given over the years (how to give a bad talk, how to have a bad research career, and so on). . It was fantastic. He covered topics such as the importance of building teams, the huge benefit of the semiannual retreats with industry sponsors (a tradition that started with the first of the projects I was on and has now spread to several other universities), the benefits of excellent teaching and community service (“publish or perish” really is just a saying, not a mantra), and others.
It was a fantastic cross-project reunion of most of the people who’d worked with Dave in the past 40 years. For me, the other highlight of the weekend was the symposium the second day. There was a series of half-hour talks by former students and colleagues of Dave on a wide variety of topics. Those talks are online and are well worth the time to view them. The YouTube clip (9hours) is in the middle of the symposium’s homepage. As of this writing, the video has 4m45s of noise before it starts, so I’ll save you the trouble of searching for the actual beginning. The first real talk, by Garth Gibson, will be particularly interesting to EMC employees and customers. It starts at about the 7:20 mark.
This symposium was really well done. The quality of the speakers was uniformly outstanding and the topics were virtually all presented quite clearly. In addition to the technical content, a number of speakers discussed lessons they learned from Dave. One example: Amin Vahdat talking about someone who was great technically but had problems writing email that was clear, uninflammatory, etc. He told that person, “write every email like you’re sending it to Dave Patterson”. Problem solved.
Anyway, this was hands-down the best conference I’ve ever attended, even better than typical SOSP/OSDI conferences, which do set a high bar. It kept the audience’s attention throughout, a difficult task. And it was quite broad in the topics discussed, ensuring that everyone would learn something new!
Here are some notes about a few of the talks.
The Future of Storage – Garth Gibson (CMU)
This of course is near and dear to me. Garth spoke of cost trends (DRAM/HDD/NAND), technologies such as shingled disks and heat-assisted recording, etc. He basically made the point that we have log-structured file systems everywhere — both SSDs and SMRs. He spoke about some far-out technologies like graphene and DNA-based storage as well.
Building Scientific Apps — in vellum – Neel Smith (Holy Cross)
This was my favorite talk of the day, actually, because it was so far afield from the usual, yet entirely understandable. This professor spoke of using digital technology to aid in the understanding of ancient texts. He gave examples of printed tables that are essentially like modern calculators. My son the classics fan (and current Latin student) will love this talk.
Future of Networks – Amin Vahdat (Google)
Amin spoke about what it’s like to scale datacenter networks to handle the likes of Google, and technologies like software-defined networking. The huge demands on the network within a datacenter is phenomenal. And the free lunch in hardware improvements is over: the I/O latency gap remains. Networking has to blur the lines between individual servers.
The Case for Open Instruction Sets – Krste Asanovic (Berkeley)
This talk was about RISC-V, a new “open” architecture. The idea is to provide a single ISA that everyone can use freely, without competitive claims as we’ve seen in the past for things like ARM or x86.
Remember Memory? – Mark Hill (Univ. of Wisconsin)
With huge memories, there are often cases where paging is no longer useful. And TLBs have not scaled with the size of memory. The architecture folks at Wisconsin have devised a new way to have direct-mapped regions to bypass the TLB. Mark also spoke about the impact of GPUs and of nonvolatile memory.
The Machine – Kim Keeton (HP)
Most people are probably already familiar with The Machine at HP Labs. Kim gave an overview and update and spoke of some of the more recent developments, such as how to emulate it before it’s available (to develop the system software in parallel with hardware).
From Smart Buildings to Smart Cities – Randy Katz (Berkeley)
Randy spoke about such things as energy consumption, how to manage different subsystems within a building (e.g., HVAC or lighting), etc. How do you build an operating system for a building? He also touched on expanding this past buildings, for instance smart cities with traffic optimization.
The Future of Big Data – Matei Zaharia (MIT)
Berkeley has had a huge impact in the big data area, with Spark and more. This was a tutorial about the technologies. Matei spoke about how the Berkeley view of Cloud Computing has evolved due to hardware trends. We used to be spoiled by the rapid CPU improvements, but now processing is proving to be the bottleneck. Also, he discussed the evolution of Spark as non-programmers use it more. Originally almost everyone used the Scala language with Spark, but now Python is more popular.
The Future of Intelligent Systems – Sarah Bird (Microsoft)
This was about machine learning, for instance for knowing which links Microsoft should present to a user.
The Future of the Cloud – Eric Brewer (Berkeley, Google)
We all have a supercomputer in our pocket (smartphone), and a super-supercomputer in the cloud. And the cloud is changing from a sea of persistent services (eg. Inktomi) to a sea of virtual machines (EC2) to a future cloud of a sea of persistent services, where VMs fade into the background. He spoke about Kubernetes as the infrastructure. Then he moved to applications of the cloud given the super-supercomputing available: pervasive data collection and analysis. Lots of cameras, etc., and a risk to privacy from inferences people can make with all that data.
The Data Science Revolution – Michael Jordan (Berkeley)
This was heavily theoretical … he even had a warning at one point with a danger sign about math ahead. I’m afraid I can’t say much about it, but it’s available in the video for intrepid explorers.
The Future of Jobs and MOOCs – Armando Fox (Berkeley)
This was a fabulous talk. Armando spoke about how he and Dave Patterson started a new software engineering course, initially targeted toward web applications, and as it scaled up, they made it available on Coursera. Their experiences using it, the feedback they got from it, etc. were all really interesting and “feel-good”. For instance, they shared a testimonial from someone in India who said he wasn’t doing great in school, but took this MOOC and leveraged it to get hired by Microsoft.
Creating Great Programmers with a Software Design Studio – John Ousterhout (Stanford)
John said that there are places like Google that talk about the superstar programmers who are 10X more productive than the typical one … and how does one train a new student to be a good programmer? He developed a course in which pairs of students develop code, go through code reviews with each other and him, adopt other people’s code to add new features, and so on. The course is only in its 2nd year so it’s hard to judge its success.
Large symposia to celebrate the retirements (or big birthdays) of luminaries are becoming increasingly common. This is the first one of these I have attended, but I fervently hope it will be a regular occasion (Ed. Note: hopefully more for birthdays than retirements). It is not only a great excuse to network, but it’s extremely informative. This one set a very high bar for any future events!
–Fred Douglis @FredDouglis