1. What is the problem being solved?

  • CPU’s not efficient (in terms of power or cost) for some apps
  • What do you need to do to add reconfigurable FPGA’s to a datacenter
  • Management needs to simple
  • FPGA’s need to be reliable.
  • Like to add a lot of ASIC’s, but don’t have the area

• Datacenter performance improvements have slowed largely due to power o e.g. internet getting larger, users want quick search results, etc. • Asic’s could solve the problem, but developers aren’t sure what asic’s they will need in the future, which could cause servers to have to be replaced more frequently • Asic’s also would create a heterogeneous design which would be more costly than a homogeneous design that FPGA’s could provide. 2. Who are the intended users (and readers)?

  • Bing

• Datacenter operators

• Users of internet services like search that run in these datacenter

3. What is unique about the suggested solution?

• Single FPGA per server connected with lightweight network

• Health Monitor to detect failures in FPGAs, DRAM, network links

• Mapping Manager to (re)configure FPGAs

• Custom Free-Form Expressions soft processor core for ranking

4. How is the idea evaluated?

• Accelerated BING web search (ranking portion)

o Deployed in production

• Showed end-to-end latency & throughput improvement

5. Was the evaluation in line with the stated user requirements?

• Yes, showed a real performance gain in datacenter while maintaining an existing service used by users (web search)

6. Was technology a factor in the problem or solution?

• Yes, FPGA technology made the solution feasible

o Faster reconfiguration

o Efficient enough to compare with programmable processors

7. Were new tools or software techniques introduced?

• Health Monitor and mapping manager

• Software interface for free-form expressioins

8. How may users with other requirements be affected?

• Developing applications in verilog is a time consuming and error prone process.

9. How can the discussion of this paper be generalized in the context of the class?

• Specialization is increasingly important to continue to get performance gains

• Specialization is expensive

• Research is needed to develop better tools for synthesizing hardware from software

10. What other papers or material did you read to prepare? Were there any terms or concepts you did not fully grasp?

• Looked into partial reconfigration of FPGAs (“Performance of Partial Reconfiguration in FPGA Systems: A Survey and a Cost Model”)