I came to Microsoft ... to build the biggest computer you can imagine, by just using components you can find at Radio Shack.
There are two hours of video interview with Jim Gray online at Channel 9 that have captured Jim at his best (part1, part 2, via dbox). Reviewing the past and future of scalable distributed computing, operating systems and databases, Jim shines as the formidable story teller he truly is.
About ten years ago I hooked up with Jim in working on the Scalable Servers project. At that moment the debate was still raging what would be better, to scale up or to scale out. SGI and Sun where still heavily investing in building very advanced multi-processor boxes, but theses machines were expensive and tools for failure isolation in multi-processors were still minimal. Scale-out appeared the way to overcome these obstacles and we were advocates that the basis for this should be true commodity components. Together with Thorsten von Eicken (now chief architect at Citrix) I started working on the intra-node communication obstacles. At that time we believed that to make distributed systems work on clusters of scalable low-end components you needed to cut-away as much of the intra-node communication latency as possible. This meant removing the biggest latency introducer: the operating system. Big commercial clusters such as the IBM SP2 already had direct user-level communication, but in a fashion that didn't allow more than one application to use the interconnect directly. Our work resulted in the U-Net Architecture which allowed for delivery of data directly into application memory. It was published in the 1995 SOSP.
What set this work apart from earlier approaches was that it was available for standard workstations and operating systems and that it provided full isolation such that multiple applications could access the interconnect concurrently. At that time the approach was considered a major breakthrough to enable the scaling of commodity clusters. The U-Net approach as well as technologies such as VMMC by Kai Li at Princeton were the precursors to what later became the Virtual Interface Architecture standard. VIA has been largely abandoned as source of hardware design in favor of Infiniband which also centers around direct user-level access. In "The Evolution of the Virtual Interface Architecture" Thorsten and I reviewed the transition of the research prototypes into industry standard. The U-Net work was made very popular by Matt Welsh, who added dynamic memory management, ported it to Linux and added support for Fast-Ethernet (Matt's old u-net project pages).
Thorsten and I built the first prototype on the SunOS platform, but in 1995 Sun pulled the plug on the operating system in favor of Solaris. Access to the OS source code was necessary to understand the complex workings of device and user-level address mappings, and the new Solaris license was a nightmare for Universities. We didn't consider Linux as an option, because it was an old-fashioned monolithic operating system that didn't sport any of the advantages of the new operating systems world. E.g. the network buffer management was even worse than in SunOS. Microsoft saw the potential of working with Universities on these issues and produced a source code license that allowed faculty and students to work with the Windows OS source code, without signing their lives away. We were happy to work on Windows as it meant that our research could now potentially reach millions of real computer users.
Jim Gray, visionary as always, had this figured out long before anybody else and was actively promoting the use of Windows source by academics. Thorsten and I were guinea pigs as we showed up at Jim's office in downtown San Francisco to work on porting U-Net to Windows, as the first access to Windows source code was only on-site at Microsoft offices. The port took us 4 days and we returned homed with sufficient material to make U-Net work on the Windows platform. In those 4 days Jim made a deep impression on me with his insight into computing, industry and lives as a technologists. After that week I would return frequently to Jim for guidance in research and have never been disappointed. The video interview give a good sense of his breadth and depth.
The other passion of Jim we became familiar with that first week was sailing. Since that time I have made the after-work trip on Jim's boat to Sausalito for dinner and good stories several times. I like to believe that Jim's story telling talents are rooted in his sailors heart, and there is never a dull moment with him around.
Jim got recognized for his many contributions to modern computing with a Turing Award in 1998.
I have a new found respect for Microsoft. I usually think of them as a company primarily focused on aquiring existing technology for thier own use. Thier sponsorship of conferences and grants is well known, but have only seen a few papers from "Microsoft Research" make thier way to my reading lists.
Licencing is something that most people critisize MS for and see it as thier achilles heel. It is really refreshing to hear about a case where they were more open and cooperative with thier software source than a name-brand unix.
I also have a new found respect for Thorsten. I worked next door to him at ExpertCity^H^H^H Citrix and never knew that he had such an accomplished past in academia. Had I known this, I would have tried to learn a little more about thier middleware architecture and do some joint research with him and Klaus.Posted by: William Strathearn at April 20, 2005 12:01 PM