Showing posts with label Sonoma. Show all posts
Showing posts with label Sonoma. Show all posts

Wednesday, April 25, 2018

State of The Art - SPARC M8 & Solaris

[SPARC M8 Socket, Courtesy Oracle Datasheet]

State of The Art - SPARC M8 & Solaris

Abstract:

The SPARC processor was developed by Sun Microsystems and had existed since the exit of major systems manufacturers from the Motorola 68K environment. Multiple manufacturers had always existed in this environment, to provide to consumers multiple supply chains in this commodity hardware market. The migration from 32 bit to 64 bit computing in SPARC occurred decades ago, as current computing systems still wrestle with the complexities. The next increment of hardware from Oracle was released September 17, 2017 - once again maintaining the fastest CPU sockets and SMP systems in the world. It is past 7 months since the release, it is long overdue for an article.

[SPARC M8 Block diagram, courtesy Oracle T8/M8 Architecture White Paper]

Block Diagram Layout

A logical block diagram can help the reader gain a better understanding of the heart of the system. That author of the Next Platform publication speculates, how four S7 processors may have been merged onto the same die or silicon, using a switched interconnect encapsulated in silicon.

Overall, it does appear to look like a fully switched quad-socket 32 core 256 thread SMP system, burned onto a single piece of silicon. This is a pretty astounding effort, any way one chooses to examine the diagram!

[SPARC M8 Processor with Oracle & Sun Microsystems SPARC family, Courtesy Oracle]

Architecture Changes

In general, processors have undergone many changes, mostly regarding consolidation of functions. As time progressed, the pattern of consolidating resulted in lower part counts, higher performance, higher reliability. Components were designed, sometimes combined, sometimes re-separated in various architectures:
  • Integer Processing Units
  • Floating Point Processing Units
  • Memory Management Units
  • Processor Socket Cross-Bar Switch
  • 1st level cache
  • 2nd level cache
  • 3rd level cache
  • Network Interfaces
  • Video Processing
  • Encryption Units
  • De-encryption Units
  • Decompression Units
  • [DAX] Database Analytics Acceleration Units
The M8 is no exception... being a server & cloud oriented, video has been de-emphasized for some time & no longer developed actively by Oracle. Previous processors had integrated 10 Gig Ethernet (i.e. Sun Microsystems SPARC T2+) or attempted to integrate Infiniband (i.e. Oracle SPARC "Sonoma" S7) - but Oracle had decided to de-emphasize these commodity features. Oracle, being primarily a software company, concentrated on the most "bang for the buck" with faster cores, encryption, decryption, decompression, and database acceleration units.


[SPARC Solaris Layered Availability Infrastructure, courtesy Oracle SPARC T8/M8 RAS datasheet]

Socket Availability Architecture

The SPARC M8 Processor continues to play a vital role in the Availability Architecture of Solaris systems. With the innermost 4 layers of the onion, features like: parity, error correction, reissue on error in hardware, internal power management, voltage scaling, frequency scaling. Decades of design continue to exhibit robust features unavailable in commodity CPU architectures.


[SPARC Solaris DIMM Sparing Infrastructure, courtesy Oracle SPARC T8/M8 RAS datasheet]

Memory Availability Architecture

Normally, error correction exists on DIMM's chosen for the SPARC Servers. If one of the DIMM's repeatedly experiences errors on a SPARC M8, Solaris will initiate the process of retiring the faulty DIMM. The hardware can interleave memory across all 16 DIMM's, for maximum throughput, and can also facilitate interleaving memory requests across 15 DIMM's, in order to facilitate a DIMM retirement. During retirement, there is a slight decrease in the amount of available memory.


Virtualization Architecture

The SPARC M8 processor works in combination with OpenFirmware in order to implement the lowest levels of virtualization.

Physical Domains, which allows for electrically disconnected domains, is facilitated by the LOM (Lights Out Management) card, allowing for an OpenBoot instance to operate on each physical domain (note: this feature is only available on higher end systems.) There are no particular features within Physical Domains, which specifically benefit from the M8 processor.

Within the Physical Domain, a Hypervisor program is run in the OpenFirmware, allowing for virtual instances of OpenBoot to run for different groups of devices (i.e. console, memory, pci-cards slots, network cards, disk devces.) Different OS's may run inside of these logically separated OpenBoot instances. A Logical Domain can be live-migrated to a different Physical domain or even a different SPARC chassis, taking advantage of M8 enbedded engines at wire-speed such as Encryption, Decryption, and Decompression.

Zone virtualization is also available under Solaris, regardless of underlying architecture. The SPARC M8 brings hardware accelerated encryption, decryption, and uncompression for activities like live migration, similar to the benefits to Logical Domains.



Recent Processor Comparisons

The SPARC M8 processor has certainly advanced in performance over the past few generations of silicon, both from Oracle and Fujitsu. The Register was kind enough to put together a simple chart, illustrating the differences between each of the recent processors, each processor being the fastest socket of it's kind during it's release.
 
[Multivendor SPARC Comparison Chart, courtesy The Register]

Performance Comparisons

