skip to main content
research-article

Tightening Contention Delays While Scheduling Parallel Applications on Multi-core Architectures

Published:27 September 2017Publication History
Skip Abstract Section

Abstract

Multi-core systems are increasingly interesting candidates for executing parallel real-time applications, in avionic, space or automotive industries, as they provide both computing capabilities and power efficiency. However, ensuring that timing constraints are met on such platforms is challenging, because some hardware resources are shared between cores.

Assuming worst-case contentions when analyzing the schedulability of applications may result in systems mistakenly declared unschedulable, although the worst-case level of contentions can never occur in practice. In this paper, we present two contention-aware scheduling strategies that produce a time-triggered schedule of the application’s tasks. Based on knowledge of the application’s structure, our scheduling strategies precisely estimate the effective contentions, in order to minimize the overall makespan of the schedule. An Integer Linear Programming (ILP) solution of the scheduling problem is presented, as well as a heuristic solution that generates schedules very close to ones of the ILP (5% longer on average), with a much lower time complexity. Our heuristic improves by 19% the overall makespan of the resulting schedules compared to a worst-case contention baseline.

References

  1. Ahmed Alhammad and Rodolfo Pellizzoni. 2014. Time-predictable execution of multithreaded applications on multicore systems. In Design, Automation and Test in Europe Conference and Exhibition (DATE), 2014. IEEE, 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Matthias Becker, Dakshina Dasari, Borislav Nicolic, Benny Akesson, Vincent Nélis, and Thomas Nolte. 2016. Contention-free execution of automotive applications on a clustered many-core platform. In Real-Time Systems (ECRTS), 2016 28th Euromicro Conference on. IEEE, 14--24.Google ScholarGoogle ScholarCross RefCross Ref
  3. Gerald G. Brown and Robert F. Dell. 2007. Formulating integer linear programs: A rogues’ gallery. INFORMS Transactions on Education 7, 2 (2007), 153--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Yoonseo Choi, Yuan Lin, Nathan Chong, Scott Mahlke, and Trevor Mudge. 2009. Stream compilation for real-time embedded multicore systems. In Code Generation and Optimization, 2009. CGO 2009. International Symposium on. IEEE, 210--220. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Edward G. Coffman Jr, Michael R. Garey, and David S. Johnson. 1996. Approximation algorithms for bin packing: A survey. In Approximation Algorithms for NP-hard Problems. PWS Publishing Co., 46--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Dakshina Dasari and Vincent Nélis. 2012. An analysis of the impact of bus contention on the WCET in multicores. In High Performance Computing and Communication 8 2012 IEEE 9th International Conference on Embedded Software and Systems (HPCC-ICESS), 2012 IEEE 14th International Conference on. IEEE, 1450--1457. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Dakshina Dasari, Vincent Nelis, and Benny Akesson. 2016. A framework for memory contention analysis in multi-core platforms. Real-Time Systems 52, 3 (2016), 272--322. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. RI Davis and A Burns. 2011. A survey of hard real-time scheduling algorithms for multiprocessor systems. In ACM Computing Surveys (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Benoît Dupont De Dinechin, Duco Van Amstel, Marc Poulhiès, and Guillaume Lager. 2014. Time-critical computing on a single-chip massively parallel processor. In Design, Automation and Test in Europe Conference and Exhibition (DATE), 2014. IEEE, 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Steven Derrien, Isabelle Puaut, Panayiotis Alefragis, Marcus Bednara, Harald Bucher, Clément David, Yann Debray, Umut Durak, Imen Fassi, Christian Ferdinand, Damien Hardy, Angeliki Kritikakou, Gerard Rauwerda, Simon Reder, Martin Sicks, Timo Stripf, Kim Sunesen, Timon ter Braak, Nikolaos Voros, and Jürgen Becker. 2017. WCET-aware parallelization of model-based applications for multi-cores: The ARGO approach. In Design, Automation and Test in Europe Conference and Exhibition (DATE), 2017. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Robert P. Dick, David L. Rhodes, and Wayne Wolf. 1998. TGFF: Task graphs for free. In Proceedings of the 6th International Workshop on Hardware/Software Codesign. IEEE Computer Society, 97--101. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Gabriel Fernandez, Jaume Abella Ferrer, Eduardo Qui nones Moreno, Christine Rochange, Tullio Vardanega, Francisco Javier Cazorla Almeida, et al. 2014. Contention in multicore hardware shared resources: Understanding of the state of the art. (2014).Google ScholarGoogle Scholar
  13. Georgia Giannopoulou, Nikolay Stoimenov, Pengcheng Huang, Lothar Thiele, and Benoît Dupont Dinechin. 2016. Mixed-criticality scheduling on cluster-based manycores with shared communication and storage resources. Real-Time Systems Journal 52, 4 (July 2016), 399--449. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Michael I. Gordon, William Thies, Michal Karczmarek, Jasper Lin, Ali S. Meli, Andrew A. Lamb, Chris Leger, Jeremy Wong, Henry Hoffmann, David Maze, et al. 2002. A stream compiler for communication-exposed architectures. In ACM SIGPLAN Notices, Vol. 37. ACM, 291--303. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Igor Griva, Stephen G. Nash, and Ariela Sofer. 2008. Linear and Nonlinear Optimization, Second Edition. Society for Industrial Mathematics.Google ScholarGoogle Scholar
  16. Rihani Hamza, Moy Matthieu, Maiza Claire, Davis Robert I., and Altmeyer Sebastian. 2016. Response time analysis of synchronous data flow programs on a many-core processor. In Proceedings of the 24th International Conference on Real-Time Networks and Systems (RTNS 2016). ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Catherine E. Jarrett, Bryan C. Ward, and James H. Anderson. 2015. A contention-sensitive fine-grained locking protocol for multiprocessor real-time systems. In Proceedings of the 23rd International Conference on Real Time and Networks Systems. ACM, 3--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Timon Kelter, Tim Harde, Peter Marwedel, and Heiko Falk. 2013. Evaluation of resource arbitration methods for multi-core real-time systems. In WCET. 1--10.Google ScholarGoogle Scholar
  19. Hyoseung Kim, Dionisio De Niz, Björn Andersson, Mark Klein, Onur Mutlu, and Ragunathan Rajkumar. 2014. Bounding memory interference delay in COTS-based multi-core systems. In Real-Time and Embedded Technology and Applications Symposium (RTAS), 2014 IEEE 20th. IEEE, 145--154.Google ScholarGoogle ScholarCross RefCross Ref
  20. Mircea Negrean, Simon Schliecker, and Rolf Ernst. 2009. Response-time analysis of arbitrarily activated tasks in multiprocessor systems with shared resources. In Proceedings of the Conference on Design, Automation and Test in Europe. European Design and Automation Association, 524--529. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Rodolfo Pellizzoni, Emiliano Betti, Stanley Bak, Gang Yao, John Criswell, Marco Caccamo, and Russell Kegley. 2011. A predictable execution model for COTS-based embedded systems. In 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium. IEEE, 269--279. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Simon Schliecker, Mircea Negrean, and Rolf Ernst. 2010. Bounding the shared resource load for the performance analysis of multiprocessor systems. In Proceedings of the Conference on Design, Automation and Test in Europe. European Design and Automation Association, 759--764. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Martin Schoeberl, Florian Brandner, Stefan Hepp, Wolfgang Puffitsch, and Daniel Prokesch. 2015. Patmos reference handbook. Technical University of Denmark, Tech. Rep (2015).Google ScholarGoogle Scholar
  24. Richard N. Taylor. 1983. Complexity of analyzing the synchronization structure of concurrent programs. Acta Informatica 19, 1 (1983), 57--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. William Thies, Michal Karczmarek, and Saman Amarasinghe. 2002. StreamIt: A language for streaming applications. In Compiler Construction. Springer, 179--196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Stephen Warshall. 1962. A theorem on boolean matrices. Journal of the ACM (JACM) 9, 1 (1962), 11--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Heechul Yun, Rodolfo Pellizzon, and Prathap Kumar Valsan. 2015. Parallelism-aware memory interference delay analysis for cots multicore systems. In Real-Time Systems (ECRTS), 2015 27th Euromicro Conference on. IEEE, 184--195. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Tightening Contention Delays While Scheduling Parallel Applications on Multi-core Architectures

          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
          About Cookies On This Site

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

          Learn more

          Got it!