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

Связи
 

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

Все | CMT | Gadgets | Other | RM | Solaris | Wireless
« Sun Studio 11 is Out... | Main | How To Add New TrueT... »
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]

Trackback URL: http://blogs.sun.com/andrei/entry/cmt_scheduling_optimizations_for_sunfire
Комментарии:

My customer has just seen this blog, and running a simple while loop (while true; do echo test; done), he sees this on his 8-core T2000 using the xlp.sparc utility: http://www.my-planet.co.uk/scrap/Screenshot.jpg He also tried a simple java program that creates 5 threads, and xlp again only showed one core processing at a time, as did prstat. Not exactly what he expected. Are we missing something?

опубликовал Vishal Bhalla Июль 07, 2006 at 02:23 AM PDT #

Well, for a case with just one CPU busy thread, what else would you expect? One thread can only run on one CPU. For a case with 5 threads, this is more interesting. When you say that his java program creates 5 threads, what exactly do these threads do? Do they all just spin on the CPUs, or do they do something else?

опубликовал Andrei Июль 10, 2006 at 10:14 AM PDT #

I just downloaded xlp.sparc to monitor my Sunfire T2000. There are two colors (Red and Green) on the CPU bar display. The green portion is a very small portion in the CPU bar. Most of the color on the bars are red. What do the colors mean for the diagram? Does that mean the application is not fully using the CPU?

опубликовал James Chiou Октябрь 02, 2007 at 11:50 AM PDT #

Опубликовать комментарий:

Имя
E-Mail:
URL:

Ваш комментарий:

HTML Syntax: Отключен