As The Register had pointed out, the new core's "wider instruction pipeline... coupled with the increase in clock frequency and the larger L1 code cache" sees to wring out the most recent performance gains from this silicon. These features help to define the 5th generation S5 core, located in the former [1/4 sized] S7 and now M8 processors. Boosting the clock rate nearly 25% from slightly over 4GHz M7 to an industry "unheard of" 5 GHz clearly is beneficial.

[SPARC M8 Security Features, courtesy Oracle Datasheet]

Security Comparisons

The Register also reported important enhancements in security, "it can perform hardware-accelerated cryptographic functions – such as AES, RSA and SHA-512 – at twice the speed of the M7." In addition, the SPARC M8 is the only processor in the industry which supports SHA-3 in silicon. With functions like Random Number Generators and [En|De]Crypto operations in hardware, there are no excuses for lack of security in a data center since there is virtually no cost or processing overhead. Crypto functions operate fast enough  to occur at wire-speed for network with virtually unnoticable CPU overhead, reserving the rest of the system resources for processing business/military data.


[SPARC M8 RDBMS Features, courtesy Oracle Datasheet]

Database & Analytics Comparisons

The massive thread count with 32x cores, 8x threads per core, 32x floating point units are not unusual for the SPARC M8, although these are already unusually large in comparison to other slower commodity & proprietary processors on the market. These significantly boost application & database performance to non-competitive proprietary Intel and other processors.

The SPARC M8 advances on the former "State of the Art" SPARC M7 with larger caches & faster processing for all workloads, including Database & Analytics.

The real secret of this processor lies in the Next-Generation Data Analytics Accelerator (DAX) engines. In-line decompression enables 200%+ increase in data held in memory for processing without performance impact at 120+ GB/second. Performance improvements of up to 700% for in-memory query acceleration is demonstrated! Oracle number processing is now managed through accelerators, short-cutting software routines to directly pass processing of numbers larger than 16 bytes to the hardware for all database workloads, resulting in 1000% increases in performance! Java 8 Streams API can be used to work with data-sets directly via the DAX, eliminating iteration operations [since they are implied] providing 2000% increase in performance on some operation types!

Conclusion

There are no competing processors in the same Integer or Floating Point Processing Class as the Oracle SPARC M8 processor. Full security, with nearly any cryptography library of choice, is no longer a burden with the SPARC M8... there are no security compromises with this processor, outrunning any workload on any similarly configured socket-to-socket configuration, even with full encryption enabled under SPARC. Once one tries to compare database processing or java application  processing, it is quickly observed that many industry players may be a decade or more away in performance of similar workloads. All of this, with the ability to virtualize, with no virtualization performance or monetary tax, makes this an exceptional core to any system in any data center. It will be difficult for any hardware vendor to build any kind of superior next generation processor in the first quarter of the 21st century... the SPARC M8 is the apex of modern day computing.

Monday, September 11, 2017

Oracle SPARC M8 and Beyond

Oracle SPARC M8 and Beyond

Abstract:

In 1984's, the SPARC processor was envisioned with the first release in 1987. It was, and is still considered by scientists to be the premiere RISC processor on the market, with educational books based upon it's research.  Some 30 years later, and many pieces of silicon, architects have guided from high clock rate with reduced instruction sets to include various special instruction sets for visualization and block movement. SPARC was originally created by Sun Microsystems, other companies such as Fujitsu also created SPARC processors, and Sun was acquired by Oracle. Oracle appeared to be holding the benchmarks for the fastest processors & systems, in the world, for many years, until Fujitsu's latest release, but Oracle appears to be releasing their next processor: the SPARC M8.

[Courtesy Oracle Corporation]

The 2014 Prediction

In January 2014, Oracle released a processor and operating system road map which indicated a new processor was supposed to arrive around in 2015 with double througput and 1.5x thread performance gains. This seemed fanciful, at the time. Also, at that time, a new processor was projected with throughput increase of 1.3x with a singe thread 1.5x increase. This is really a phenomenal performance increase, considering what has been done so far - but the question is... was it really possible?

[SPARC M7 Processor, Courtesy Oracle]

 Oracle SPARC M7

The Oracle M7 processor, featuring the upgraded S4 core, was announced in Hot Chips 26 on August 12, 2014...  Oracle M7 Processor was released in 2015, offering features such as 32 cores and 8 hardware threads per core providing some 256 virtual CPU's. It became, unarguably, the fastest processor on the market, for many years. It performed: at a higher throughput, per socket; higher performance per hardware thread; higher performance per SMP system. It held the spot as performance king for years.

 SPARC International Gains

The SPARC ecosystem was driven around a specification that multiple vendors could create silicon around.  While Oracle continues to drive new silicon, companies like Fujitsu also drive new silicon, with their recent SPARC processor release. Their latest processor is the SPARC64-XII or SPARC64-12. Their latest processors support Solaris, and presumably Linux, since they released Linux on a previous platform and Oracle is supporting Linux on SPARC. It appear to be the fastest processors on the market, possibly faster than Oracle's M7 processor and systems.

