The Glamor in Mass Transit (?)
Given a choice, few consumers would pick a double decker bus over an Italian sports car.
But if you were in the business of moving people at maximum efficiency, buses are hard to beat. Their mileage per passenger mile is >20x your average sports car. One way they achieve this, in the language of IT, is that buses parallelize transportation. They optimize for multi passenger performance, versus single passenger performance (largely the opposite of what most consumers do, parents in minivans notwithstanding).
That same focus on industrial efficiency (and divergence from consumer preference) has been washing over the datacenter for a few years. While consumers turn to Dolce and Gabbana
phones, datacenters are increasingly pining for high performance buses - infrastructure optimized for utilization, efficiency, and overall performance, not just simple component speed.
That's a focus we initiated years ago - when we dove into chip multi-threading, shipping the industry's first octal (8) core microprocessor - each core with 4 threads of execution, making for a sub-$4,000 server capable of doing 32 threads of work simultaneously (with great mileage). (Click here to try one free.) We deliberately prioritized efficiency over single thread performance - and it was a good bet. Intel, AMD, IBM and Sun are now all investing heavily in multi-core platforms - with Sun farthest ahead, having taped out the world's only mainstream hexa-deca (16) core microprocessor. (Which I embarassingly referred to as a "hexacore" chip on our last earning's call... I've since been practicing, hexadecacore. Say it with me, hexa-deca-core.)
Hardware without software isn't worth much, and happily, Solaris knows how to "scale," or take advantage of all those separate lanes - so applications can take immediate advantage of the innovation without any extra work. Customers can run one application on each thread on the chip, or one app over many threads, or even assign different OS's to each core on the chip - with every permutation in between (now fashionably referred to as "server virtualization"). The result? Customers buy fewer, bigger boxes, consume less space and power, and generally get way better mileage. Traditionally, if you wanted to guarantee application performance, you gave an application its own server. Server virtualization products like VMWare and Solaris 10 let you condense lots of apps onto a single box, giving each the illusion it has its own box - while a policy engine automates how precious cpu and memory are allocated to guarantee the same performance. Again, radically reducing boxes, power, space, heat - and spend.
We're bringing that same virtualization to the storage world - having released a file system, ZFS, that knows how to "scale," eliminating volume management and abstracting away the complexities of dealing with herds of disk drives. Even when those drives fail (after all, there are only two types of disk drives: those that have failed, and those that are about to do so). With some of our customers deploying thousands and even tens of thousands of disk drives, ZFS allows for big pools to be simply aggregated together, delivering reliable service from cheap parts - with incredible simplicity and data integrity.
And that leaves only one segment of the datacenter untouched by a focus on parallelism and virtualization. And for the company that's always said, "the network is the computer," it's been an obvious gap. What about the network itself?
As you may know, most networking devices are single threaded - they parallelize work via physical ports. You want more network? Buy more ports. Yielding all kinds of cabling messes, waste, management headaches and even weight problems (copper weighs a lot, and raised floor datacenters are now hitting their weight limits - no, I'm not joking). The networking world has, for the most part, failed to keep pace with the brutal efficiency parallelization of the computing world.
In a perfect world, you'd want computers, not people, to dynamically allocate scarce networking resources, like we now see with server resources - assigning, say, lots of bandwidth and guaranteed service levels to high value customers, and less of both to low value (or 'best effort') services. You'd want a simple policy engine, not a human being, making such decisions - responding to demand or business rules without physical intervention (eliminating cable swaps and port proliferation, for example). That is, you'd want to virtualize the network, too.
That's why we just introduced Project Neptune - a silicon project that marries the parallelism of the microprocessor (for Intel, AMD and SPARC systems), with the parallelism of the underlying operating system (Solaris, Linux or Windows), with parallelism in the network itself. Which in
concert with some software magic (which goes by the name of the Crossbow project) allows enterprises to collapse cabling, ports, cards and spending - by bringing parallelism to basic network infrastructure (for geeks, you can take multiple TCP streams and allocate them to different processor threads, spreading out load and freeing up CPU's/ports). Ports become a physical convenience, just like a server - what's happening inside depends upon rules or policies set by the user/administrator to automate such decisions. Like I said, the network is the computer, and the computer's virtualized, so why not the network?
Now who would find Project Neptune appealing? Anyone's whose spending, for either software licenses, administrative effort, NIC cards, cabling or hosting charges, is related to the number of ports in their datacenter.
After all, the future of network computing looks a lot more like a greyhound bus station than a Formula 1 race - as unglamorous as that might be, buses are a lot more efficient, and a lot better for the planet. Fewer, more powerful ports, like fewer, more powerful servers, is a good thing (for us, anyways :).
If you'd like to try a Neptune card for free, just click here. And before you ask, yes, that is a Project Blackbox mocked up like a bus, and no, it's not a new form factor.
For far more technical details and insights (on Project Neptune and Crossbow), here are some great links and blogs:
Sunay's summary of Project Crossbow in Solaris 10.
Another great blog entry, this one from Ariel Hendel.
And here's another interesting read.
Update:
And best of all, here's a truly great podcast, brought to you by some of the engineers responsible for the innovations in Solaris and Neptune.
And lastly...
Today marks Sun's 25th birthday - there will be lots of folks focused on the proper celebrations (throughout the year - stay tuned). Having been at Sun for only 10 years, I'm very much in awe of our history, and still feel like a newbie (the podcast, above, features four individuals who have each, even the youngest, been at Sun for longer than I).
To me, the best way of celebrating Sun's history - is to celebrate the future we're helping to create. Neptune's a timely example. The network is the computer... indeed.
Happy Birthday, everyone!
Posted on 10:15AM Feb 24, 2007 | Comments[29]

























Posted by Per Sandstrom on February 24, 2007 at 11:13 AM PST #
Posted by Vikas on February 24, 2007 at 01:15 PM PST #
Posted by Mark Edwards on February 24, 2007 at 02:49 PM PST #
Posted by Kevin Hutchinson on February 24, 2007 at 05:01 PM PST #
Posted by Tony Bivona on February 24, 2007 at 05:53 PM PST #
Posted by Lee Hepler on February 24, 2007 at 06:24 PM PST #
Posted by William R. Walling on February 24, 2007 at 08:38 PM PST #
Posted by RJS on February 25, 2007 at 01:11 AM PST #
Posted by Vikas on February 25, 2007 at 01:49 AM PST #
Posted by Jeff 'SKI' Kinsey on February 25, 2007 at 08:32 AM PST #
Posted by Laurent on February 25, 2007 at 09:01 PM PST #
Posted by Pavlos Georgiadis on February 26, 2007 at 03:47 AM PST #
Posted by gil on February 26, 2007 at 10:40 AM PST #
Posted by Dean Ross-Smith on February 26, 2007 at 12:26 PM PST #
Posted by Adam on February 26, 2007 at 03:50 PM PST #
Posted by Jon Cohen on February 26, 2007 at 04:48 PM PST #
Posted by Kemp Watson on February 27, 2007 at 07:10 AM PST #
Posted by sairam on February 27, 2007 at 07:26 AM PST #
Posted by Jonathan Sparrow on February 27, 2007 at 07:33 AM PST #
Posted by Alan M. Feldstein on February 27, 2007 at 05:44 PM PST #
Posted by OSProponent on February 27, 2007 at 06:36 PM PST #
Posted by Kenneth Noisewater on February 28, 2007 at 02:41 PM PST #
Posted by Kevin on March 01, 2007 at 04:56 AM PST #
Jon, I suspect the correct word for a 16-core should be "exakaideka-core", along the lines of triskaidekaphobia which is the irrational fear of number thirteen.
Posted by Gianni on March 01, 2007 at 08:39 AM PST #
Posted by Amanda on March 01, 2007 at 03:27 PM PST #
Posted by Ian on March 02, 2007 at 01:24 AM PST #
Posted by HC on March 02, 2007 at 07:49 AM PST #
Other posts of interest on Solaris Developer Center:
An Accelerated Introduction to Solaris 10: Part 1
Coming from Linux? Been away and need a refresher? Ben Rockwood gives you a whirlwind tour of Solaris from the ground up.
Linux to Solaris Diary
On February 25, 2005, Tim Bray undertook to transfer a nontrivial software development/deployment setup from OS X and Linux to Solaris 10. Follow his journey.
Comparison of Solaris OS and Linux for Application Developers
This article compares application program development on the Solaris and Linux operating systems.
HP Shows Path to Linux for Trusted Solaris Customers
Glenn Faden gives an engaging rebuttal to HP's latest strategy, and discusses the compelling features of Solaris Trusted Extensions.
Comparing SELinux with Solaris Trusted Extensions
Glenn Faden compares the MLS policies of both systems.
Posted by Christine Sterner on March 02, 2007 at 02:47 PM PST #
Posted by P- on March 02, 2007 at 08:15 PM PST #