Google Research

Satnam Singh


My research interests include finding novel ways to program and use reconfigurable chips called FPGAs and in parallel functional programming. I completed my PhD at the University of Glasgow in 1991 where I devised a new way to program and analyze digital circuits described in a special functional programming language.

I then went on to be an academic at the same university and lead several research projects that explored novel ways to exploit FPGA technology for applications like software radio, image processing and high resolution digital printing, and graphics.

In 1998 I moved to San Jose California to join Xilinx's research lab where I developed a language called Lava in conjunction with Chalmers University which allows circuits to be laid out nicely on chips to give high performance and better utilization of silicon resources.

In 2004 I joined Microsoft in Redmond Washington where I worked on a variety of techniques for producing concurrent and parallel programs and in particular explored join patterns and software transactional memory. In 2006 I moved to Microsoft's research laboratory in Cambridge where I worked on reconfigurable computing and parallel functional programming.

In January 2012 I joined Google in Mountain View.

Learn more about how we do research

We maintain a portfolio of research projects, providing individuals and teams the freedom to emphasize specific types of work