Here are your mug shots... Thank you guys, we had a great time!!
Istvan Zsolt improved the indexing performance of the Cipherbase secure database prototype by adding native tree building, and tree traversal capabilities to the FPGA trusted compute module. Istvan was a first year PhD student at ETH Zurich, Switzerland.
Azad Fakhari expanded the string processing capabilities of the FPGA-based trusted compute module for the Cipherbase secure database prototype. Azad was a third year PhD student at University of Arkansas.
Rehan Ahmed came back to work on further FPGA image processing projects, esp. real-time hierarchical image filtering. Rehan was a fourth year PhD student at the University of British Columbia, Canada.
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 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 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.
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 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 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 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.
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 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 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.
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 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 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 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.
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 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.
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.
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.
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 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 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 added memory and interrupt support to the M2V compiler. Abilash was a first year PhD student at Georgia Institute of Technology.
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.
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 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 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 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 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 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 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 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 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.
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 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 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 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 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.
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.
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 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.
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 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.
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 worked on router-less networking and ported DSR to Microsoft Invisible Computing. Amit was a second year PhD student at Stanford University.
Jagadeeswaran Rajendiran wrote the first SOAP decoder for Microsoft Invisible Computing. Jags was a second year PhD student at Duke University.
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.
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 wrote the infrastructure for protocol servers for Microsoft Invisible Computing. Stebbi was a first year PhD student at University of Washington.