By hendel on Jun 25, 2008
Not sure what thematic turn my blog will take, but the new location is HERE:
See you there.
It is time to wrap this CMT blog journey with a paradox, because CMT has done the unthinkable. CMT started as a radical exercise in putting all processing in one socket next to one big fat memory to provide a nice "symmetrical" SMP system. Well CMT has gone multi-socket with the UltraSPARC T2 Plus. I relish the paradox of CMT born as a single socket architecture going multi-socket and conventional multi-socket processors going multi-core. Not quite architectural convergence, but some evidence of imitation being the best form of flattery.
Relishing a paradox is the refuge of the perplexed, a way of finding order when reality yields the opposite of what we expect. Anti-correlation is a form of order and causality after all, more palatable than the chaos of no correlation.
Free markets and level playing fields offer paradoxes to relish each time reality does not live up to free markets just emanating from basic freedoms, or when playing fields show steep gradients. If competitors like IBM, HP, and Sun are legally prohibited from colluding to fix the prices of the computers they sell for, say, oil exploration, yet said oil producers collude as a cartel to sell their product, is that strange or what. Sit back and enjoy that paradox.
Or when Sun hardware runs into bogus import regulations overseas meant to protect local competitors, but shoes coming the other way enjoy some most favored nation moniker and displace perfectly comfortable shoes from Brazil, for example, the field ain't level. It may be hard for engineers to sit back and enjoy this paradox with gusto while their product turns obsolete awaiting import approval. Shoes have longer shelf lives than computers.
Yet fortunately other aspects of our high tech professions can be lived "paradox free". Take employment, for example, an important part of our lives. Jobs are so important in this valley of ours that they settle the fuss about marriage being exclusively between a man and a woman. Plenty of marriages between a man and a job in California.
A friend who recently went through the hiring process, suggests that even job seeking can be a "paradox free" private affair to the benefit of both parties. That was until my brother spoiled it all. See, my friend had the lofty goals of maximizing his benefit while eliminating haggling. Haggling leaves a bad taste and is no way to start a relationship, right? So he informed the interested employers that on a set date he would decide where to go based on a sealed bid auction. Best offer takes him, no reserve. And that is precisely what happened, he got all job offers, lined them up, and accepted the best one. No negotiation, no recruiter calls, no re-bids.
Enter my brother. First, the Revenue Equivalence Theorem shows that the various auction methods are equivalent, and none of them is capable of extracting for my friend the maximal valuation unless he gets offers from an infinite number of employers. An infinite number of interviews is not practical, shaking that many hands surely leads to arthritis.
Second the Winner's Curse shows that the winning participant in an auction will typically pay an overvalued price. The moment my friend accepted the offer his market value immediately declined in the eyes of his new boss. Bad way to start a new job... So according to game theory my friend cannot elude paradoxes, but I visited him yesterday at his new job and both parties are happy, what gives?
Paradoxes being useful refuges doesn't mean that behind every paradox there is something unpleasant to take refuge from. A harmless paradox appears to be the case with my friend.
A harmless paradox lies behind multi-socket CMT systems. The proof points are plentiful, in the form of official white papers like this one, or the unfiltered voices of bloggers that looked into details like whether any multi-socket NUMA effects get in the way, the scalability of the OS, its mutexes and locks going to 128 threads, how to get 10G network rates, and how well Java runs and scales on these systems. Allan Packer's entry CMT_goes_multi is a great repository for all these perspectives on the multi-socket T2 Plus.
Since CMT it is hard to agree on what a processor is anymore (a chip, a core, a thread) but a socket remains a clear entity even when the component is not socketed at all. Increasingly a processor socket is a unit of memory interface, that is because by now most processors have done the flattering imitation and incorporated their memory controllers on chip. And that unit of memory interface gives a multi-socket CMT a larger memory footprint, which is where we started our journey.
The two socket UltraSPARC T2 Plus enterprise systems are out since April, taking the thread count to 128 per system. The Telco variants of these systems come out next to augment the scope of what CMT can do for the network infrastructure we care about. And when they arrive you can always find them here .