Elad Lahav wrote:
> Hi Jonathan,
>
> I am currently looking into different affinity policies on the Niagara 
> architecture, including the application threads and interrupt handlers. 

We are interested in affinity scheduling too.


> An important aspect of this work is the hierarchy of processing units 
> (chips, cores, threads) with respect to cache sharing, resource 
> utilisation, etc. I believe this quite relevant to what you have in mind.

I'm not sure whether you know much about what we have available in 
OpenSolaris already, but we have a "Processor Group (PG)" abstraction 
inside the kernel for keeping track of which CPUs share performance 
relevant hardware components (eg. execution pipeline, cache, etc.) now.  
The Processor Groups are organized into a hierarchy (tree) where each 
leaf corresponds to each CPU (eg. strand) and its ancestors are groups 
of processors ordered from the ones that share the most with the CPU 
(eg. CPUs that share execution pipeline with the leaf CPU) to the ones 
that share the least (eg. all the CPUs in the machine).


> I'll be more than willing to co-operate with you, or anyone else in 
> the OpenSolaris community, on this subject. 

That sounds great!

Can you please tell me more about your work or point me at any relevant 
papers or docs?



Jonathan


>
>
> Jonathan Chew wrote:
>> I would like to get sponsorship from the OpenSolaris performance 
>> community to host a CMT project which will focus on observability, 
>> performance enhancements, and potentially more in OpenSolaris for 
>> Chip Multi-Threaded (CMT) processors (including SMT, CMP, etc.).
>>
>> Specifically, the project will try to do the following in OpenSolaris:
>>
>> - Further develop a processor group abstraction for capturing the CMT 
>> processor sharing relationhips of performance relevant hardware 
>> components (eg. execution pipeline, cache, etc.)
>>
>> - Create an interface for determining which CPUs share what 
>> performance relevant hardware and the characteristics of these 
>> performance relevant hardware components
>>
>> - Add more performance optimizations to Solaris for CMT (eg. 
>> scheduling, I/O, etc.)
>>
>> - Improve load balancing for maximizing performance and potentially 
>> minimizing power consumption
>>
>> - Create APIs to facilitate performance optimizations for CMT
>>
>> - Make changes needed to make all of the above work well with 
>> virtualization
>>
>> - Improve upon the existing Solaris CMT enhancements
>>
>> - Add support for new CMT hardware as needed
>>
>> - Address any OpenSolaris CMT issues as they arise
>>
>>
>> In the process of doing all of this, I'm hoping that the project will 
>> facilitate collaboration in this area as well as a better 
>> understanding and appreciation of  CMT and OpenSolaris.
>>
>>
>> Jonathan
>>
>>
>> _______________________________________________
>> perf-discuss mailing list
>> perf-discuss@opensolaris.org
>
>

_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to