Explore chapters and articles related to this topic
Software Verification
Published in Leanna Rierson, Developing Safety-Critical Software, 2017
Knowing a program’s timing characteristics is essential for the successful design and execution of real-time systems. A critical timing measure is the WCET of a program. WCET is the longest possible time that it may take to complete the execution of a set of tasks on a given processor in the target environment. WCET analysis is performed to verify that the worst-case time stays within its allocation. Although the approach taken depends on the software and system architecture, WCET is typically both analyzed and measured.
System-Level Power Management
Published in Luciano Lavagno, Igor L. Markov, Grant Martin, Louis K. Scheffer, Electronic Design Automation for IC System Design, Verification, and Testing, 2017
Naehyuck Chang, Enrico Macii, Massimo Poncino, Vivek Tiwari
Path-based slack estimation for intratask DVS algorithms is also possible [26]. The control flow graph (CFG) of the task is used for slack time estimation; each node of the CFG is a basic block of the task, and each edge indicates control dependency between basic blocks. When the thread of execution control branches to the next basic block, the expected execution time is updated. If the expected execution time is smaller than the task’s WCET, the operating frequency can be lowered.
Statistical regression models for WCET estimation
Published in Quality Technology & Quantitative Management, 2019
Qiong Zhang, Yijie Huangfu, Wei Zhang
WCET analysis has been actively investigated in the last three decades (Ding & Zhang, 2014; Hansen, Hissam, & Moreno, 2009; Huangfu & Zhang, 2016, 2017; Puschner & Burns, 2000; Wilhelm et al., 2008; Wu & Zhang, 2012). Unfortunately, modern processors are designed for improving the average-case performance, not for time predictability. Advanced architectural features such as cache memories, deep pipelines, multithreading etc. make WCET analysis extremely complicated. For example, without a cache memory, each load operation takes a fixed number of cycles to access the main memory. With a cache memory, however, the latency of a load can vary, depending on whether it is a cache hit or not. If it is a hit, it may only take 1 or 2 cycles; otherwise, it takes much longer to access the main memory. Because whether a load hits into a cache or not is dependent on previous cache accesses at runtime, as well as the cache replacement algorithm, it is very difficult to compute this information statically.
Approximation algorithms in partitioning real-time tasks with replications
Published in International Journal of Parallel, Emergent and Distributed Systems, 2018
Jian (Denny) Lin, Albert M. K. Cheng, Gokhan Gercek
Several fundamental task models have been proposed to characterise real-time tasks. Based on the consequence of missing a deadline, real-time systems can be classified into the following three systems.Hard real-time system: all deadlines are required to meet and any miss of a deadline is deemed as a system failure.Firm real-time system: occasionally missing deadlines is acceptable but it may degrade the system’s quality of service.Soft real-time system: deadlines can be missed to some extent and the extent determines the quality of service.According to tasks’ arrival patterns, a real-time task can be defined as periodic, aperiodic or sporadic. A periodic task arrives regularly and has a hard deadline. It is defined by its period and Worst Case Execution Time (WCET). The period is the regular inter-arrival time between two instances of the same task. The WCET denotes the longest execution time of a task in all possibilities. A ratio between a WECT and a period is called a utilisation which defines the maximum CPU time demand for executing the task. Each instance of a periodic task is required to complete before the next instance of the same task arrives. An aperiodic task arrives irregularly and has either a hard or soft deadline. An aperiodic task that has a hard deadline and a minimum inter-arrival time is called a sporadic task. For sporadic tasks, a utilisation can be calculated by using the WCET and the minimum inter-arrival time.