New things in CPU-land

AnandTech had a very interesting article about a new Sun CPU coming out.

Read it here.

To summarize, Sun is putting out an 8-core CPU that is focused on multiple threads running in order, and doing it with minimal memory latency, custom built for 'server loads'. Loads such as running a lot of SSL threads, or simple DB queries. According to the Sun provided benchmarks, the winners in the desktop number crunching market (Opteron) don't perform nearly as well in a typical 'enterprise server' environment. Which I believe, since there is a big difference between the loads required to drive a rendering engine and the load required for driving a website running Apache+Tomcat+MySql.

One of the really neat things Sun did was to increase register count. Each individual core has enough register space to store 4 complete sets of registers, rather than performing a context-switch out to the L1 cache like AMD and Intel chips both do. This means that each core can switch it's context in one cycle, rather than 3-4, and that provides speed increases.

The CPU then cycles between the four thread context per cycle, so every 4th cycle the same thread gets executed. That may sound like a performance decrease, but when you factor in fetches from memory it really isn't. The larger register file allows for fetches from L1 cache. If a thread on an AMD/Intel chip fetches from L1, the CPU sits idle for 3 cycles before getting the data. On this Sun CPU, the thread ALREADY was going to sit idle, and in the cycles between the fetch and the arrival of the data the CPU can perform operations on the other three threads in the registry. Those same threads may issue their own L1-gets, which has the happy side-effect of pipelining the memory channel in a way that AMD/Intel aren't doing.

We're not doing enough data-pushing of this type to really benefit from the new CPU. Our Solaris systems might be getting to the point of needing it, but we JUST finished a hardware refresh on that side of the house so the point is moot at the moment. Also, that kind of processing on the Intel side of the house isn't prevalent enough nor critical enough to warrant a change in platform. So I'm hoping this new architecture inspires Intel/AMD to put out CPUs that do a lot of the same things. Once that happens, I'm all over it.