
%     Registration    Chip Multi Processing(CMP) aware Linux Kernel Scheduler 
%  [2]Register/Submit Suresh Siddha (suresh.b.siddha@intel.com)               

Recent advances in semiconductor manufacturing and      
engineering technologies have led to the inclusion of   
more than one CPU core in a single physical package.    
This, popularly know as Chip Multi Processing (CMP),     
allows multiple instruction streams to execute at the   
same time. CMP is in addition to today's Simultaneous   
Multi Threading (SMT) capabilities, like Intel{\textregistered}        
Hyper-Threading technology which allows a processor to  
present itself as two logical processors, resulting in  
best use of execution resources. With CMP, today's      
Linux Kernel will deliver instantaneous performance     
improvement. Linux Kernel scheduler could be further    
optimized by making it CMP-aware.                       

In this paper, we will start with an overview of        
different CMP implementation's and then look into       
performance, power related optimization opportunities.  
We will describe the trade-offs between peak           
performance and power saving requirements. We will      
discuss how scheduler enhancements like                 

\begin{itemize}
\item adding a new scheduler domain for CMP                 

\item setting up domain properties based on CMP             
characteristics                                         

\item active load balancing in the context of CMP and SMT   
\end{itemize}

will improve the peak performance. Secondly, we will    
look at scheduler enhancements focusing power savings.  
We will then present scheduling policies that an        
administrator can select based on the performance and   
power requirements. We will close the paper with a      
brief look at CMP trends in future generation Intel(R)  
processors.                                             