Oracle Scaling-Out with Sonoma S7

The Oracle SPARC M7 was around for 2 years but it is appearing to be proverbially "long in the tooth." It was originally released in 2015 and 2017 is coming close to an end. Oracle released the S7 processor, reducing the number of cores to create a price-competitive server with Intel & AMD based processors, to push down on the low-end VMWare server environments... but seemed to fail at bundling or licensing the embedded infiniband.


[Courtesy: Oracle Corporation]

The 2017 Clarifications

In Early 2017, Oracle clarified their road map, confirming a new SPARC processor in this very time frame, but apparently were shy on promoting the fact that they miscalculated the projected performance increase... they appear to be achieving a 1.4x throughput gain! Oracle Linux was released under SPARC. The Solaris and Linux teams were merged under Oracle. Solaris moved to a Continuing Improvement model, instead of a monolithic OS release model. All seemed to be going well,

[Courtesy: Oracle]

From SPARC M7/S7 to M8

The SPARC M7 and S7 both shared the same CPU Core. Truly, they were both bigger brother and little sister, allowing Oracle to compete in two different spaces. The new High-End space is now experiencing competition... and details are starting to appear about the new M8 in patches to GCC.
  • GCC support for the SPARC M8 CPU overview
  • GCC support for new instruction type attribute: bmask
  • GCC support for VIS Compare instruction in new instruction type attribute: viscmp
  • GCC support for new SPARC instruction subtypes" documented in the comments
  • GCC basic support for SPARC m8 CPU type (in contrast to M7 called niagra7)
  • GCC adds support for SPARC Instruction SubTypes. sunsets unneeded v3pipe
  • GCC adds support for M8 new VIS4B instructions
    - Dictionary unpack.
    - Partitioned compare with shifted result.
    - Unsigned partitioned compare with shifted result.
    - Partitioned dual-equal compare with shifted result.
    - Partitioned unsigned range compare with shifted result. 
  • GCC adds support for SPARC M8 new S5 core
The capabilities for the SPARC M8, with the new S5 core, does not appear to be limited to Open Sourced software. Oracle seems to have made available a new Oracle Developer Suite 12.6 beta Program, which also supports the SPARC M8.

The University of Texas had been quietly developing enhancements to the Oracle SPARC Cores, for years, with recent work accomplished in 2017.

The SPARC M8 processor may arrive soon, featuring a newly engineered S5 core!

Since Solaris 11.3 was released around the SPARC M7 time frame, one might suggest Solaris 11.4 to be released with the SPARC M8.


[September 2017 road map, Courtesy: Oracle]



Oracle SPARC Uncertainty

At the end of 2017Q3, Oracle released a new September 2017 road map. One will notice the missing SPARC Next+. Significant processors, which double is throughput, take close to 3 years to produce... no mention on the road map and non arrow in the road map looks poor.

A little more digging shows a pattern. No additional mentions of SPARC after the HotChips 27 2015 symposium suggested embedded infiniband, which never materialized in the Sonoma processor, released by Oracle as SPARC S7. Partner Fujitsu announced ARM to replace SPARC in their next MPP platform in HotChips 28 2016, although Fujitsu hit a 1-2 year "speed-bump" in moving from SPARC. 2016 was a rough year, with Mr. Linux Wim Coekaerts leaving & returning to Oracle. Layoffs announced at Oracle in 2017 Q1 were discouraging, with the announcement of Solaris & Linux development groups merging and Solaris moving to CI. In April 2017, Oracle made a joint announcement of a SPARC emulator in the Oracle Cloud (for 4m & 4u - does not support 4v.) The July 2017 exit of John Fowler from Oracle, who delivered consistency from Sun Microsystems, was deafening... as if he lost a battle in Oracle to Wim. No new mention of the Oracle SPARC M8 processor at the Summer/Fall HotChips 29 2017 event, not the one  before. Additional 2017 Q3 Labor Day layoffs hit the wires. Evaporation of SPARC on the road map after a 2017/2018 timeline release seems to tell the rest of the story. Rumors indicate Linux on SPARC and SPARC M9 had been canceled. Oracle is looking more like a Software Shop, again.

[April 2017 SPARC Road Map, Courtesy Fujitsu]

Fujitsu SPARC Road Map

In April of 2017, Fujitsu committed to another generation of SPARC, in partnership with Oracle. Since Fujitsu currently has the fastest SPARC processor on the planet,  it is beginning to look like it will save SPARC again, with the failure of Sun SPARC ROCK processor, which was probably largely responsible for the failure of Sun Microsystes and resulted with the purchase of Sun by Oracle.

Conclusions:

Network Management has covered Solaris / SPARC for many years, coming especially from a telecommunications perspective.  The SPARC M8, if it is released by Oracle, may spell the final processor in the line from it's creator - Sun Microsystems... some 30 years after the birth of SPARC. Oddly enough, with Wim back at Oracle, SPARC may survive but Solaris may be killed. All hopes are pinned on Asia, for Fujitsu to continue a SPARC a road map, with Oracle providing Solaris 11.next as CI as announced.