100 likes | 240 Views
Performance Analysis of Real-Time Systems. Fundamental Assertions Revisited. In a real-time system, the computer is monitoring and/or controlling something that interacts with one or more physical processes on a timetable basis
E N D
Fundamental Assertions Revisited • In a real-time system, the computer is monitoring and/or controlling something that interacts with one or more physical processes on a timetable basis • It is mandatory that the computer be keyed to the operations and associated timing constraints imposed by the physical process and not vice versa • It is therefore vital that computer system performance be analyzed to assure that all timing requirements can be met • The right answer too late is the wrong answer!
Possible Approaches to Analyzing and Predicting System Performance • Intuition and Trend Extrapolation • Rapid and flexible but probably inaccurate • Experimental Evaluation of Alternatives • Laborious, expensive, and inflexible but very accurate • Modeling • A compromise • An abstraction of system behavior • Enhances intuition and experimentation • Provides a framework for gathering, organizing, evaluating, and understanding system behavior
Modeling Approaches - Analytic Versus Simulation • Analytic Modeling - solving a set of equations directly • Small solution set • May compromise accuracy for efficiency • Good for sensitivity studies • Simulation Modeling - constructing and running a model (program) that mimics system behavior • Flexible • The degree of accuracy tends to be proportional to the level of effort (and cost) expended • May be slower
Simulation as a Method for the Analysis of Real-Time Computer Systems • Real-time software is usually characterized by concurrent, time-critical processes competing for shared resources. • Bottlenecks resulting from such competition will constrain the overall system performance capacity.
Simulation as a Method (continued) • Real-time systems should be analyzed so as to characterize their performance in terms of critical design parameters that affect such bottlenecks • Direct analytical solutions for this class of problems are not easily derived and often tend to emphasize mean values rather than individual process-level performance data such as instantaneous response times. Therefore, simulation is probably the most feasible approach to the analysis of real-time systems.
A Methodology for the Performance Characterization of Real-Time Systems • Define event/response threads for all events (for example, responses to interrupts). • Graphically represent time-critical processing threads. • Translate the identified processes into software modules such as tasks, interrupt service routines, etc.
A Methodology for the Performance Characterization (continued) • Identify the control mechanisms by which the various modules will be activated (for example, the scheduling policy used by a real-time OS). • Using the defined event/response diagrams, process scheduling mechanisms, event characterizations, processor characteristics, system level component interconnections and related transfer rates, estimated process execution times, etc., develop a discrete-event simulation model incorporatingall of the above.
A Methodology for the Performance Characterization (continued) • Progressively update the simulation model by inserting prototype execution-time measurements, as available, thereby predicting system level performance impact and thus iterating critical design parameters as required to meet system performance requirements.