This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Using OS Observations to Improve Performance in Multicore Systems
May/June 2008 (vol. 28 no. 3)
pp. 54-66
Paul Brett, Intel
Tong Li, Intel
Scott Hahn, Intel
Today?s operating systems don?t adequately handle the complexities of Multicore processors. Architectural features confound existing OS techniques for task scheduling, load balancing, and power management. This article shows that the OS can use data obtained from dynamic runtime observation of task behavior to ameliorate performance variability and more effectively exploit multicore processor resources. The authors? research prototypes demonstrate the utility of observation-based policy.

1. L. Hammond, B.A. Nayfeh, and K. Olukotun, "A Single-Chip Multiprocessor," Computer, vol. 30, no. 9, Sept. 1997, pp. 79-85.
2. Intel Corp, "A New Era of Architectural Innovation Arrives with Intel Dual-Core Processors," Technology@Intel Magazine,, May 2005, http://www.intel.com/technology/magazine/ computingDual-core-0505.pdf.
3. D.T. Marr et al., "Hyper-Threading Technology Architecture and Microarchitecture," Intel Technology J., vol. 6, no. 1, Feb. 2002, http://www.intel.com/technology/itj/archive 2002.htm.
4. J. Rattner, "Tera-Scale Computing-A Parallel Path to the Future," Intel Software Network,, Jan. 2005, http://softwarecommunity.intel.com/articles/ eng1275.htm.
5. Intel, 64 and IA-32 Architectures Software Developer's Manual, May 2007, http://www.intel.com/products/processor/ manualsindex.htm.
6. J.R. Bulpin and I.A. Pratt, "Hyper-Threading Aware Process Scheduling Heuristics," Proc. USENIX Ann. Tech. Conf,, Advanced Computing Systems Assoc., 2005, pp. 103-106.
7. L. Zhao et al., "CacheScouts: Fine-Grained Monitoring of Shared Caches in CMP Platforms," Proc. 16th Int'l Conf. Parallel Architecture and Compilation Techniques (PACT 07), IEEE CS Press, 2007, pp. 339-352.
8. X. Zhang et al., "Processor Hardware Counter Statistics as a First-Class System Resource," Proc. 11th Workshop on Hot Topics in Operating Systems, 2005, http://www.usenix.org/event/hotos07/tech/ full_papers/zhang/zhang_htmlhotos07.html .
9. A. Fedorova, M. Seltzer, and M.D. Smith, "Improving Performance Isolation on Chip Multiprocessors via an Operating System Scheduler," Proc. Int'l Conf. Parallel Architectures and Compilation Techniques (PACT 07), 2007.
10. J. Nakajima and V. Pallipadi, "Enhancements for Hyperthreading Technology in the Operating System: Seeking Optimal Scheduling," Proc. 2nd USENIX Workshop Industrial Experiences with Systems Software (WIESS 02), Advanced Computing Systems Assoc., 2002, pp. 35-38.
11. Y. Koh et al., "An Analysis of Performance Interference Effects in Virtual Environments," Proc. IEEE Int'l Symp. Performance Analysis of Systems and Software (ISPASS 07), IEEE CS Press, 2007, pp. 200-209.
12. D. Tam, R. Azimi, and M. Stumm, "Thread Clustering: Sharing-Aware Scheduling on SMP-CMP-SMT Multiprocessors," Proc. 2nd ACM SIGOPS European Conf. Computer Systems (EuroSys 07), ACM Press, 2007, pp. 47-58.
1. D. Tam, R. Azimi, and M. Stumm, "Thread Clustering: Sharing-Aware Scheduling on SMP-CMP-SMT Multiprocessors," Proc. 2nd ACM SIGOPS European Conf. Computer Systems (EuroSys 07), ACM Press, 2007, pp. 47-58.
2. G.E. Suh, S. Devadas, and L. Rudolph, "A New Memory Monitoring Scheme for Memory-Aware Scheduling and Partitioning," Proc. 8th Int'l Symp. High-Performance Computer Architecture (HPCA 02), IEEE CS Press, 2002, pp. 117-130.
3. S. Kim, D. Chandra, and Y. Solihin, "Fair Cache Sharing and Partitioning in a Chip Multiprocessor Architecture," Proc. 13th Int'l Conf. Parallel Architectures and Compilation Techniques (PACT 04), IEEE CS Press, 2004, pp. 111-122.
4. R.L. Matson et al., "Evaluation Techniques for Storage Hierarchies," IBM Systems J, vol. 9, no. 2 1970, pp. 78-117.
5. S. Cho and L. Jin, "Managing Distributed, Shared L2 Caches through OS-Level Page Allocation," Proc. 39th Ann. IEEE/ACM Int'l Symp. Microarchitecture (Micro 06), IEEE CS Press, 2006, pp. 455-468.
6. J. Lin et al., "Gaining Insights into Multicore Cache Partitioning: Bridging the Gap between Simulation and Real Systems to be published in Proc. 14th Int'l Symp," High-Performance Computer Architecture (HPCA 08), IEEE CS Press, 2008.
7. R.A. Hankins et al., "Multiple Instruction Stream Processor," Proc. 33rd Int'l Symp. Computer Architecture (ISCA 06), IEEE CS Press, 2006, pp. 114-127.
8. P.H. Wang et al., "EXOCHI: Architecture and Programming Environment for a Heterogeneous Multi-Core Multithreaded System," Proc. Conf. Programming Language Design and Implementation (PLDI 07), ACM Press, 2007, pp. 156-166.

Index Terms:
operating systems, microprocessors, multiprocessing
Citation:
Rob Knauerhase, Paul Brett, Barbara Hohlt, Tong Li, Scott Hahn, "Using OS Observations to Improve Performance in Multicore Systems," IEEE Micro, vol. 28, no. 3, pp. 54-66, May-June 2008, doi:10.1109/MM.2008.48
Usage of this product signifies your acceptance of the Terms of Use.