Entry tags:
Performance Analysis: Day 1
Despite warnings that the course material was rather dry, I found today's course rather enjoyable. But then I've always thought underlying theory to be more important than a superficial knowledge of the available command set.
We started off by discussing the nature of performance problems, where they come from, how to tell whether there's a genuine problem and how to know when to stop trying to improve things. We then moved on to talk about the differences between processes and threads, the nature of the AIX scheduler and the way that it implements affinity, before doing a couple of exercises in which we changed some of the scheduler parameters to see how they affected running processes.
One point that bothered my slightly was the contention that it wasn't necessarily a bad thing for processes to clock up large amounts of time running in system space. In my experience, the accumulation of large amounts of system CPU on a machine typically indicates some sort of pathological problem — typically with IO — caused by one the running processes. This may be slightly naive and my observation might only be valid when applied to large numerical models, but I have thought that most normal applications would want to avoid spending all their time in kernel space if only so to allow them to undertake some useful computational work.
We started off by discussing the nature of performance problems, where they come from, how to tell whether there's a genuine problem and how to know when to stop trying to improve things. We then moved on to talk about the differences between processes and threads, the nature of the AIX scheduler and the way that it implements affinity, before doing a couple of exercises in which we changed some of the scheduler parameters to see how they affected running processes.
One point that bothered my slightly was the contention that it wasn't necessarily a bad thing for processes to clock up large amounts of time running in system space. In my experience, the accumulation of large amounts of system CPU on a machine typically indicates some sort of pathological problem — typically with IO — caused by one the running processes. This may be slightly naive and my observation might only be valid when applied to large numerical models, but I have thought that most normal applications would want to avoid spending all their time in kernel space if only so to allow them to undertake some useful computational work.