Embedded and Reconfigurable Systems Research at DemoFest'09

The Embedded and Reconfigurable Systems Group at Microsoft Research has been engaged in joint academic collaborations spanning both teaching and research activities. The results of these collaborations are showcased annually at the Faculty Summit at Microsoft headquarters in Redmond, WA, during the DemoFest event. This is also a good opportunity to review some of the other research projects that the group is engaged in, with special consideration to the research performed as part of the graduate internships. This report presents the demonstrations that took place during the 2009 DemoFest. We presented two undergraduate student projects from the Real Time Distributed System group at Texas A&M. One is a touch screen prototype that uses light diffraction rather than pressure-sensing to realize a multi-touch 2D input device. The second is a LED-input based dance pad that overcomes the wear and tear problems of traditional dance pads by using light sensing, and connecting LEDs as input rather than output devices. Members of the ERSG group presented a number of research projects and demos. A set of APIs simplifies the communication between PCs and FPGA boards and when using Gigabit Ethernet achieves full-bandwidth speed. FPGAs are also used to accelerate the processing of networking protocols in a database system, with automatic generation of the circuits directly from the protocol specification. A new CPU model for the Giano full-system simulator supports the x86 ISA, and additionally realizes mixed concrete and symbolic execution of binary codes to detect data races in multi-threaded programs. A novel system for mining specifications deduces timing constraints in timed traces for digital circuits, embedded software, and network protocols. The system accurately pinpoints the source of errors in a faulty eMIPS micro-processor design. IEEE compliant Floating-Point execution units are fully optimized on a per-application basis and dynamically un/loaded in the reconfigurable logic portion of the microprocessor. The M2V compiler can now handle multi-basic blocks of MIPS binary code to automatically generate application accelerator circuits. A dual-core version of the eMIPS system demonstrated near-perfect speedup on the Montgomery modulo multiplication of large integers. The NetBSD Operating System runs in multi-user mode on the eMIPS system on two FPGA platforms. It uses a new, online scheduler to allocate the available accelerators slots to competing software applications.

[1]  Karl S. Hemmert,et al.  Architectural Modifications to Enhance the Floating-Point Performance of FPGAs , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[2]  Peter M. Athanas,et al.  Quantitative analysis of floating point arithmetic on FPGA based custom computing machines , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[3]  Peter-Michael Seidel,et al.  Design of an on-line IEEE floating-point addition unit for FPGAs , 2004, 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[4]  Sri Parameswaran,et al.  Flexible multi-mode embedded floating-point unit for field programmable gate arrays , 2009, FPGA '09.

[5]  Keith D. Underwood,et al.  FPGAs vs. CPUs: trends in peak floating-point performance , 2004, FPGA '04.

[6]  Wayne Luk,et al.  Floating-Point FPGA: Architecture and Modeling , 2009, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[7]  Kingshuk Karuri,et al.  Design and Implementation of a Modular and Portable IEEE 754 Compliant Floating-Point Unit , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[8]  Neil Pittman,et al.  eMIPS, A Dynamically Extensible Processor , 2006 .

[9]  Adnan Kavak,et al.  Implementation of floating point arithmetics using an FPGA , 2007 .

[10]  Milos D. Ercegovac,et al.  Digital Arithmetic , 2003, Wiley Encyclopedia of Computer Science and Engineering.

[11]  Michael J. Flynn,et al.  Advanced Computer Arithmetic Design , 2001 .

[12]  Daniel Geist,et al.  AVPGEN-A test generator for architecture verification , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[13]  Michael L. Overton,et al.  Numerical Computing with IEEE Floating Point Arithmetic , 2001 .

[14]  Yossi Lichtenstein,et al.  Industrial experience with test generation languages gar processor verification , 2004, Proceedings. 41st Design Automation Conference, 2004..

[15]  Israel Koren Computer arithmetic algorithms , 1993 .

[16]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[17]  D. Liu,et al.  High Performance, Low Latency FPGA based Floating Point Adder and Multiplier Units in a Virtex 4 , 2006, 2006 NORCHIP.