During my academic and industrial career I have worked on research problems as diverse as the theory of concurrent and distributed systems, the design and implementation of a commercially successful VLIW processor, and the creation of an effective internet measurement system. Broadly, my research has always focused upon the design and implementation of complex digital systems -- I am interested both in the theoretical foundations of correct design and in building practical systems. I have two currently funded research projects -- one to develop secure processor emulation platforms for digital preservation, an area I have pursued for the past decade, and the other a recent project to develop novel sensor tags for monitoring the activity and location of small songbirds.
Our NSF-funded songbird project, Novel Ultralight Sensors for Avian Migration and Movement Studies, is an interdisciplinary project at the intersection of biology and computer engineering, in which we are developing sensor payloads below the weight and energy budgets of most low-energy devices -- 1g and ~ 1uW, respectively -- that must survive challenging environments and collect useful data over many months. The development effort of this project includes active collaboration between biologists and computer scientists to design and field-test devices that will ultimately meet the needs of biologists.
My other active NSF funded project, Sustainable Emulation for Long-Term Preservation of Born-Digital Materials, is the latest extension of a decade-long interest in preservation. The goal of the current project is to enable archives and libraries (institutions) to securely deliver born-digital materials, including those requiring antiquated software, to networked patrons.
This project is the latest push in a decade-long research effort on digital preservation. From its onset, my work in digital preservation has supported undergraduate researchers. Previously we developed an online digital archive of thousands of CDROMs published by the United States Government Printing Office (GPO) Virtual Disk Library. We also had a previous NSF grant to systematically analyze the requirements for emulation platforms and to develop the technology necessary to customize emulators on-the-fly Assisted Emulation.
My other research falls into two distinct categories -- theoretical work in the design and validation of concurrent protocols and applied work on system implementation. While at Cornell my theoretical work included self-stabilizing systems, cache consistency protocols, and verified hardware compilation for concurrent languages. The work on self-stabilizing systems and cache consistency (lazy caching) has been widely cited and the latter led to a special double issue of the journal Distributed Computing that included papers by Turing Award winners Lamport and Pneuli.
My work on cross-clock domain protocols has demonstrated that it is possible to quickly verify real-time protocols using an off-the-shelf model checker (SAL) that uses satisfiability-modulo-theories (SMT). Previous efforts utilizing conventional theorem provers required significant human (months vs days) and computer resources (hours vs seconds) than our approach.
Prior to my return to academia in 2003, I spent seven years in industry where I co-led the HP side of the Lx embedded VLIW microprocessor and its software system. This was an HP Laboratories/ST Microelectronics partnership and was the basis for the the ST210, ST220, ST230, and ST231 processors. These processors are embedded in many of ST's consumer electronics chips often with multiple processor instances. For example, there are three of these processors in each STM8000 PDF DVD recorder chip. The Lx architecture is also used in digital video recorder chips ( stx5524, stx5525, set top box decoders (sti5300, sti5301), and in later series of set top box chips as the st231. It's difficult to be sure how many devices use this processor -- for roughly a decade ST had at least 1/3 of the set top box market and they claim to have shipped 100 million in India alone Press Release.
I also worked as a software architect for several networking startups, most recently as chief architect of Sockeye Networks. At Sockeye Networks I developed a system for Internet address clustering to support intelligent route optimization. This system allowed Sockeye Networks to save millions of dollars by replacing data purchased by other companies.