Deterministic reversible MPSoC debugger based on virtual platform execution traces
详细信息    查看全文
  • 作者:Marcos Aurélio Pinto Cunha ; Nicolas Fournel…
  • 关键词:Reverse debugging ; Trace ; Virtual Platforms ; MPSoC
  • 刊名:Design Automation for Embedded Systems
  • 出版年:2016
  • 出版时间:March 2016
  • 年:2016
  • 卷:20
  • 期:1
  • 页码:47-63
  • 全文大小:806 KB
  • 参考文献:1.Agrawal H, De Millo R, Spafford E (1991) An execution-backtracking approach to debugging. IEEE Softw 8(3):21–26. doi:10.​1109/​52.​88940 CrossRef
    2.Akgul T, Mooney III, VJ (2002) Instruction-level reverse execution for debugging. In: Proceedings of the ACM SIGPLAN/SIGSOFT workshop on program analysis for software tools and engineering, pp 18–25. doi:10.​1145/​586094.​586101
    3.Altekar G, Stoica I (2009) ODR: output-deterministic replay for multicore debugging. In: Proceedings of the ACM SIGOPS 22nd symposium on operating systems principles, pp 193–206. doi:10.​1145/​1629575.​1629594
    4.Chen SK, Fuchs W, Chung JY (2001) Reversible debugging using program instrumentation. IEEE Trans Softw Eng 27(8):715–727. doi:10.​1109/​32.​940726 CrossRef
    5.Cunha M, Fournel N, Pétrot F (2015) Collecting traces in dynamic binary translation based virtual prototyping platforms. In: Proceedings of the seventh ACM RAPIDO workshop on rapid simulation and performance evaluation. doi:10.​1145/​2693433.​2693437
    6.Dunlap GW, Lucchetti DG, Fetterman MA, Chen PM (2008) Execution replay of multiprocessor virtual machines. In: Proceedings of the 4th ACM SIGPLAN/SIGOPS international conference on virtual execution environments, pp 121–130. doi:10.​1145/​1346256.​1346273
    7.Feldman SI, Brown CB (1988) IGOR: a system for program debugging via reversible execution. In: Proceedings of the ACM SIGPLAN/SIGOPS workshop on parallel and distributed debugging, pp 112–123. ACM. doi:10.​1145/​68210.​69226
    8.Gligor M, Fournel N, Pétrot F (2009) Using binary translation in event driven simulation for fast and flexible MPSoC simulation. In: Proceedings of the 7th IEEE/ACM international conference on Hardware/software codesign and system synthesis, pp 71–80. doi:10.​1145/​1629435.​1629446
    9.Hedde D, Pétrot F (2011) A non intrusive simulation-based trace system to analyse multiprocessor systems-on-chip software. In: 22nd IEEE international symposium on rapid system prototyping, pp 106–112. doi:10.​1109/​RSP.​2011.​5929983
    10.Kalray (2014) MPPA Many core. http://​www.​kalray.​eu/​products/​
    11.Koju T, Takada S, Doi N (2005) An efficient and generic reversible debugger using the virtual machine based approach. In: ACM SIGPLAN/SIGOPS international conference on virtual execution environments, p 79
    12.Law GEW, Smith JP (2012) System and method for bi-directional debugging of computer. US Patent 8,090,989, http://​undo-software.​com
    13.Lee J (2007) Dynamic reverse code generation for backward execution. Electron Notes Theor Comput Sci 174(4):37–54. doi:10.​1016/​j.​entcs.​2006.​12.​028 CrossRef
    14.Molnar I (2008) Kill the “big kernel lock (bkl)” tree. Linux kernel mailing list (may 14, 2008)
    15.Molnar I, van de Ven A (2015) Lockdep design. Linux Kernel Documentation. https://​www.​kernel.​org/​doc/​Documentation/​locking/​lockdep-design.​txt . Accessed 14 Aug 2015
    16.Pokam G, Danne K, Pereira C, Kassa R, Kranich T, Hu S, Gottschlich J, Honarmand N, Dautenhahn N, King ST, Torrellas J (2013) QuickRec: prototyping an intel architecture extension for record and replay of multithreaded programs. In: Proceedings of the 40th annual international symposium on computer architecture, pp 643–654. doi:10.​1145/​2485922.​2485977
    17.Pothier G, Tanter E (2009) Back to the future: omniscient debugging. IEEE Softw 26(6):78–85. doi:10.​1109/​MS.​2009.​169 CrossRef
    18.Silverstein A (2002) Judy IV shop manual—high performance dynamic array. http://​judy.​sourceforge.​net/​doc/​shop_​interm.​pdf
    19.Synopsys (2015) Synopsys virtual prototyping solutions for embedded software development. http://​www.​synopsys.​com/​Prototyping/​VirtualPrototypi​ng/​Pages/​default.​aspx . Accessed 14 Aug 2015
    20.Tilera (2015) Tile-Gx Processor Family. http://​www.​tilera.​com/​products/​?​ezchip=​585&​spage=​614 . Accessed 14 Aug 2015
    21.Wang L, Liu X, Song A, Xu L, Liu T (2009) An effective reversible debugger of cross platform based on virtualization. In: International conference on embedded software and systems, pp 448–453. doi:10.​1109/​ICESS.​2009.​96
  • 作者单位:Marcos Aurélio Pinto Cunha (1)
    Nicolas Fournel (1)
    Frédéric Pétrot (1)

    1. Laboratoire TIMA, Université Grenoble Alpes, 46 Félix Viallet, 38031, Grenoble, France
  • 刊物类别:Engineering
  • 刊物主题:Circuits and Systems
    Computer-Aided Engineering and Design
    Electronic and Computer Engineering
    Special Purpose and Application-Based Systems
  • 出版者:Springer Netherlands
  • ISSN:1572-8080
文摘
The increasing complexity of multiprocessor system on chip (MPSoC) makes the software developers life harder when chasing bugs. The debugging process is particularly tedious as it involves analyzing parallel execution flows. Executing a program many times is an integral part of the process in conventional debugging, but the non-determinism due to parallel execution often leads to different execution paths and different behaviors. In this paper, we propose an approach based on simulation, as it is nowadays an integral part of the MPSoC design flow, to ease pin-pointing bugs in a parallel execution. To that aim, we collect traces using a virtual platform, and when an execution fails, re-execute the traces, in either forward or reverse direction. We define a trace model suitable for this task, and detail a strategy for providing forward and reverse execution features to avoid long simulation times during a debug session. We demonstrate experimentally that re-execution is a deterministic process which, when debugging using the usual trial and error developer approach, is much faster than simulation. Keywords Reverse debugging Trace Virtual Platforms MPSoC

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700