skip to main content
10.1145/3078633.3081030acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article

OSEK-V: application-specific RTOS instantiation in hardware

Published:21 June 2017Publication History

ABSTRACT

The employment of a real-time operating system (RTOS) in an embedded control systems is often an all-or-nothing decision: While the RTOS-abstractions provide for easier software composition and development, the price in terms of event latencies and memory costs are high. Especially in HW/SW codesign settings, system developers try to avoid the employment of a full-blown RTOS as far as possible. In OSEK-V, we mitigate this trade-off by a very aggressive tailoring of the concrete RTOS instance into the hardware. Instead of implementing generic OS components as custom hardware devices, we capture the actually possible application-kernel interactions as a finite-state machine and integrate the tailored RTOS semantics directly into the processor pipeline. In our experimental results with an OSEK-based implementation of a quadrotor flight controller into the Rocket/RISC-V softcore, we thereby can significantly reduce event latencies, interrupt lock times, and memory footprint at moderate costs in terms of FPGA resources.

References

  1. AEEC. Avionics Application Software Standard Interface (ARINC Specification 653-1). ARINC Inc, 2003.Google ScholarGoogle Scholar
  2. AUTOSAR. Specification of Operating System (Version 5.1.0). Tech. rep. Automotive Open System Architecture GbR, 2013.Google ScholarGoogle Scholar
  3. Jason Agron, Wesley Peck, Erik Anderson, David Andrews, Ed Komp, Ron Sass, Fabrice Baijot, and Jim Stevens. “Run-Time Services for Hybrid CPU/FPGA Systems on Chip”. In: RTSS ’06. 2006, pp. 3–12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H. Almatary, N.C. Audsley, and A. Burns. “Reducing the Implementation Overheads of IPCP and DFP”. In: RTSS ’15. 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Manfred Broy. “Challenges in Automotive Software Engineering”. In: ICSE ’06. 2006, pp. 33–42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Wayne P. Burleson, Jason Ko, Douglas Niehaus, Krithi Ramamritham, John A. Stankovic, Gary Wallace, and Charles C. Weems. “The Spring Scheduling Coprocessor: A Scheduling Accelerator”. In: IEEE Transactions on Very Large Scale Integration (VLSI) Systems 7.1 (1999), pp. 38–47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Devadas, Hi-Keung Ma, A.R. Newton, and A. Sangiovanni-Vincentelli. “MUSTANG: state assignment of finite state machines targeting multilevel logic implementations”. In: Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on 7.12 (1988), pp. 1290–1300. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Christian Dietrich, Martin Hoffmann, and Daniel Lohmann. “Back to the Roots: Implementing the RTOS as a Specialized State Machine”. In: OSPERT ’15. 2015, pp. 7–12.Google ScholarGoogle Scholar
  9. Christian Dietrich, Martin Hoffmann, and Daniel Lohmann. “Cross-Kernel Control-Flow-Graph Analysis for Event-Driven Real-Time Systems”. In: LCTES ’15. 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Guidelines for the Use of the C Language in Critical Systems (MISRA-C). 2004.Google ScholarGoogle Scholar
  11. Wanja Hofer, Daniel Lohmann, Fabian Scheler, and Wolfgang Schröder-Preikschat. “Sloth: Threads as Interrupts”. In: RTSS ’09. (Dec. 1–4, 2009). 2009, pp. 204–213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. John Hopcroft. An n log n algorithm for minimizing states in a finite automaton. Tech. rep. Computer Science Department, University of California, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. ISO 26262-4. ISO 26262-4:2011: Road vehicles – Functional safety – Part 4: Product development at the system level. 2011.Google ScholarGoogle Scholar
  14. Tae-Hyung Kim and Seongsoo Hong. “State Machine Based Operating System Architecture for Wireless Sensor Networks”. In: Parallel and Distributed Computing: Applications and Technologies. Vol. 3320. LNCS. 2005, pp. 803–806. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Paul Kohout, Brinda Ganesh, and Bruce Jacob. “Hardware Support for Real-Time Operating Systems”. In: CODES+ISSS ’03. 2003, pp. 45–51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Nupur Kothari, Todd Millstein, and Ramesh Govindan. “Deriving State Machines from TinyOS Programs Using Symbolic Execution”. In: IPSN ’08. 2008, pp. 271–282. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Yunsup Lee, A. Waterman, R. Avizienis, H. Cook, Chen Sun, V. Stojanovic, and K. Asanovic. “A 45nm 1.3GHz 16.7 double-precision GFLOPS/W RISC-V processor with vector accelerators”. In: European Solid State Circuits Conference (ESSCIRC), ESSCIRC 2014 - 40th. 2014, pp. 199–202.Google ScholarGoogle ScholarCross RefCross Ref
  18. Enno Lübbers and Marco Platzner. “ReconOS: Multithreaded Programming for Reconfigurable Computers”. In: ACM Trans. Embed. Comp. Syst. 9.1 (2009), 8:1–8:33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Henry Massalin and Calton Pu. “Threads and Input/Output in the Synthesis Kernel”. In: SOSP ’89. 1989, pp. 191–201. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Dylan McNamee et al. “Specialization Tools and Techniques for Systematic Optimization of System Software”. In: ACM Trans. Comp. Syst. 19.2 (2001), pp. 217–251. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Vincent J. Mooney and Douglas M. Blough. “A Hardware-Software Real-Time Operating System Framework for SoCs”. In: IEEE Journal on Design and Test of Computers 19.6 (2002), pp. 44–51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Edward F. Moore. “Gedanken-experiments on sequential machines”. In: Automata studies. Annals of mathematics studies, no. 34. 1956, pp. 129–153.Google ScholarGoogle Scholar
  23. OSEK/VDX Group. Operating System Specification 2.2.3. Tech. rep. http://portal.osekvdx.org/files/pdf/specs/ os223.pdf, visited 2014-09-29. OSEK/VDX Group, 2005.Google ScholarGoogle Scholar
  24. Arnaldo SR Oliveira, Luís Almeida, and António B Ferrari. “The ARPA-MT embedded SMT processor and its RTOS hardware accelerator”. In: Industrial Electronics 58.3 (2011), pp. 890–904.Google ScholarGoogle ScholarCross RefCross Ref
  25. David Patterson and Borivoje Nikoli´c. Agile Design for Hardware. EE|Times blog post. 2015.Google ScholarGoogle Scholar
  26. Calton Pu, Henry Massalin, and John Ioannidis. “The Synthesis Kernel”. In: Computing Systems 1.1 (1988), pp. 11– 32.Google ScholarGoogle Scholar
  27. Martin Schoeberl et al. “T-CREST: Time-predictable multicore architecture for embedded systems”. In: Journal of Systems Architecture 61.9 (2015), pp. 449 –471. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Hiroaki Takada and Ken Sakamura. “µITRON for Small-Scale Embedded Systems”. In: IEEE Micro 15.6 (1995), pp. 46–54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Andrew S. Tanenbaum. Structured Computer Organization. Fifth. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. David Tennenhouse. “Proactive Computing”. In: CACM (2000), pp. 43–45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Peter Ulbrich, Rüdiger Kapitza, Christian Harkort, Reiner Schmid, and Wolfgang Schröder-Preikschat. “I4Copter: An Adaptable and Modular Quadrotor Platform”. In: SAC ’11. 2011, pp. 380–396. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. D. Varma and E.A. Trachtenberg. “A fast algorithm for the optimal state assignment of large finite state machines”. In: ICCAD ’88. 1988, pp. 152–155.Google ScholarGoogle Scholar
  33. T. Villa and A. Sangiovanni-Vincentelli. “NOVA: State Assignment of Finite State Machines for Optimal Two-level Logic Implementations”. In: 26th ACM/IEEE Design Automation Conference. DAC ’89. 1989, pp. 327–332. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Andrew Waterman, Yunsup Lee, David A. Patterson, and Krste Asanovi´c. The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Version 2.0. Tech. rep. UCB/EECS-2014- 54. EECS Department, University of California, Berkeley, 2014.Google ScholarGoogle Scholar

Index Terms

  1. OSEK-V: application-specific RTOS instantiation in hardware

        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
        • Published in

          cover image ACM Conferences
          LCTES 2017: Proceedings of the 18th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems
          June 2017
          120 pages
          ISBN:9781450350303
          DOI:10.1145/3078633
          • General Chair:
          • Vijay Nagarajan,
          • Program Chair:
          • Zili Shao

          Copyright © 2017 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 21 June 2017

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate116of438submissions,26%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader