home · mobile · calendar · colloquia · 2010-2011 · 

Colloquium - Bachrach

Bridging the Hardware/Software Divide
University of California, Berkeley

We are entering the beginning of a parallel programming crisis with no shortage of processors but no obvious efficient, simple and intuitive way to program them. In short, we need to figure out how to best program and design parallel and distributed computers. Against this backdrop, one thing that is clear is that software programming and hardware design have a lot to learn from each other. For example, software needs to be parallel by default and hardware needs to be abstract by design. Since 2004, I have built a number of hardware/software systems that exhibit some of the best of both worlds qualities. In this talk I will touch upon three of these systems in order of increasing complexity: Gooze, a streaming multimedia scripting language, Proto, a language for amorphous computing, and Snap, a language for programming asynchronous logic automata (ALA). The scope and details differ but the model for each is wiring together and producing hardware structures using procedural parameterization, and the goal for each is to increase the abstraction of design without greatly sacrificing the efficiency of the runtime. My talk is based on fruitful collaborations with Jacob Beal on Proto, Scott Greenwald on Snap, and the MIT Center for Bits and Atoms on ALA.

Jonathan Bachrach is a research scientist at UC Berkeley and principle at Other Lab where he researches spatial, parallel and unconventional programming languages, computing and robotics. Before UC Berkeley and Other Lab, he was a research scientist at MIT for 8 years, held postdocs at Stanford and ICSI, and was a researcher at IRCAM in Paris, developing new musical platforms. He studied cognitive science, computer science, and visual arts, receiving a BS degree from the University of California at San Diego and MS and PhD degrees from the University of Massachusetts at Amherst.

Hosted by Nikolaus Correll.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:13)