40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007)
A Framework for Providing Quality of Service in Chip Multi-Processors
Chicago, Illinois, USA
December 01-December 05
ISBN: 0-7695-3047-8
The trends in enterprise IT toward service-oriented com- puting, server consolidation, and virtual computing point to a future in which workloads are becoming increasingly di- verse in terms of performance, reliability, and availability requirements. It can be expected that more and more appli- cations with diverse requirements will run on a CMP and share platform resources such as the lowest level cache and off-chip bandwidth. In this environment, it is desirable to have microarchitecture and software support that can pro- vide a guarantee of a certain level of performance, which we refer to as performance Quality of Service. In this paper, we investigate a framework that would be needed for a CMP to fully provide QoS. We found that the ability of a CMP to partition platform resources alone is not sufficient for fully providing QoS. We also need an ap- propriate way to specify a QoS target, and an admission control policy that accepts jobs only when their QoS targets can be satisfied. We also found that providing strict QoS often leads to a significant reduction in throughput due to resource fragmentation. We propose novel throughput op- timization techniques that include: (1) exploiting various QoS execution modes, and (2) a microarchitecture tech- nique that steals excess resources from a job while still meeting its QoS target. We evaluated our QoS framework with a full system simulation of a 4-core CMP and a re- cent version of the Linux Operating System. We found that compared to an unoptimized scheme, the throughput can be improved by up to 47%, making the throughput significantly closer to a non-QoS CMP.
Citation:
Fei Guo, Yan Solihin, Li Zhao, Ravishankar Iyer, "A Framework for Providing Quality of Service in Chip Multi-Processors," micro, pp.343-355, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007), 2007