Pour examiner clairement les caractéristiques de performance d'une charge de travail, une dynamique plutôt qu'un modèle statique d'exécution de programme est nécessaire, comme illustré dans la figure suivante.
Figure 1 : Hiérarchie d'exécution de programme. La figure est un triangle sur sa base. Le côté gauche représente les entités matérielles correspondant à l'entité de système d'exploitation appropriée sur le côté droit. Un programme doit passer du niveau le plus bas, celui du stockage sur disque, au niveau le plus élevé, celui du processeur qui exécute les instructions du programme. Par exemple, de bas en haut, l'entité matérielle du disque contient des programmes exécutables ; la mémoire réelle contient des unités d'exécution du système d'exploitation en attente et des gestionnaires d'interruptions ; la mémoire tampon de conversion contient des unités d'exécution distribuées ; le cache contient l'unité d'exécution actuellement répartie et le pipeline et les registres du processeur contiennent l'instruction en cours.
Pour s'exécuter, un programme doit remonter les hiérarchies du matériel et du système d'exploitation en parallèle. Chaque élément de la hiérarchie matérielle est plus rare et plus coûteux que l'élément en dessous. Non seulement le programme doit faire face à d'autres programmes pour chaque ressource, mais la transition d'un niveau à l'autre prend du temps. Pour comprendre la dynamique de l'exécution du programme, vous devez avoir une compréhension de base de chacun des niveaux de la hiérarchie.