skip to main content
research-article

A JVM for soft-error-prone embedded systems

Published:20 June 2013Publication History
Skip Abstract Section

Abstract

The reduction of structure sizes in microcontollers, environmental conditions or low supply voltages increase the susceptibility of embedded systems to soft errors. As a result, the employment of fault-detection and fault-tolerance measures is becoming a mandatory task even for moderately critical applications. Accordingly, software-based techniques have recently gained in popularity, and a multitude of approaches that differ in the number and frequency of tolerated errors as well as their associated overhead have been proposed. Using type-safe programming languages to isolate critical software components is very popular among those techniques. An automated application of fault-detection and fault-tolerance measures based on the type system of the programming language and static code analyses is possible. It facilitates an easy evaluation of the protection characteristics and costs, as well as the migration of software to new hardware platforms with different failure rates. Transient faults, however, are not bound to the application code secured by the type system, but can also affect the correctness of the type system itself. Thereby, the type system might lose its ability to isolate critical components. As a consequence, it is essential to also protect the type system itself against soft errors. In this paper, we show how soft errors can affect the integrity of the type system. Furthermore, we provide means to secure it against these faults, thus preserving its isolating character. These measures can be applied selectively to achieve a suitable tradeoff between level of protection and resource consumption.

References

  1. G. Aigner and U. Hölzle. Eliminating virtual function calls in C++programs. In 10th Eur. Conf. on OOP (ECOOP ?96), pages 142--166, London, UK, 1996. Springer. ISBN 3-540-61439-7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Aiken, M. Fähndrich, C. Hawblitzel, G. Hunt, and J. Larus. Deconstructing process isolation. In MSPC ?06: Proceedings of the 2006 Workshop on Memory System Performance and Correctness, pages 1--10, New York, NY, USA, 2006. ACM. ISBN 1-59593-578-9. doi: 10.1145/1178597.1178599. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. F. Bacon and P. F. Sweeney. Fast static analysis of C++ virtual function calls. SIGPLAN Not., 31(10):324?341, 1996. ISSN 0362-1340. doi: 10.1145/236338.236371. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Bollella, B. Brosgol, J. Gosling, P. Dibble, S. Furr, and M. Turnbull. The Real-Time Specification for Java. AW, 1st edition, Jan. 2000.Google ScholarGoogle Scholar
  5. C. Borchert, H. Schirmeier, and O. Spinczyk. Protecting the dynamic dispatch in C++ by dependability aspects. In Proceedings of the 1st GI Workshop on Software-Based Methods for Robust Embedded Systems (SOBRES ?12), Lecture Notes in Informatics, pages 521?535. German Society of Informatics, Sept. 2012.Google ScholarGoogle Scholar
  6. C. Borchert, H. Schirmeier, and O. Spinczyk. Generative softwarebased memory error detection and correction for operating system data structures. In Proceedings of the 43nd IEEE/IFIP International Conference on Dependable Systems and Networks (DSN ?13). IEEE Computer Society Press, June 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Borkar. Designing reliable systems from unreliable components: the challenges of transistor variability and degradation. IEEE Micro, 25(6): 10--16, November 2005. ISSN 0272-1732. doi: 10.1109/MM.2005.110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. G. Cellere, S. Gerardin, M. Bagatin, A. Paccagnella, A. Visconti, M. Bonanomi, S. Beltrami, P. Roche, G. Gasiot, R. H. Sorensen, A. Virtanen, C. Frost, P. Fuochi, C. Andreani, G. Gorini, A. Pietropaolo, and S. Platt1. Neutron-induced soft errors in advanced flash memories. In IEDM 2008. IEEE, Feb. 2009. ISBN 978-1-4244-2378-1.Google ScholarGoogle Scholar
  9. D. Chen, A. Messer, P. Bernadat, G. Fu, Z. Dimitrijevic, D. J. F. Lie, D. Mannaru, A. Riska, and D. Milojicic. JVM susceptibility to memory errors. In Java Virtual Machine Research and Technology Symposium, pages 67--78, Berkeley, CA, USA, Apr. 2001. USENIX. ISBN 1-880446-11-1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. G. Chen and M. Kandemir. Improving java virtual machine reliability for memory-constrained embedded systems. In Proceedings of the 42nd annual Design Automation Conference, DAC ?05, pages 690--695, New York, NY, USA, 2005. ACM. ISBN 1-59593-058-2. doi: 10.1145/1065579.1065761. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. J. Cook and C. B. Zilles. A characterization of instruction-level error derating and its implications for error detection. In DSN, pages 482--491. IEEE, 2008. doi: h10.1109/DSN.2008.4630119.Google ScholarGoogle ScholarCross RefCross Ref
  12. J. Dean, D. Grove, and C. Chambers. Optimization of object-oriented programs using static class hierarchy analysis. LNCS, 952:77?101, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Friedman and A. Kama. Transparent fault-tolerant java virtual machine, 2003.Google ScholarGoogle Scholar
  14. M. Golm, M. Felser, C. Wawersich, and J. Kleinöder. The JX operating system. In 2002 USENIX ATC, pages 45?58, Berkeley, CA, USA, June 2002. USENIX. ISBN 1-880446-00-6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. O. Goloubeva, M. Rebaudengo, M. S. Reorda, and M. Violante. Software-Implemented Hardware Fault Tolerance. Springer, Heidelberg, Germany, 2006. ISBN 0-387-26060-9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. T. Kalibera, J. Hagelberg, F. Pizlo, A. Plsek, B. Titzer, and J. Vitek. CDx: A family of real-time java benchmarks. In JTRES ?09: 7th Int. W?shop on Java Technologies for real-time & embedded Systems, pages 41--50, New York, NY, USA, 2009. ACM. ISBN 978-1-60558-732-5. doi: 10.1145/1620405.1620412. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. K. P. Lawton. Bochs: A portable pc emulator for unix/x. Linux Journal, 1996(29es):7, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Napper, L. Alvisi, and H. Vin. A fault-tolerant java virtual machine. In In Proceedings of the International Conference on Dependable Systems and Networks (DSN 2003), DCC Symposium, pages 425--434, 2002.Google ScholarGoogle Scholar
  19. S. Poledna, A. Burns, A. Wellings, and P. Barrett. Replica determinism and flexible scheduling in hard real-time dependable systems. IEEE TC, 49(2):100--111, 2000. ISSN 0018-9340. doi: 10.1109/12.833107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. H. Schirmeier, R. Kapitza, D. Lohmann, and O. Spinczyk. DanceOS: Towards dependability aspects in configurable embedded operating systems. In A. Orailoglu, editor, 3rd HiPEAC W?shop on Des. f. Reliability (DFR ?11), pages 21--26, Heraklion, Greece, Jan. 2011.Google ScholarGoogle Scholar
  21. H. Schirmeier, M. Hoffmann, R. Kapitza, D. Lohmann, and O. Spinczyk. FAIL*: Towards a versatile fault-injection experiment framework. In G. Mühl, J. Richling, and A. Herkersdorf, editors, 25th Int. Conf. on Architecture of Computing Systems (ARCS ?12), Workshop Proceedings, volume 200 of Lecture Notes in Informatics, pages 201--210. Gesellschaft für Informatik, Mar. 2012. ISBN 978-3-88579-294-9.Google ScholarGoogle Scholar
  22. V. C. Sreedhar, R. D.-C. Ju, D. M. Gillies, and V. Santhanam. Translating out of static single assignment form. In Proceedings of the 6th International Symposium on Static Analysis, SAS ?99, pages 194--210, Heidelberg, Germany, 1999. Springer. ISBN 3-540-66459-9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. Stilkerich, I. Thomm, C. Wawersich, and W. Schröder-Preikschat. Tailor-made JVMs for statically configured embedded systems. Concurrency and Computation: Practice and Experience, 24(8):789--812, 2012. ISSN 1532-0634. doi: 10.1002/cpe.1755. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. V. Sundaresan, L. Hendren, C. Razafimahefa, R. Vallée-Rai, P. Lam, E. Gagnon, and C. Godin. Practical virtual method call resolution for Java. SIGPLAN Not., 35(10):264--280, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. A. Taber and E. Normand. Single event upset in avionics. IEEE Transactions on Nuclear Science, 40(2):120--126, Apr. 1993. ISSN 0018-9499. doi: 10.1109/23.212327.Google ScholarGoogle ScholarCross RefCross Ref
  26. I. Thomm, M. Stilkerich, R. Kapitza, D. Lohmann, and W. Schröder- Preikschat. Automated application of fault tolerance mechanisms in a component-based system. In JTRES ?11: 9th Int. W?shop on Java Technologies for real-time & embedded Systems, pages 87--95, New York, NY, USA, 2011. ACM. ISBN 978-1-4503-0731-4. doi: 10.1145/2043910.2043925. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. P. Ulbrich, R. Kapitza, C. Harkort, R. Schmid, and W. Schröder-Preikschat. I4Copter: An adaptable and modular quadrotor platform. In 26th ACM Symp. on Applied Computing (SAC ?11), pages 380?396, New York, NY, USA, 2011. ACM. ISBN 978-1-4503-0113-8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. N. Wegman and F. K. Zadeck. Constant propagation with conditional branches. ACM Trans. Program. Lang. Syst., 13:181?210, Apr. 1991. ISSN 0164-0925. doi: 10.1145/103135.103136. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A JVM for soft-error-prone embedded systems

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 48, Issue 5
          LCTES '13
          May 2013
          165 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2499369
          Issue’s Table of Contents
          • cover image ACM Conferences
            LCTES '13: Proceedings of the 14th ACM SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
            June 2013
            184 pages
            ISBN:9781450320856
            DOI:10.1145/2491899

          Copyright © 2013 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 20 June 2013

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!