Issue No. 06 - June (2000 vol. 33)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/2.846316
<p>In 1995, Raytheon Systems initiated a program to develop a DSP-based array processor that would be used to process large amounts of raw data from a sensor sub-system. But because the next-generation target processor hadn't yet been released, the software development team had to complete a significant amount of the system and software development prior to the availability of the actual hardware. To foster strong algorithmic performance and efficient implementation in this high-risk development environment, they incorporated software performance engineering into their design methods. Loosely defined, software performance engineering is a set of techniques designed to gather data, construct a system performance model, evaluate that model, manage the risk of uncertainty, evaluate alternatives, and verify the models and results.</p> <p>This article explains the author's experience on this project, detailing the areas of SPE that were used through-out the life cycle of this software development program: execution modeling, input modeling, gathering of performance data, tools, design principles, and software engineering. </p>
R. S. Oshana, "Winning Teams: Performance Engineering during Development," in Computer, vol. 33, no. , pp. 36-44, 2000.