在实时嵌入式系统设计中,为了保证系统的安全运行,需要验证系统是否满足时限,即任务必须在截止期之前完成,否则实时系统将失败。目前衡量实时嵌入式系统实时性的重要指标是任务的最坏情况执行时间(Worst Case Execution Time,WCET)。文...在实时嵌入式系统设计中,为了保证系统的安全运行,需要验证系统是否满足时限,即任务必须在截止期之前完成,否则实时系统将失败。目前衡量实时嵌入式系统实时性的重要指标是任务的最坏情况执行时间(Worst Case Execution Time,WCET)。文章首先综述了WCET分析以及研究WCET分析的主要方法。分析了在当前多核平台上、复杂处理器架构下WCET分析存在的主要问题,并根据当前WCET分析存在的问题展开讨论,分别针对时序分析、微系统结构分析和多核多任务调度策略等方面分析了国内外的研究进展。最后提出了一种基于深度学习的自适应实时DVFS算法,该算法可以进行动态电压和频率调节(DVFS),以达到节能的目的;同时还能够动态修正程序的WCET值,为未来嵌入式系统中的WCET分析与预测提供指导方法。展开更多
To overcome disadvantages of traditional worst-case execution time (WCET) analysis approaches, we propose a new WCET analysis approach based on independent paths for ARM programs. Based on the results of program flo...To overcome disadvantages of traditional worst-case execution time (WCET) analysis approaches, we propose a new WCET analysis approach based on independent paths for ARM programs. Based on the results of program flow analysis, it reduces and partitions the control flow graph of the program and obtains a directed graph. Using linear combinations of independent paths of the directed graph, a set of feasible paths can be generated that gives complete coverage in terms of the program paths considered. Their timing measurements and execution counts of program segments are derived from a limited number of measurements of an instrumented version of the program. After the timing measurement of the feasible paths are linearly expressed by the execution times of program seg-ments, a system of equations is derived as a constraint problem, from which we can obtain the execution times of program segments. By assigning the execution times of program segments to weights of edges in the directed graph, the WCET estimate can be calculated on the basis of graph-theoretical techniques. Comparing our WCET estimate with the WCET measurement obtained by the exhaustive measurement, the maximum error ratio is only 8.259 3 %. It is shown that the proposed approach is an effective way to obtain the safe and tight WCET estimate for ARM programs.展开更多
Worst-case execution time (WCET) analysis of multi-threaded software is still a challenge. This comes mainly from the fact that synchronization has to be taken into account. In this paper, we focus on this issue and o...Worst-case execution time (WCET) analysis of multi-threaded software is still a challenge. This comes mainly from the fact that synchronization has to be taken into account. In this paper, we focus on this issue and on automatically calculating and incorporating stalling times (e.g. caused by lock contention) in a generic graph model. The idea that thread interleavings can be studied with a matrix calculus is novel in this research area. Our sparse matrix representations of the program are manipulated using an extended Kronecker algebra. The resulting graph represents multi-threaded programs similar as CFGs do for sequential programs. With this graph model, we are able to calculate the WCET of multi-threaded concurrent programs including stalling times which are due to synchronization. We employ a generating function-based approach for setting up data flow equations which are solved by well-known elimination-based dataflow analysis methods or an off-the-shelf equation solver. The WCET of multi-threaded programs can finally be calculated with a non-linear function solver.展开更多
文摘在实时嵌入式系统设计中,为了保证系统的安全运行,需要验证系统是否满足时限,即任务必须在截止期之前完成,否则实时系统将失败。目前衡量实时嵌入式系统实时性的重要指标是任务的最坏情况执行时间(Worst Case Execution Time,WCET)。文章首先综述了WCET分析以及研究WCET分析的主要方法。分析了在当前多核平台上、复杂处理器架构下WCET分析存在的主要问题,并根据当前WCET分析存在的问题展开讨论,分别针对时序分析、微系统结构分析和多核多任务调度策略等方面分析了国内外的研究进展。最后提出了一种基于深度学习的自适应实时DVFS算法,该算法可以进行动态电压和频率调节(DVFS),以达到节能的目的;同时还能够动态修正程序的WCET值,为未来嵌入式系统中的WCET分析与预测提供指导方法。
基金Supported by the National High Technology Research and Development Program of China(863 Program,2009AA011705)the National Natural Science Foundation of China(60903033)
文摘To overcome disadvantages of traditional worst-case execution time (WCET) analysis approaches, we propose a new WCET analysis approach based on independent paths for ARM programs. Based on the results of program flow analysis, it reduces and partitions the control flow graph of the program and obtains a directed graph. Using linear combinations of independent paths of the directed graph, a set of feasible paths can be generated that gives complete coverage in terms of the program paths considered. Their timing measurements and execution counts of program segments are derived from a limited number of measurements of an instrumented version of the program. After the timing measurement of the feasible paths are linearly expressed by the execution times of program seg-ments, a system of equations is derived as a constraint problem, from which we can obtain the execution times of program segments. By assigning the execution times of program segments to weights of edges in the directed graph, the WCET estimate can be calculated on the basis of graph-theoretical techniques. Comparing our WCET estimate with the WCET measurement obtained by the exhaustive measurement, the maximum error ratio is only 8.259 3 %. It is shown that the proposed approach is an effective way to obtain the safe and tight WCET estimate for ARM programs.
文摘Worst-case execution time (WCET) analysis of multi-threaded software is still a challenge. This comes mainly from the fact that synchronization has to be taken into account. In this paper, we focus on this issue and on automatically calculating and incorporating stalling times (e.g. caused by lock contention) in a generic graph model. The idea that thread interleavings can be studied with a matrix calculus is novel in this research area. Our sparse matrix representations of the program are manipulated using an extended Kronecker algebra. The resulting graph represents multi-threaded programs similar as CFGs do for sequential programs. With this graph model, we are able to calculate the WCET of multi-threaded concurrent programs including stalling times which are due to synchronization. We employ a generating function-based approach for setting up data flow equations which are solved by well-known elimination-based dataflow analysis methods or an off-the-shelf equation solver. The WCET of multi-threaded programs can finally be calculated with a non-linear function solver.