David P. Anderson


Education

1985PhDComputer ScienceUniversity of Wisconsin - Madison
1982MSComputer ScienceUniversity of Wisconsin - Madison
1979MAMathematicsUniversity of Wisconsin - Madison
1977BAMathematicsWesleyan University

Employment

October 2002 - present: Research Scientist, Space Sciences Lab, U.C. Berkeley

I direct BOINC (Berkeley Open Infrastruction for Network Computing), a research project that develops middleware for volunteer computing. BOINC is used by SETI@home, Climateprediction.net, Einstein@home, and a number of other scientific computing projects. I am Principal Investigator or co-PI on four National Science Foundation grants supporting BOINC.

1997 - present: Director, SETI@home, U.C. Berkeley

SETI@home is a research project that uses Internet-connected computers to analyze radio-telescope data in the search for extraterrestrial intelligence (SETI). Since its public launch in May 1999, over 3,000,000 people have contributed 2 million years of computer time, making SETI@home the largest computation ever performed.

As project director, I raised funds (about $2M thus far, from a variety of private and public sources), hired and managed a team of 6 programmers and system administrators, handled news media, and managed the web site. I was also the technical lead, designing and managing the implementation of the client-side and server-side software, the database, and the server hardware architecture.

2000 - 2002: Chief Technology Officer, United Devices

This company developed a platform for Internet-scale distributed computing and storage, and marketed this platform in a number of application areas such as Bioinformatics and Web load testing. As CTO, I was responsible for the platform architecture, including its API, its cross-platform client software, and its back-end server and database.

1995 - 1999: Chief Technology Officer, Tunes.com, Berkeley CA.

I architected and implemented a database-driven, Web-based system for personalized music discovery and marketing. This system involves a number of technology components:

  • A system for automated sampling of CDs and encoding into multiple compressed formats (Real Audio, PAC). This was used to produce a library of about one million audio samples.
  • A relational database of CD information (UPC/track/title/artist etc.) combining data from several commercial sources.
  • A CGI-based Web interface for browsing, listening to, and rating musical selections.
  • Algorithms for obtaining user "music taste profiles" on the basis of listening patterns and ratings, and for generating listening suggestions based on these profiles and expert editorial data.

1995 - present: Consultant

My consulting contracts have included:

  • For Virtual University International. Developed basic technology (Java/Javascript/SQL) for presenting personalized structured instructional material via the Web.
  • For Hotwired.com: prototyped a collaborative-filtering system for content personalization.
  • For Jump! Software Inc.: Developed a web site for sheet music sales, and an associated aggregation/shipping system, using Cold Fusion, Microsoft SQL Server, Microsoft Access and VB.
I also developed and operated rare.com, a Web-based system for rating-based recommendation of movies, TV, and other entertainment; and HORSE, a kiosk-based science museum exhibit that teaches the principles of radio SETI using interactive audio and animation.

1992 - 1995: Director of Software Architecture, Sonic Solutions, San Rafael CA.

I was the technical leader in developing SonicSystem, a distributed digital audio editing system based on FDDI, Macintosh, and proprietary DSP and I/O boards. I designed and implemented a high-performance filesystem, a custom transport protocol, and a system for reserving device bandwidth so that multiple users can share resources without performance conflicts.

SonicSystem's core technology was reused in MediaNet, a high-speed network file system for I/O-intensive Macintosh applications, able to deliver 4 Megabytes per second from a remote disk to an application. I designed and implemented the entire software data path (client cache and readahead mechanism, NuBus DMA system, Macintosh OS hooks).

I was responsible for the system-level software of SonicSystem and MediaNet. My role included cross-platform software design, software architecture for Sonic's next generation of audio and video products, and the design of software interfaces for OEM partners.

1985 - 1992: Assistant Professor, CS Division, EECS Department, University of California at Berkeley.

