skip to main content
research-article

Partitioning and Selection of Data Consistency Mechanisms for Multicore Real-Time Systems

Published:10 June 2019Publication History
Skip Abstract Section

Abstract

Multicore platforms are becoming increasingly popular in real-time systems. One of the major challenges in designing multicore real-time systems is ensuring consistent and timely access to shared resources. Lock-based protection mechanisms such as MPCP and MSRP have been proposed to guarantee mutually exclusive access in multicore systems at the expense of blocking. In this article, we consider partitioning and scheduling in multicore real-time systems with resource sharing. We first propose a resource-aware task partitioning algorithm for systems with lock-based protection. Wait-free methods, which ensure consistent access to shared memory resources with negligible blocking at the expense of additional memory space, are a suitable alternative when the shared resource is a communication buffer. We propose several approaches to solve the joint problem of task partitioning and the selection of a data consistency mechanism (lock-based or wait-free). The problem is first formulated as an Integer Linear Programming (ILP). For large systems where an ILP solution is not scalable, we propose two heuristic algorithms. Experimental results compare the effectiveness of the proposed approaches in finding schedulable systems with low memory cost and show how the use of wait-free methods can significantly improve schedulability.

References

  1. H. Huang, P. Pillai, and K. G. Shin. 2002. Improving wait-free algorithms for interprocess communication in embedded real-time systems. In USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Rajkumar. 1990. Real-time synchronization protocols for shared memory multiprocessors. In International Conference on Distributed Computing Systems.Google ScholarGoogle ScholarCross RefCross Ref
  3. P. Gai, G. Lipari, and M. D. Natale. 2001. Minimizing memory utilization of real-time task sets in single and multi-processor systems-on-a-chip. In IEEE Real-Time Systems Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Chen and A. Burns. 1999. Loop-free asynchronous data sharing in multiprocessor real-time systems based on timing properties. In International Conference on Real-Time Computing Systems and Applications. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. K. Lakshmanan, D. de Niz, and R. Rajkumar. 2009. Coordinated task scheduling, allocation and synchronization on multiprocessors. In IEEE Real-Time Systems Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Dhall and C. Liu. 1978. On a real-time scheduling problem. Operations Research 26, 1 (1978), 127--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. The AUTOSAR consortium. The AUTOSAR Standard, specification version 4.1. {Online} http://www.autosar.org.Google ScholarGoogle Scholar
  8. Z. Al-Bayati, Y. Sun, H. Zeng, M. Di Natale, Q. Zhu, and B. Meyer. 2015. Task placement and selection of data consistency mechanisms for real-time multicore applications. In IEEE Real-Time and Embedded Technology and Applicatons Symposium.Google ScholarGoogle Scholar
  9. A. Wieder and B. Brandenburg. 2013. Efficient partitioning of sporadic real-time tasks with shared resources and spin locks. In IEEE International Symposium on Industrial Embedded Systems.Google ScholarGoogle Scholar
  10. F. Nemati, M. Behnam, and T. Nolte. 2009. Efficiently migrating real-time systems to multi-cores. In IEEE Conference on Emerging Technologies 8 Factory Automation. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. N. Suzuki, H. Kim, D. De Niz, B. Andersson, L. Wrage, M. Klein, and R. Rajkumar. 2013. Coordinated bank and cache coloring for temporal protection of memory accesses. In IEEE Conference on Computational Science and Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. Gracioli and A. Fröhlich. 2014. CAP: Color-aware task partitioning for multicore real-time applications. In IEEE Conference on Emerging Technologies 8 Factory Automation.Google ScholarGoogle Scholar
  13. R. Davis and A. Burns. 2011. A survey of hard real-time scheduling for multiprocessor systems. ACM Computing Surveys 43, 4 (Oct. 2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Baruah and N. Fisher. 2005. The partitioned multiprocessor scheduling of sporadic task systems. In IEEE Real-Time Systems Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. N. Fisher and S. Baruah. 2006. The partitioned scheduling of sporadic tasks according to static priorities. In Euromicro Conference on Real-Time Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Baruah and E. Bini. 2008. Partitioned scheduling of sporadic task systems: An ILP based approach. In Conference on Design and Architectures for Signal and Image Processing.Google ScholarGoogle Scholar
  17. B. Chattopadhyay and S. Baruah. 2011. A lookup-table driven approach to partitioned scheduling. In IEEE Real-Time and Embedded Technology and Applications Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Baruah. 2011. The partitioned EDF scheduling of sporadic task systems. In IEEE Real-Time Systems Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Dong and H. Zeng. 2014. Minimizing stack memory for hard real-time applications on multicore platforms. In Conference on Design, Automation and Test in Europe. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. C. Wang, C. Dong, Z. Gu, and H. Zeng. 2015. Minimizing stack memory for hard real-time applications on multicore platforms with partitioned fixed-priority or EDF scheduling. ACM Transactions on Design Automation of Electronic Systems 21, 3 (2015), 1--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. B. Brandenburg. 2013. A fully preemptive multiprocessor semaphore protocol for latency-sensitive real-time applications. In Euromicro Conference on Real-Time Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A. Block, H. Leontyev, B. Brandenburg, and J. Anderson. 2007. A flexible real-time locking protocol for multiprocessors. In Real-Time Computing Systems and Applications. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. H. Zeng and M. Di Natale. 2011. Mechanisms for guaranteeing data consistency and time determinism in AUTOSAR software on multi-core platforms. In IEEE Symposium on Industrial Embedded Systems.Google ScholarGoogle Scholar
  24. C. Sofronis, S. Tripakis, and P. Caspi. 2006. A memory-optimal buffering protocol for preservation of synchronous semantics under preemptive scheduling. In ACM International Conference on Embedded software. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. G. Wang, M. Di Natale, and A. Sangiovanni-Vincentelli. 2009. Improving the size of communication buffers in synchronous models with time constraints. IEEE Transactions on Industrial Informatics 5, 3 (Aug. 2009), 229--240.Google ScholarGoogle Scholar
  26. G. Han, H. Zeng, M. Di Natale, X. Liu, and W. Dou. 2014. Experimental evaluation and selection of data communication mechanisms in multicore platforms. IEEE Transactions on Industrial Informatics 10, 2 (May 2014), 903--918.Google ScholarGoogle Scholar
  27. F. Nemati, T. Nolte, and M. Behnam. 2010. Partitioning real-time systems on multiprocessors with shared resources. In Conference on Principles of Distributed Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. L. Sha, R. Rajkumar, and J. P. Lehoczky. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Transactions on Computers 39, 9 (1990), 1175--1185. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. J. Chen et al. 2016. Many Suspensions, Many Problems: A Review of Self-Suspending Tasks in Real-Time Systems. Department of Computer Science, Technical Report 854. TU Dortmund.Google ScholarGoogle Scholar
  30. T. Baker. 1990. A stack-based resource allocation policy for realtime processes. In IEEE Real-Time Systems Symposium.Google ScholarGoogle ScholarCross RefCross Ref
  31. A. Wieder and B. Brandenburg. 2013. On spin locks in AUTOSAR: Blocking analysis of FIFO, unordered, and priority-ordered spin locks. In IEEE Real-Time Systems Symposium.Google ScholarGoogle Scholar
  32. B. Brandenburg. 2013. Improved analysis and evaluation of real-time semaphore protocols for P-FP scheduling. In Real-Time and Embedded Technology and Applications Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. Herlihy. 1990. A methodology for implementing highly concurrent structures. ACM Symposium on Principles and Practices of Parallel Programming. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. N. Audsley. 2001. On priority assignment in fixed priority scheduling. Information Processing Letters 79, 1 (2001), 39--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. IBM ILOG CPLEX Optimization Studio. {Online}. Available: https://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/Google ScholarGoogle Scholar

Index Terms

  1. Partitioning and Selection of Data Consistency Mechanisms for Multicore Real-Time 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

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format
    About Cookies On This Site

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

    Learn more

    Got it!