Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Past Interns

Here are your mug shots... Thank you guys, we had a great time!!

Year 2012

Rehan

Rehan Ahmed created a stereo image rectification pipeline for use over the first direct communication link between FPGAs and GPGPUs over a PCIe bus. Rehan was a third year PhD student at the University of British Columbia, Canada.

Marshal

Marshal Barrett extended our work on depth-image processing, porting the Kinect image segmentation algorithm to an FPGA. Marshal was a first year Master student at the University of Washington.

Atabak

Atabak Mahram worked on new depth-sensing cameras and created the first skeletal tracking system that uses decision trees directly, without any preceeding image segmentation and player tagging phase. Atabak was a fourth year PhD student at Boston University.

Year 2011

Ji

Ji Sun came back to continue working on physical security of FPGA devices. He realized two new unconventional communication mechanisms. Ji was a third year PhD student at University of Alberta, Canada, and the first intern to be hired (by Microsoft) while still interning with us.

Jason Oberg

Jason Oberg worked on connecting a Kinect to an FPGA. He realized innovative circuits to process depth-sensing images. Jason was a second year PhD student at the University of California, San Diego.

Mehrdad Majzoobi

Mehrdad Majzoobi worked on debugging of FPGA circuits. He prototyped a system that automatically infers PSL specifications from a simulation trace, compiles them into Verilog checkers, modifies the original code to insert the new checkers, and synthesize the new code with as close a placement as possible to the original code (by parsing its netlist and adding LOCs). This work was an extension of the gNOSIS Project. Mehrdad was a fourth year PhD student at Rice University.

Louis Woods

Louis Woods worked on building a key-value storage for FPGAs. He wrote a SATA interface and so we learned all about the wonders of SATA SSDs. Louis was a second year PhD student at ETH Zürich.

Year 2010

Ashfaq Khan

Md. Ashfaquzzaman Khan worked on debugging of FPGA circuits. He created the gNOSIS tool to dynamically capture/restart the state of a circuit executing on an FPGA, using the ICAP port and Partial Reconfiguration. Ashfaq was a second year PhD student at Boston University.

Haris Javaid

Haris Javaid created a complete flow for automatically accelerating general-purpose programs on the eMIPS system. Haris was a first year PhD student at University of New south Wales, Australia.

Ji Sun

Ji Sun worked on physical security of FPGA devices. He realized three new attack vectors using in-device side-channel receivers that leverage speed modulation, timing modulation and pin hijacking. Ji was a second year PhD student at University of Alberta, Canada.

Year 2009

Dave Sheldon

David Sheldon created an optimal scheduler for hardware accelerators, using the NetBSD operating system running on the eMIPS processor. Dave was a fifth year PhD student at University of California, Riverside.

Zhimin Chen

Zhimin Chen created a dual-core version of eMIPS on the BEE3 and used it to achieve nice speed ups in Montgomery multiplication (2x) and the Floyd-Warshall shortest-path (3.7x) problem. Zhimin was a second year PhD student at Virginia Tech.

Ruirui Gu

Ruirui Gu worked on the M2V compiler, adding support and scheduling for multiple basic blocks and to prepare it for an official release. Ruirui was a fourth year PhD student at University of Maryland.

Zhanpeng Jin

Zhanpeng Jin added floating-point support to eMIPS, and demonstrated his customizable FP units by speeding up Linpak by 80x. Zhanpeng was a second year PhD student at University of Pittsburgh.

Ben Ma

Weiqin (Ben) Ma created an x86 model for the Giano simulator and booted WindowsCE on it. Testing was done (for the first time) by extracting the processor specifications directly from the Intel PDF files. Ben was a third year PhD student at Texas A&M University.

Wenchao Li

Wenchao Li worked on automatic extraction of specifications (in PSL) from simulation traces. He demonstrated his system to specify and debug hardware circuits, such as the eMIPS processor. Wenchao was a second year PhD student at UC Berkeley.

Rene Mueller

René Müller worked on speeding up network communication protocols, such as those used by SQL, using FPGAs. René was a third year PhD student at ETH Zurich, Switzerland.

Yonghyun Hwang

Yonghyun Hwang worked on improving the APIs for interfacing software and FPGAs, such as OpenFPGA. Yonghyun was a fourth year PhD student at UC Irvine.

Shaoshan Liu

Shaoshan Liu studied the power properties of FPGAs, such as energy costs and savings due to partial reconfiguration. He created a record-setting ICAP interface and was posterized twice at FPGA'10. Shaoshan was a fourth year PhD student at UC Irvine.

Gary Chow

Chun Tak (Gary) Chow worked on pairing-based cryptography using FPGAs and realized a specialized processor with nice speedups over both CPUs and GPUs. Gary was a second year PhD student at Imperial College, London.

Year 2008

Jeff Carver

Jeff Carver demonstrated dynamic bit-stream relocation for the eMIPS and MicroBlaze processors. Being the first twin-intern (or intern-with-a-twin :-) he doubled and created the first placer tool for bus-macros. Jeff was a first year PhD student at Utah State University.

Vikram Chandrasekhar

Vikram Chandrasekhar worked on the Giano simulator, adding tools for automatic detection of parallelism in applications. Vikram was a first year PhD student at Massachusetts Institute of Technology.

Gabe Knezek

Gabe Knezek battled the lawyers to make the first release of the P2V compiler, then worked on optimizing its area footprint. Oh, and he also helped Jeff in showing pretty pictures on a VGA monitor at the Faculty Summit. Gabe was a first year PhD student at Texas A&M University.

Abilash Sekar

Abilash Sekar added memory and interrupt support to the M2V compiler. Abilash was a first year PhD student at Georgia Institute of Technology.

Scott Sirowy

