Book contents
- Frontmatter
- Dedication
- Contents
- Preface
- Annotated Table of Contents
- Acknowledgments
- Part I Overview
- Part II Real-Time Software Design Method
- Part III Analysis of Real-Time Software Designs
- 16 System and Software Quality Attributes for Real-Time Embedded Systems
- 17 Performance Analysis of Real-Time Software Designs
- 18 Applying Performance Analysis to Real-Time Software Designs
- Part IV Real-Time Software Design Case Studies for Embedded Systems
- Appendix A Conventions Used in This Textbook
- Appendix B Catalog of Software Architectural Patterns
- Appendix C Pseudocode Templates for Concurrent Tasks
- Appendix D Teaching Considerations
- Glossary
- Bibliography
- Index
17 - Performance Analysis of Real-Time Software Designs
from Part III - Analysis of Real-Time Software Designs
Published online by Cambridge University Press: 05 March 2016
- Frontmatter
- Dedication
- Contents
- Preface
- Annotated Table of Contents
- Acknowledgments
- Part I Overview
- Part II Real-Time Software Design Method
- Part III Analysis of Real-Time Software Designs
- 16 System and Software Quality Attributes for Real-Time Embedded Systems
- 17 Performance Analysis of Real-Time Software Designs
- 18 Applying Performance Analysis to Real-Time Software Designs
- Part IV Real-Time Software Design Case Studies for Embedded Systems
- Appendix A Conventions Used in This Textbook
- Appendix B Catalog of Software Architectural Patterns
- Appendix C Pseudocode Templates for Concurrent Tasks
- Appendix D Teaching Considerations
- Glossary
- Bibliography
- Index
Summary
Performance analysis of software designs is particularly important for real-time systems. The consequences of a real-time system failing to meet a deadline can be catastrophic. It is therefore necessary to analyze the performance of a real-time software design before it is implemented. Since the performance analysis is for a concurrent design, it can be carried out as soon as the task architecture has been designed, as described in Chapter 13.
Quantitative analysis of a real-time system design allows the early detection of potential performance problems. The analysis is for the concurrent software design conceptually executing on a given hardware configuration with a given external workload applied to it. Early detection of potential performance problems allows alternative software designs and hardware configurations to be investigated, including single-processor and multiprocessor systems.
This chapter describes performance analysis of software designs by applying real-time scheduling theory to software designs. Real-time scheduling is a particularly appropriate approach for hard real-time systems that have deadlines that must be met (Sha and Goodenough 1990). With this approach, the real-time design is analyzed to determine whether it can meet its deadlines.
This chapter describes two approaches for analyzing the performance of a design. The first approach uses real-time scheduling theory, and the second uses event sequence analysis. The two approaches are then combined. Both real-time scheduling theory and event sequence analysis are applied to a design consisting of a set of concurrent tasks. Section 17.1 provides an introduction to real-time scheduling theory, in particular the rate-monotonic algorithm and two of its theorems, the utilization bound theorem, and the completion time theorem. Section 17.2 describes how real-time scheduling theory can be extended to address aperiodic tasks and task synchronization. Section 17.3 describes the generalized real-time scheduling theory, which can be applied in cases in which the rate-monotonic assumptions do not hold. Section 17.4 describes performance analysis of real-time software designs using event sequence analysis. Section 17.5 then describes how real-time scheduling theory and event sequence analysis can be combined to analyze the performance of real-time software designs. Section 17.6 describes advanced real-time scheduling algorithms, including deadline-monotonic scheduling, dynamic priority scheduling, and scheduling for multiprocessor systems. Section 17.7 describes performance analysis of multiprocessor systems, including multicore systems. Finally, Section 17.8 describes the estimation and measurement of performance parameters.
- Type
- Chapter
- Information
- Real-Time Software Design for Embedded Systems , pp. 324 - 345Publisher: Cambridge University PressPrint publication year: 2016