Home
Scholarly Works
Introducing performance engineering by means of...
Conference

Introducing performance engineering by means of tools and practical exercises

Abstract

In the past software developers had to be careful when developing applications as resources were often scarce and the management of such scare resources was a complex issue. Advances in software technologies have allowed for developers today to concentrate less on lower-level issues such as performance and resource management. An example of this can be seen in modern languages that provide garbage collection facilities, freeing developers from having to explicitly manage memory. Other examples can be found in enterprise-level software frameworks where the framework handles complex underlying issues such as security, persistence, and concurrency. Freeing developers from having to worry about what is happening 'under the hood' allows them to concentrate more on developing the functionality of a system. A downside of this is that developers often disregard performance issues completely and give no thought to how their design and implementation impacts on the overall system performance. Evidence of this is provided by recent surveys that show a high percentage of software systems fail to meet their performance goals in time. Developers' disregard for performance-related matters can be attributed to the fact that developers often do not have a good understanding of the basic concepts of performance engineering. This is hardly surprising since many software engineers complete their education without a formal introduction to the most basic performance engineering concepts.In light of the current lack of understanding in this area, "Performance of Computer Systems", a first year postgraduate/final year undergraduate course, was offered at UCD's School of Computer Science and Informatics in Autumn 2005, covering performance engineering and analysis basics. This paper discusses how, in this course, we went about introducing performance engineering to the students through practical exercises. We focus on the performance tools used and document how these tools were used to educate the students on performance through (real-world) practical exercises.

Authors

Ufimtsev A; Parsons T; Patcas L; Murphy J; Murphy L

Publisher

Association for Computing Machinery (ACM)

Publication Date

January 1, 2006

DOI

10.1145/1188966.1189019

Name of conference

Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research - CASCON '06
View published work (Non-McMaster Users)

Contact the Experts team