While at Berkeley I taught undergraduate courses in operating systems and introductory programming, and graduate courses in operating systems, distributed systems and networks, and multimedia systems. I advised eight Masters and two Ph.D theses.

I organized and led several research projects at UC Berkeley, including:

  • The ACME project produced 1) a network I/O server for digital audio/video on Sun workstations, 2) a distributed C++ toolkit for this server, and 3) teleconferencing and A/V editing applications. I did related projects involving resource reservation and scheduling, file systems, and basic OS mechanisms for digital audio/video.
  • The DASH project developed a new operating system kernel for the Sparc and Sequent Symmetry architectures. DASH pioneered new ideas in security, virtual memory, real-time communication, multiprocessor support, and object-oriented kernel design.
  • The AERO project developed a system for fault-tolerant parallel distributed programming on heterogeneous networks of UNIX workstations.
  • The FORMULA and MOOD projects developed concurrent real-time programming systems for algorithmic computer music, based on Forth and C++ respectively.

In 1986 and 1987 respectively I received an IBM Faculty Development grant and the NSF Presidential Young Investigator award.

Publications and Patents

I have authored or co-authored a number of papers in Computer Science, with 17 papers in refereed journals (including Communications of the ACM, ACM Transactions on Graphics, ACM Transactions on Computer Systems, IEEE Computer, and IEEE Transactions on Software Engineering), 28 conference papers, and 13 unpublished technical reports.

I am an inventor on two patents for technology related to MediaNet, several patents related to distributed computing, and a patent for an invention involving 3-D interactive television.

Professional Activities

Program committees:

  • 2008 International Symposium on Computer and Information Sciences (ISCIS2008)
  • 2008 DAPSYS
  • 2008/2007/2006/2005/2004 GP2PC Workshop (CCGrid conference);
  • 2008 workshop on Economic Models for Distributed Systems (Mardi Gras Conference);
  • 2008 Second Workshop on Desktop Grids and Volunteer Computing (IEEE IPDPS Conference);
  • 2008 workshop on Grid Computing (HICSS conference);
  • 2006 International Conference on eScience and the Grid;
  • 2005 International Conference on eScience and the Grid (co-chair),
  • 2003, 2004, 2005 International Workshop on Global and Peer-to-Peer Computing;
  • 2000 International Computer Music Conference
  • 1995, 1996, 1998: ACM Multimedia conference
Journal refereeing:
  • Journal of Grid Computing (Editorial board member)
  • ACM Computing Surveys
  • ACM Transactions on programming languages and systems
  • Communications of the ACM
  • ACM Transactions on Computer Systems,
  • ACM Transactions on Graphics, IEEE Computer,
  • IEEE Transactions on Parallel and Distributed Systems
  • IEEE Transactions on Software Engineering.
  • The Journal of Multimedia Systems and Applications (editorial board member from 1992-2003).

I have given numerous invited talks on my research, including (2008) UCB GIIF laboratory; (2007) Barcelona Biomedical Research Park, Leiden University, MSRI, eMentor IT Workshop (Oslo), University of Houston, panel at AAAS meeting in SF, workshop at IEEE IPDPS conference (keynote speaker), University of Extremadura (Merida), HispaLinux conference (Caceres); (2006) UCB Neurobiology Dept., Sony, Singapore University, Condor Week (Univ. of Wisconsin), (2005) MIT Internet Application Design workshop, UC Berkeley Computer Science Distinguished Lecture, Google, Amazon.com seminar series; (2004) Australian Centre for Advanced Computing and Communications (Sydney), CERN, University of Illinois, International Computer Science Institute, Internet2 meeting, Univ. of Hawaii; (2003) Residencia de Estudiantes, Madrid, University of Paris - Sud; (2002) IPDPS conference, keynote speaker. Pre-2003: talks at Apple, Bell Labs, Bellcore, DEC SRC, HP Labs, IBM Almaden, MIT Media Lab, Stanford, Sun, and Xerox PARC, Europen conference (keynote speaker).