Abstract
Tracing or trace interface has been used in various ways to find system defects or bugs. As embedded systems are increasingly used in safety-critical applications, tracing can provide useful information during system execution at runtime. Non-intrusive tracing that does not affect system performance has become especially important, but unfortunately, the biggest obstacle to this approach was the vast amount of real-time trace data, making it challenging to address complex requirements with relatively limited hardware implementations. Automata processors can be programmed with a memory-like structure of automata and have a structure specific to streaming data, large capacity, and parallel processing functions. This paper promotes the idea of high-level system-on-chip monitoring using automata processors. We used a safety-critical pacemaker application in the experiments, described timed automata (TA)-based requirements, and tested intentionally injected 4,000 random failures. The TA model converted for Automata Processor to monitor system, correctness, and safety properties achieved 100% failure detection rate in the experiment, and the detected failure is reported as fast enough to allow enough extent for failure recovery.
- [n.d.]. RTEMS Real Time Operating System (RTOS) | Real-Time and Real Free RTOS. https://www.rtems.org/.Google Scholar
- 2018. LEON/GRLIB guide GRLIB VHDL IP core library 2018 configuration and development guide configuration and development guide. (2018). www.cobham.com/gaisler.Google Scholar
- Wolfgang Ahrendt, Jesús Mauricio Chimento, Gordon J. Pace, and Gerardo Schneider. 2017. Verifying data-and control-oriented properties combining static and runtime verification: Theory and tools. Formal Methods in System Design 51, 1 (2017), 200--265.Google Scholar
Digital Library
- Rajeev Alur. 1999. Timed automata. In International Conference on Computer Aided Verification. Springer, 8--22.Google Scholar
Digital Library
- S. Serge Barold, Roland X. Stroobandt, and Alfons F Sinnaeve. 2008. Cardiac Pacemakers Step by Step: An Illustrated Guide. John Wiley 8 Sons.Google Scholar
- Nathan Binkert, Bradford Beckmann, Gabriel Black, Steven K. Reinhardt, Ali Saidi, Arkaprava Basu, Joel Hestness, Derek R. Hower, Tushar Krishna, Somayeh Sardashti, et al. 2011. The gem5 simulator. ACM SIGARCH Computer Architecture News 39, 2 (2011), 1--7.Google Scholar
Digital Library
- Chunkun Bo, Ke Wang, Yanjun Qi, and Kevin Skadron. 2015. String kernel testing acceleration using the micron automata processor. In Workshop on Computer Architecture for Machine Learning.Google Scholar
- Eric Bodden, Patrick Lam, and Laurie Hendren. 2010. Clara: A framework for partially evaluating finite-state runtime monitors ahead of time. In International Conference on Runtime Verification. Springer, 183--197.Google Scholar
Cross Ref
- Borzoo Bonakdarpour, Samaneh Navabpour, and Sebastian Fischmeister. 2011. Sampling-based runtime verification. In International Symposium on Formal Methods. Springer, 88--102.Google Scholar
Digital Library
- Altera Corporation. 2008. with the SignalTap II Embedded Logic Analyzer. 24 pages.Google Scholar
- Paul Dlugosch, Dave Brown, Paul Glendenning, Michael Leventhal, and Harold Noyes. 2014. An efficient and scalable semiconductor architecture for parallel automata processing. IEEE Transactions on Parallel and Distributed Systems 25, 12 (2014), 3088--3098.Google Scholar
Cross Ref
- Mohammed El Shobaki and Lennart Lindh. 2001. A hardware and software monitor for high-level system-on-chip verification. In Proceedings of the IEEE 2001. 2nd International Symposium on Quality Electronic Design. IEEE, 56--61.Google Scholar
Cross Ref
- Tom Feist. 2012. Vivado design suite. White Paper 5 (2012), 30.Google Scholar
- Richard Fryer. 2005. FPGA based CPU instrumentation for hard real-time embedded system testing. ACM SIGBED Review 2, 2 (2005), 39--42.Google Scholar
Digital Library
- Brent Hailpern and Padmanabhan Santhanam. 2002. Software debugging, testing, and verification. IBM Systems Journal 41, 1 (2002), 4--12.Google Scholar
Digital Library
- Micron Inc. [n.d.]. Designing for the Micron D480 Automata Processor. http://www.micronautomata.com/documentation/anml_documentation/c_D480_design_notes.html.Google Scholar
- Zhihao Jiang, Miroslav Pajic, Allison Connolly, Sanjay Dixit, and Rahul Mangharam. 2010. Real-time heart model for implantable cardiac device validation and verification. In 2010 22nd Euromicro Conference on Real-Time Systems. IEEE, 239--248.Google Scholar
Digital Library
- Zhihao Jiang, Miroslav Pajic, and Rahul Mangharam. 2011. Cyber--physical modeling of implantable cardiac medical devices. Proc. IEEE 100, 1 (2011), 122--137.Google Scholar
Cross Ref
- Mike Jones. 1997. What really happened on mars rover pathfinder. The Risks Digest 19, 49 (1997), 1--2.Google Scholar
- Damjan Lampret and Julius Baxter. [n.d.]. OpenRISC 1200 IP Core Specification (Preliminary Draft), 2014.Google Scholar
- Jong Chul Lee and Roman Lysecky. 2015. System-level observation framework for non-intrusive runtime monitoring of embedded systems. ACM Transactions on Design Automation of Electronic Systems (TODAES) 20, 3 (2015), 42.Google Scholar
Digital Library
- Nancy G Leveson and Clark S Turner. 1993. An investigation of the Therac-25 accidents. Computer 26, 7 (1993), 18--41.Google Scholar
Digital Library
- Giovanni Liva, Muhammad Taimoor Khan, and Martin Pinzger. 2017. Extracting timed automata from Java methods. In 2017 IEEE 17th International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 91--100.Google Scholar
Cross Ref
- Hong Lu and Alessandro Forin. 2007. The design and implementation of P2V, an architecture for zero-overhead online verification of software programs. (2007).Google Scholar
- R Mijat. 2010. Better trace for better software: Introducing the new arm coresight system trace macrocell and trace memory controller. ARM, White Paper (2010).Google Scholar
- Samaneh Navabpour, Borzoo Bonakdarpour, and Sebastian Fischmeister. 2015. Time-triggered runtime verification of component-based multi-core systems. In Runtime Verification. Springer, 153--168.Google Scholar
- Hyunyoung Oh, Hayoon Yi, Hyeokjun Choe, Yeongpil Cho, Sungroh Yoon, and Yunheung Paek. 2019. Real-time anomalous branch behavior inference with a GPU-inspired engine for machine learning models. In 2019 Design, Automation 8 Test in Europe Conference 8 Exhibition (DATE). IEEE, 908--913.Google Scholar
- Rodolfo Pellizzoni, Patrick Meredith, Marco Caccamo, and Grigore Rosu. 2008. Hardware runtime monitoring for dependable cots-based real-time embedded systems. In 2008 Real-Time Systems Symposium. IEEE, 481--491.Google Scholar
Digital Library
- Kevin Peterson and Yvon Savaria. 2004. Assertion-based on-line verification and debug environment for complex hardware systems. In 2004 IEEE International Symposium on Circuits and Systems (IEEE Cat. No. 04CH37512), Vol. 2. IEEE, II--685.Google Scholar
Cross Ref
- Amir Pnueli. 1977. The temporal logic of programs. In 18th Annual Symposium on Foundations of Computer Science (sfcs 1977). IEEE, 46--57. DOI:https://doi.org/10.1109/SFCS.1977.32Google Scholar
Digital Library
- Indranil Roy and Srinivas Aluru. 2014. Finding motifs in biological sequences using the micron automata processor. In 2014 IEEE 28th International Parallel and Distributed Processing Symposium. IEEE, 415--424.Google Scholar
Digital Library
- Indranil Roy, Ankit Srivastava, Marziyeh Nourian, Michela Becchi, and Srinivas Aluru. 2016. High performance pattern matching using the automata processor. In 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS). IEEE, 1123--1132.Google Scholar
Cross Ref
- Minjun Seo and Roman Lysecky. 2018. Non-intrusive in-situ requirements monitoring of embedded system. ACM Transactions on Design Automation of Electronic Systems (TODAES) 23, 5 (2018), 58.Google Scholar
Digital Library
- Tommy Tracy, Yao Fu, Indranil Roy, Eric Jonas, and Paul Glendenning. 2016. Towards machine learning on the automata processor. In International Conference on High Performance Computing. Springer, 200--218.Google Scholar
Cross Ref
- Tullis and Michael L. 2015. Intel ® Trace Hub Developer’s Manual. Technical Report. http://www.intel.com/products/processor.Google Scholar
- Jack Wadden and Kevin Skadron. 2016. VASim: An open virtual automata simulator for automata processing application and architecture research. University of Virginia, Tech. Rep. CS2016-03 (2016).Google Scholar
- Philipp Wagner, Thomas Wild, and Andreas Herkersdorf. 2016. DiaSys: On-chip trace analysis for multi-processor system-on-chip. Springer, Cham, 197--209. DOI:https://doi.org/10.1007/978-3-319-30695-7_15Google Scholar
- Ke Wang, Yanjun Qi, Jeffrey J. Fox, Mircea R. Stan, and Kevin Skadron. 2015. Association rule mining with the micron automata processor. In 2015 IEEE International Parallel and Distributed Processing Symposium. IEEE, 689--699.Google Scholar
Digital Library
- Kosuke Watanabe, Eunsuk Kang, Chung-Wei Lin, and Shinichi Shiraishi. 2018. INVITED: Runtime monitoring for safety of intelligent vehicles. In 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC). IEEE, 1--6. DOI:https://doi.org/10.1109/DAC.2018.8465912Google Scholar
Digital Library
- Xilinx. 2012. ChipScope Pro Software and Cores. , 5--226 pages. https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/chipscope_pro_sw_cores_ug029.pdf.Google Scholar
- Xilinx. 2017. MicroBlaze processor reference guide. (2017). https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_1/ug984-vivado-microblaze-ref.pdf.Google Scholar
- Keira Zhou, Jack Wadden, Jeffrey J. Fox, Ke Wang, Donald E. Brown, and Kevin Skadron. 2015. Regular expression acceleration on the micron automata processor: Brill tagging as a case study. In 2015 IEEE International Conference on Big Data (Big Data). IEEE, 355--360.Google Scholar
Digital Library
- Yumin Zhou, Sebastian Burg, Oliver Bringmann, and Wolfgang Rosenstiel. 2018. A software reconfigurable assertion checking unit for run-time error detection. In 2018 IEEE 23rd European Test Symposium (ETS). IEEE, 1--6. DOI:https://doi.org/10.1109/ETS.2018.8400691Google Scholar
Cross Ref
Index Terms
Efficient Tracing Methodology Using Automata Processor
Recommendations
Trace execution automata in dynamic binary translation
ISCA'10: Proceedings of the 2010 international conference on Computer ArchitectureProgram performance can be dynamically improved by optimizing its frequent execution traces. Once traces are collected, they can be analyzed and optimized based on the dynamic information derived from the program's previous runs. The ability to record ...
Trace-based teaching in early programming courses
SIGCSE '13: Proceeding of the 44th ACM technical symposium on Computer science educationStudents in introductory programming courses struggle with building the mental models that correctly describe concepts such as variables, subroutine calls, and dynamic memory usage. This struggle leads to lowered student learning outcomes and, it has ...
Towards an I/O tracing framework taxonomy
PDSW '07: Proceedings of the 2nd international workshop on Petascale data storage: held in conjunction with Supercomputing '07There is high demand for I/O tracing in High Performance Computing (HPC). It enables in-depth analysis of distributed applications and file system performance tuning. It also aids distributed application debugging. Finally, it facilitates collaboration ...






Comments