On the performance verification of embedded systems with concurrent dynamic applications

Embedded systems that support multiple concurrent applications are becoming increasingly sophisticated. For instance, such systems are beginning to support dynamic applications (that is, applications that exhibit run-time dependence in their behavior). Deploying dynamic concurrent applications introduces new challenges in the design and verification of system architectures that support them. A unique aspect that characterizes the specification of such an application mix is the "temporal skew" between the applications. This skew is not necessarily known a priori. Since different skews could impose different processing requirements on the system, it becomes necessary to verify the system performance under all possible skews. We present a methodology for the rapid verification of such systems. The main idea is to formulate an analytical problem called the skew problem which aims to determine the "worst-case skew" between applications with run-time dependence, for a given system architecture. The worst-case skew is defined as the skew that imposes the most intensive processing requirements on the system architecture. We propose a fast analytical tool that solves the skew problem. The system can be verified by simulating it only for the mix of applications with the worst-case skew. All other skews are guaranteed their performance requirements. This speeds up the verification process since the number of simulation runs required is now decoupled from the combinatorics of the skew search space.