Litcius/Paper detail

Calculating Worst-Case Response Time Bounds for OpenMP Programs with Loop Structures

Jinghao Sun, Nan Guan, Zhishan Guo, Yekai Xue, Jing He, Guozhen Tan

202111 citationsDOI

Abstract

OpenMP is a promising framework for developing parallel real-time software on multi-cores. Recently, many graph-based task models representing realistic features of OpenMP task systems have been proposed and analyzed. However, all previous studies did not model the loop structures, which is common in OpenMP task systems. In this paper, we formulate the workload of OpenMP task systems with loop structures as the cyclic graph model and study how to compute safe upper bounds for the worstcase response time (WCRT). The loop structures combined with the creation of tasks and conditional branches result in a large state space. Simply unrolling the loop and/or enumerating all the possible execution flows would be computationally intractable. As the major technical contribution, we develop a linear-time dynamic programming algorithm to compute the WCRT bound without unrolling loops or explicitly enumerating the execution flows. Experiments with both synthetic task graphs and realistic OpenMP programs are conducted to evaluate the performance of our method.

Topics & Concepts

Computer scienceLoop unrollingParallel computingLoop (graph theory)Task (project management)SoftwareGraphWorkloadNested loop joinTheoretical computer scienceExecution timeProgramming languageCompilerOperating systemEconomicsMathematicsManagementCombinatoricsReal-Time Systems SchedulingSoftware System Performance and ReliabilityDistributed systems and fault tolerance
Calculating Worst-Case Response Time Bounds for OpenMP Programs with Loop Structures | Litcius