prototyping architectural support for program rollback
play

Prototyping Architectural Support for Program Rollback Using FPGAs - PowerPoint PPT Presentation

Prototyping Architectural Support for Program Rollback Using FPGAs Radu Teodorescu Josep Torrellas http://iacoma.cs.uiuc.edu University of Illinois Summary Problem Production software is hard to debug Solution Always-on,


  1. Prototyping Architectural Support for Program Rollback Using FPGAs Radu Teodorescu Josep Torrellas http://iacoma.cs.uiuc.edu University of Illinois

  2. Summary • Problem – Production software is hard to debug • Solution – Always-on, lightweight debugger – Collect info about bug circumstances – Hardware support • FPGA platform – Rapid prototyping – Design validation February 17, 2005 2 WARFP 2005, San Francisco

  3. Debugging Production Code • Processor runs in two possible modes: – Normal – Speculative •Rollback capability • Transition controlled by software – Special instructions February 17, 2005 3 WARFP 2005, San Francisco

  4. Debugging Production Code non-speculative code num=a+b; ... begin speculation begin_spec(); p1=m[a[*x]]+a[m[&y]]; error-prone code p2=&p1; foo(p2); ... if (rlbk_state) { collect info on re-execution collect[0]=&p1; collect[1]=&y; } end speculation end_spec(flag); non-speculative code num=num+c; ... February 17, 2005 4 WARFP 2005, San Francisco

  5. Hardware Support New hardware Purpose Speculative cache Buffer speculative data Register checkpointing Restore processor state Instructions to mark the ISA support speculative section Performance counters Feedback February 17, 2005 5 WARFP 2005, San Francisco

  6. Experimental Infrastructure SPARC V8 compliant Baseline In-order, single-issue, 5 stage pipeline processor Open source VHDL, Gaisler Research Caches 1-4 set associative, 1-64KB/set System on a PCI, Ethernet, serial interfaces Chip Development Xilinx Virtex II XC2V3000, 64 Mbytes SDRAM board Operating Linux embedded System February 17, 2005 6 WARFP 2005, San Francisco

  7. FPGA System Architecture Output Binaries Terminal Processor Bit File Communication FPGA & Control App Prgramming Tool PCI Serial Boot PROM Xilinx Virtex-II SDRAM J FPGA T Config. A PROM G Development Board February 17, 2005 7 WARFP 2005, San Francisco

  8. Ongoing Work • Operating system support – Extend speculation coverage – Kernel debugging • Compiler support – Analysis and instrumentation • Extend monitoring counters – Collect information that can help debugging February 17, 2005 8 WARFP 2005, San Francisco

  9. Conclusions • We implemented a hardware prototype for software-controlled speculation • Use it to debug production software • FPGA platform – Validate the design – Experiment with real applications, including the Linux kernel – Evaluate hardware overhead February 17, 2005 9 WARFP 2005, San Francisco

  10. Prototyping Architectural Support for Program Rollback Using FPGAs Contact: Radu Teodorescu and Josep Torrellas http://iacoma.cs.uiuc.edu February 17, 2005 10 WARFP 2005, San Francisco

Recommend


More recommend