Scott Sirowy worked on explaining and quantifying the ginourmous speedups FPGAs can get you. Scott was a third year PhD student at University of California, Riverside.

Year 2007

Risto Serg

Risto Serg used futures to turn multithreaded programs into serial programs, to save memory. He created the smallest Web 2.0 server on an AVR Butterfly (an 8051-type 16-bit processor), the whole working system consisting of 2,636 bytes of code and 92 bytes of data. Risto was a fourth year PhD student at Tallinn University of Technology, Estonia.

Nishith Khantal

Nishith Khantal created a data management system based on multiple trust evidence sources, illustrating a new approach to online and embedded security. He was the first intern to join us from the India-MSR program. Nishith was a third year undergraduate at Indian Institute of Technology, Kanpur.

Sibin Mohan

Sibin Mohan created the first temporal analyzer for distributed embedded systems that uses a mix of static-dynamic flow analysis, achieving optimal thread linearization and tight worst-case execution time estimates... then rushed to India to get married. Congratulations Sibin! Sibin was a fifth year PhD student at North Carolina State University.

Hong Lu

Hong Lu wrote the P2V compiler, a tool that generates eMIPS extensions for monitoring PSL properties of software programs. This was the first time ever that online verification of (real-time) programs was performed with zero overhead. Hong was a fourth year PhD student at Texas A&M University.

Oscar Almeida

Oscar Almeida worked on integrating Robotics Studio with our EWS toolkit, applying the resulting system to an outpatient monitoring medical scenario. Oscar was a first year PhD student at Texas A&M University.

Philip Garcia

Philip Garcia designed a system of data-flow stream buffers for developing parallel, streaming applications as if they were straightforward serial programs. Phil was a second year PhD student at University of Wisconsin, Madison.

Bharat Sukhwani

Bharat Sukhwani worked on the I/O system of the eMIPS processor, demonstrating for the first time loading and unloading of on-chip peripheral devices at run-time, under software control. Bharat was a second year PhD student at Boston University.

Karl Meier

Karl Meier created M2V, a MIPS-to-Verilog compiler that translates blocks of MIPS machine code into hardware Extensions for the eMIPS dynamically extensible processor. Karl was a first year PhD student at University of Washington.

Giovanni Busonera

Giovanni Busonera created eBug, a debugging system for the eMIPS processor. eBug is the first dynamically loadable hardware module that fully supports the GDB debugger and can work in conjunction with P2V, making debugging of embedded software a breeze! Giovanni was a third year PhD student at University of Cagliari, Italy.

Year 2006

Ping Hang Cheung

Ping Hang Cheung worked on using PSL to specify properties for block-structured programming languages. Ping was a first year PhD student at Portland State University.

Jong Hee Kang

Jong Hee Kang worked on creating embedded web services in C#. He was the first intern to successfully defend his thesis during the internship. Yong was a fifth year PhD student at University of Washington.

Antti Kantee

Antti Kantee rewrote the routing code for Microsoft Invisible Computing. He was the first of our interns to successfully transfer his research to a product group during the intership. Antti was a second year PhD student at Helsinki University of Technology, Finland.

Richard Neil Pittman

Richard Neil Pittman created the first working eMIPS processor. He is the first of our interns to be hired by Microsoft Research. Neil was a third year PhD student at Texas A&M University.

Jürgo-Sören Preden

Jürgo-Sören Preden worked on creating adaptable distributed real-time systems. He was the first intern that had a conference paper accepted during his internship, and the first to get two papers out of it. Jürgo was a second year PhD student at Tallinn University of Technology, Estonia.

Year 2005

Nathaniel L. Lynch

Nathaniel L. Lynch worked on the design of eMIPS and the re-design of Giano. Nathan was a third year PhD student at Texas A&M University.

Year 2004

Behnam Neekzad

Behnam Neekzad helped create the Giano co-simulator and on porting software components to an FPGA, specifically an AES cypher and other simpler modules. He was the first of our interns to work on Reconfigurable Computing. Ben was a first year PhD student at University of Maryland.

Stefan Sigurdsson

Stefan Sigurdsson came back to work on linking real-time and non real-time systems together. Stebbi was a fourth year PhD student at University of Washington.

Year 2003

Paul Pham

Paul Pham came back to create a real-time C# interpreter and to finish the scheduler. Paul was a fourth year undergraduate at MIT.

Yong Xiong

Yong Xiong came back to design and prototype a security system for home consumer electronics that is easy to use. Yong was a fifth year PhD student at Texas A&M University.

Year 2002

Yong Xiong

Yong Xiong extended the SOAP support and network autoconfiguration in Microsoft Invisible Computing. Yong was a fourth year PhD student at Texas A&M University.

Amit Vyas

Amit Vyas worked on router-less networking and ported DSR to Microsoft Invisible Computing. Amit was a second year PhD student at Stanford University.

Year 2001

Jagadeeswaran Rajendiran

Jagadeeswaran Rajendiran wrote the first SOAP decoder for Microsoft Invisible Computing. Jags was a second year PhD student at Duke University.

Paul Pham

Paul Pham worked on the scheduler for Microsoft Invisible Computing and created a low-power radio link using a PIC and FM transceivers. He is the only undergrad ever to get invited to BillG's MSR intern party. Paul was a second year undergraduate at MIT.

Year 2000

Andrew MacBeth

Andrew MacBeth added support for wireless networking to Microsoft Invisible Computing. He was the first of our interns to be subsequently hired by Microsoft. Adam was a first year PhD student at University of Washington.

Stefan Sigurdsson

Stefan Sigurdsson wrote the infrastructure for protocol servers for Microsoft Invisible Computing. Stebbi was a first year PhD student at University of Washington.