Andrei's Blog
Архив
« Декабрь 2005 »
ПнВтСрЧтПтСбВс
   
1
2
3
4
5
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
       
Сегодня
XML
Search

Связи
 

Хиты страниц за сегодня: 109

Все | CMT | Gadgets | Other | RM | Solaris | Wireless
« Previous day (Dec 5, 2005) | Main | Next day (Dec 7, 2005) »
20051206 вторник Декабрь 06, 2005
CMT Scheduling Optimizations for SunFire T2000

Hooray! We're announcing our new SunFire T2000 platform today. Being Sun's first server to incorporate the UltraSPARC T1 processor, it delivers remarkable performance in a rack-optimized 2U enclosure while drawing less than 400W of power. With prices starting at just $2995, it is probably the most affordable solution in its class on the market today. Here's a brief overview of SF T2K's main features.


SunFire T2000 is also Sun's first system with support for the Hypervisor. The Hypervisor is a small firmware layer that provides a stable virtualized machine architecture (sun4v) that runs below the operating system layer. The sun4v architecture is closely based on the legacy sun4u architecture of UltraSPARC-III systems, so as a result all sun4u applications just work on sun4v. The UltraSPARC T1 processor has new hyper-privileged mode of execution (in addition to user and privileged modes) so that the processor can distinguish between a legitimate access to various state registers by the hypervisor and illegitimate accesses by a rogue operating system. Memory is virtualized as well -- new intermediary "real" address address space is introduced so that the hypervisor can re-arrange physical memory resources without a guest OS needing to know exactly what happened. The I/O subsystem now also supports virtual devices. There's much more to talk about the Hypervisor, but that's a topic for a separate blog entry.

What I would like to talk about today is the scheduling optimizations that Eric Saxe and I have introduced for the SunFire T2000 platform. There are two main optimizations:

As an example of what things looks like when simple while(1) loops run on otherwise idle SunFire T2000 system, here are two snapshots from David Powell's wonderful xlp utility (download sparc and/or x86 version) showing 8 and 16 threads getting evenly distributed across all 8 cores.

Monitoring CPU utilization with mpstat is so last century :-)

We're now working on additional scheduling optimizations which should yield even better performance on CMT hardware. This is a new and very exciting area for us to be in and we're spending quite a bit of time with our colleagues from SunLabs trying to figure out how to squeeze the last bit of performance on these systems. The tricky part of doing scheduling optimizations is that you don't want to "overdo" it as the benefits might get washed out by the extra complexity introduced.

[ Technorati: , ]


дек 06 2005, 09:00:00 AM PST Permalink Комментарии [3]