Desktop Workload Characterization for CMP / SMT and Implications for Operating System Design

Much recent research has focused on operating system scheduling algorithms for managing shared resource contention on chip multiprocessors (CMPs) and simultaneous multithreaded (SMT) systems. While the relevance of those algorithms is apparent for server workloads, it is less obvious for desktop workloads. As CMP/SMT processors are becoming increasingly deployed in desktops, it is important to understand whether such sophisticated algorithms are required in a desktop OS. Those algorithms would be required if desktop workloads exhibited sufficient parallelism, as this would imply contention for CMP/SMT shared resources which should be managed by the OS. To determine whether such parallelism is present in desktop workloads, we conducted a study of workloads by collecting live performance data from home, university staff and lab computers. We concluded that most workloads have low parallelism, which justifies scheduling algorithms that perform load balancing and power consumption management on lightly loaded CMP/SMT systems. Furthermore, these workloads do not have sufficiently high parallelism to justify performance-optimizing contention management algorithms that rely on having many runnable threads. An important implication of our findings is that more work is needed on runtime parallelization and speculative multithreading so that desktop workloads can benefit from CMP/SMT systems with larger degrees of parallelism.