Review: Sun's octo-core SPARC is made to multitask

The past few years have seen some major changes in Sun hardware. The return of Andy Bechtolsheim has brought forth an impressive array of new server hardware, and reinvented Sun as an x86 server vendor. But where does that leave the SPARC?

For many years the SPARC processor was lauded as the only high-end business platform worth investing in, and sales of SPARC-based servers and workstations were nearly as high as the prices. In the eighties and nineties, a tour through any financial company was roughly the same as a tour through a Sun showroom. In the late nineties that began to change, as Linux and even Solaris x86 began to surge in popularity due to the extremely low cost and reasonable performance. Since then, the performance game has left the SPARC platform bereft.

But all is not lost. The SPARC platform still has some kick left, and while that kick may not be in clock speed, it's certainly in the threads.

I've had a Sun SPARC Enterprise T5120 server in the lab for a few months now, and I've found it to be a very solid platform, as expected, and much like its predecessor based on the "Niagara" T1 processor, it's very, very good at some tasks, and not so good at others.

[See my review of Suns original, UltraSPARC T1-based server, the Sun Fire T2000.]

The reasons for this performance lie in the CPU itself. The T5120 runs the UltraSPARC T2 processor, which is a single CPU running four, six or eight cores. This architecture is a significant departure from the rest of the industry, and positions these servers to fill specific, highly transactional roles, foregoing the rest. In that capacity, they do quite well.

The tale of T2

The basis of the UltraSPARC T2 design is to fit as much onto the processor die as possible, decreasing latency and increasing bandwidth to mainline I/O, such as 10G Ethernet and RAM. In order to achieve this, Sun has basically produced a "system on a chip" with core-specific memory controllers, FPU, cryptographic accelerator (SPU, or Stream Processing Unit), and 4MB L2 cache, along with x8 PCIe and two 10G Ethernet controllers -- all residing on the CPU die.

Each of the eight discrete cores is positioned to support eight concurrent threads. All together, this equals a single CPU that uses less than 95W, and appears to the OS as 64 CPUs -- a neat trick.

This represents the second iteration of Sun's play in this game, supplanting the UltraSPARC T1. The T2 has many benefits over the T1, such as the integrated per-core FPU and crypto units. These two additions erase some of the math and crypto performance concerns of the T1, while bumping the top clock speed to 1.4GHz.

But what does this mean in the real world? Easy -- the T2 is a great choice for highly threaded applications, and a miserable choice for single-threaded applications. The low clock speed causes single-threaded apps to chug along, while the eight cores give multi-threaded apps plenty of room to stretch out. Each thread is still bound to the 1.4GHz clock speed but, depending on the application, that doesn't necessarily equal slower performance.

My T5120 evaluation unit came with the single, eight-core T2 CPU, 64GB of RAM, four copper gigabit Ethernet ports, two USB 2.0 ports, three PCI-E slots (two doubling as 10G Ethernet slots), serial and Ethernet service processor connections and redundant power supplies.

Up front, T5120 well equipped for local storage, as it's available with as many as four 2.5-inch 10K RPM SAS drives. I'm not entirely sure why Sun opted for the high concentration of local disk, as the nominal position of the T5120 is as a compute server, not a storage server, but given that they had the room, it's not unwelcome. When used with ZFS, Sun's revolutionary new file system, the internal storage options grow, especially in virtualization scenarios. It's easy to see the T5120 supplanting many physical SPARC-based servers by collapsing their workloads into Solaris Containers that feed from the T5120's 64-thread trough.

The other side of the T5120 is the low power consumption. The CPU runs at less than 95W, and the server itself runs relatively cool, hence the Sun CoolThreads designation. Certainly, in comparison to the behemoth Suns of yore, the T5120 steps lightly with both power consumption and heat generation.

A fix for ILOM

The management of the T5120 resides largely in the Sun ILOM (Integrated Lights-Out Manager), which is accessible via a serial and Ethernet connection. As with most of Sun's SPARC-based servers, there is no frame buffer in the server, so the only management options are the serial console, SSH, or Web-based management tools.

It seems to me that these tools have actually gotten worse over the past few years, as I've found it harder to work with later iterations of the ILOM than those of just a few years ago. As a case in point, the ILOM for the T5120 was slow, even when only using SSH, and relatively Byzantine to work with on both the Web and SSH interfaces. The Web interface looks and feels like the management interface found on nearly all Sun servers, SPARC-based or otherwise, with the exception that there's no console applet. SSH to the ILOM is the only way to access the console remotely.

After consulting with Sun regarding the sluggish interface, I received a much newer firmware revision for the ILOM. Following that upgrade, the performance of the ILOM was significantly better on both the SSH and Web interfaces. As of this writing, the T5120s that are shipping now have this newer version installed.

Given the effort and care granted to the rest of the server, these issues are rather puzzling, but thankfully could be remedied with updated firmware, not updated hardware.

Naturally, the T5120 was built to run Solaris. In my tests, Solaris performed quite well on a number of standard tasks, such as Web and database work -- essentially any task that was sufficiently multi-threaded. As mentioned, the T5120 makes a great virtualization platform for these same reasons.

But Solaris isn't the only OS that can be run on the T5120. Ubuntu Server's SPARC release runs as well. Although I did encounter some initial Ubuntu-related installation problems, after those were resolved, Ubuntu 7.10 ran cleanly.

It was very interesting to run 'top' on that installation and see 64 CPUs appear, representing the fact that the UltraSPARC T2 offers each thread of each core as a separate CPU designation to the OS. Thus, eight cores times eight threads per core gets us to 64.

The overall performance of the T5120 under Ubuntu was roughly even with the performance under Solaris for normal tasks, though there are significant optimizations for the T2 processor in Solaris that will result in better FPU and crypto performance, at least for now.

Overall, the UltraSPARC T2 and the T5120 build upon the hallmarks of the first-generation UltraSPARC T1-based servers, and remind us that although the SPARC CPU may have been marginalized in recent years, it hasn't surrendered, and may in fact be making a comeback.

This story, "Review: Sun's octo-core SPARC is made to multitask" was originally published by InfoWorld.

Copyright © 2008 IDG Communications, Inc.

7 inconvenient truths about the hybrid work trend
Shop Tech Products at Amazon