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.
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- J. Dean, D. Grove, and C. Chambers. Optimization of object-oriented programs using static class hierarchy analysis. LNCS, 952:77?101, 1995. Google Scholar
Digital Library
- R. Friedman and A. Kama. Transparent fault-tolerant java virtual machine, 2003.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- K. P. Lawton. Bochs: A portable pc emulator for unix/x. Linux Journal, 1996(29es):7, 1996. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
A JVM for soft-error-prone embedded systems
Recommendations
A JVM for soft-error-prone embedded systems
LCTES '13: Proceedings of the 14th ACM SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systemsThe 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 JVM for soft-error-prone embedded systems
LCTES '13: Proceedings of the 14th ACM SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systemsThe 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 ...
Automated application of fault tolerance mechanisms in a component-based system
JTRES '11: Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded SystemsDue to the reduction of structure sizes in modern embedded systems, tolerating soft errors presenting itself as bit flips becomes a mandatory task even for moderate critical applications. Accordingly, software-based fault tolerance mechanisms recently ...







Comments