Title :
Prototyping architectural support for program rollback using FPGAs
Author :
Teodorescu, Radu ; Torrellas, Josep
Author_Institution :
Dept. of Comput. Sci., Illinois Univ., Urbana, IL, USA
Abstract :
This paper presents a processor and memory-hierarchy prototype based on FPGAs that provides hardware support for program rollback. We use this prototype to demonstrate how compiler- or user-controlled speculative execution can help in debugging production codes. The system is based on a synthesizable VHDL implementation of a 32-bit processor compliant with the SPARC V8 architecture. We conduct experiments on applications with real bugs. The applications run on top of a version of Linux ported to this hardware. Our experiments show that our system is able to successfully execute the buggy code sections speculatively. This allows the thorough characterization of the faulty code through repeated rollback and re-execution. Moreover, the hardware extensions we made to the baseline system increase the hardware resource requirements by less than 4.5%.
Keywords :
computer architecture; field programmable gate arrays; hardware description languages; multiprocessing systems; program compilers; program debugging; 32-bit processor; FPGA; Linux; SPARC V8 architecture; bugs; compiler execution; memory-hierarchy prototype; processor; production code debugging; program rollback; synthesizable VHDL implementation; user-controlled speculative execution; Checkpointing; Computer architecture; Computer bugs; Debugging; Field programmable gate arrays; Hardware; Linux; Production; Prototypes; Registers;
Conference_Titel :
Field-Programmable Custom Computing Machines, 2005. FCCM 2005. 13th Annual IEEE Symposium on
Print_ISBN :
0-7695-2445-1
DOI :
10.1109/FCCM.2005.55