1987 – 2017: SPARC Systems & Computing Epochs

 

30 Years of SPARC systems is this month in July’1987 when Sun 4/260 was launched.  A month before,  I started my professional career at Sun – to be exact June 15, 1987. 16+ years of my professional life was shaped by Sun, SPARC, Systems and more importantly the whole gamut of innovations that Sun did from chips to systems to operating systems to programming languages, covering the entire spectrum of computing architecture. I used to pinch myself for getting paid to work at Sun.  It was one great computer company that changed computing landscape.

 

Sun4_Launch

 

The SPARC story starts with Bill Joy without whom Sun would not be in existence (Bill was the fourth founder, though) as he basically drove re-inventing computing systems at Sun and thus the world at large.  Bill drove  technical direction of computing at Sun and initiated many efforts – Unix/Solaris, Programming languages, RISC to name a few.  David Patterson (UC Berkeley, now at Google) influenced the RISC direction. [David advised students who changed the computing industry and seems like he is involved with the next shift with TPUs @ Google – more later]. I call out Bill amongst the four (Andy Bechtolsheim, Scott Mcnealy, Vinod Khosla) in this context as without Bill, Sun would not have pulled the talent – he was basically a big black hole that sucked all talent across the country/globe. Without that talent, the innovations and the 30 year history of computing would not have been possible. A good architecture is one that lives for 30 years. This one did. Not sure about the next 30. More on this later. Back then, I dropped my PhD on AI (was getting disillusioned with then version of AI) for a Unix on my desktop and Bill Joy. Decision was that simple.

From historic accounts, the SPARC sytem initiative started in 1984. I joined Sun when the Sun 4/260 (Robert Garner was the lead) was going to be announced in July. It was  VME based backplane built both as a pedestal computer (12 VME boards) as well as rack mount system replaced then Sun 3/260 and Sun 3/280.  It housed the first SPARC chip (Sunrise) built out from gate arrays with Fujitsu.

 

This was an important product in the modern era of computing (198X-201X). 1985-87 was  the beginning of exploitation of Instruction level parallelism (ILP) with RISC implementations from Sun and MIPS. IBM/Power followed later, although it was incubated within IBM earlier than both . The guiding principles being, compilers can do better than humans and can generate code that is optimal and simpler with the  orthogonal instruction set. The raging debate then was “can compilers beat humans in generating code for all cases”?. It was settled with the dawn of the RISC era. This was the  era when C (Fortran, Pascal, ADA were other candidates) became the dominant programming language and compilers were growing leaps and bounds in capabilities. Steve Muchnik led the SPARC compilers, while Fred Chow did with MIPs. Recall the big debates about register windows (Bill even to-date argues about the decision on register windows) and code generation.  In brief it was the introduction of pipelining, orthogonal instruction sets and compilers (in some sense compilers were that era’s version of today’s rage in “machine learning” where machines started to outperform human ability to program and generate optimized code).

There were many categories enabled by Sun and the first SPARC system.

  1. The first chip was implemented in a gate array, which was more cost effective as well as faster TTD (Time to Design). The fabless semiconductor was born out of this gate array model and eventually exploited by many companies. A new category emerged in the semiconductor business.
  2. EDA industry starting with Synopsys and their design compiler were enabled and driven by Sun. Verilog as a language for hardware was formalized. It was an event driven evaluation model. Today’s reactive program is yesterday’s verilog (not really, but making a point here that HDL forever was event driven programming).
  3. Create an open eco-system of (effectively free) licensable architecture. It was followed by Opensource for hardware (OpenSPARC) which was a miserable failure.

The first system was followed by the pizza box (SPARCstation 1) using the Sunrise chip. Series of systems innovations were delivered with associated innovations in SPARC.

  1. 1987 Sun4/260 Sunrise – early RISC (gate array)
  2. 1989 SPARCstation 1 (Sunray) – Custom RISC
  3. 1991 Sun LX  (Tsunami) – First SoC
  4. 1992 SPARCstation 10 (Viking) – Desktop MP
  5. 1992 SPARCserver (Viking) – SMP servers
  6. 1995 UltraSPARC 1, Sunfire (Spitfire) – 64 bit, VIS, desktop to servers
  7. 1998 Starfire (Blackbird), Sparcstation 5 (Sabre) – Big SMP
  8. 2001 Serengeti (UltraSPARC III) – Bigger SMP
  9. 2002 Ultra 5 (Jalapeno) – Low Cost MP
  10. 2005 UltraSPARC T-1 (Niagara) – Chip Multi-threading
  11. 2007 UltraSPARC T-2 – Encryption co-processor
  12. 2011 SPARC T4
  13. 2013 SPARC T5, M5
  14. 2015 SPARC M7 (Tahoe)
  15. 2017 M8…

The systems innovations were driven by both SPARC and Solaris or SunOS back then. There are 2 key punctuations in the innovation and we have entered the third era in computing. The first two was led by Sun and I was lucky to be part of that innovation and be able to shape that as well.

1984-1987 was the dawn of the ILP era, which continued on for the next 15 years until thread level parallelism became the architectural thesis thanks to Java, internet and throughput computing. A few things that Sun did was very smart. That includes

  1. Took  a quick and fast approach to implement chip by adoption of gate arrays. This surprised IBM and perhaps MIPS w.r.t speed of execution. Just 2 engineers (Anant Agrawal and Masood Namjoo) did the integer unit. No Floating point. MIPS was meanwhile designing a custom chip
  2. It was immediately followed by Sunrise a full custom chip done with Cypress (for Integer unit) and TI (for floating point unit). Of all the different RISC chips that were designed around the same era, SPARC along with MIPS stood out (eventually Power).
  3. That was the one two punch enabled by Sun owning the architectural paradigm shift (C/Unix/RISC) as compute stack of then.

Industry’s first Pipelining, super scalar (more than 1 instruction/clock) became the drivers of performance. Sun innovated both at the processor level (with compilers) and system level with symmetric multi-processing with operating system to drive the ‘attack of the killer micros‘. A number of success and failures followed the initial RISC (Sunrise based platform).

  1. Suntan was an ECL sparc chip that was built, but not taken to market for two reasons. [Have an ECL board up in my attic]. The debate of CMOS vs ECL was ending with CMOS rapidly gaining speed-power ratio of ECL and more importantly the ability of Sun to continue with ECL would have drained the company relative to the value of the high end of the market. MIPS carried through and perhaps drained significant capital focus by doing so.
  2. SuperSPARC was the first super scalar process that came out in 1991 working with Xerox, Sun delivered the first glue-less SMP (M-bus and X-bus).
  3. 1995 was a 64 bit CPU  (MIPS beat to market – but was too soon) with integrated VIS ( media SIMD instructions)

After that the next big architectural shift was multi-core and threading. It was executed with mainstream Sparc but accelerated with the acquisition of Afara and its Niagara family of CPUs. If there is a ‘hall of fame’ for computer architects, a shout out goes to Les Kohn who led two key innovations – UltraSPARC (64bit, VIS) and UltraSPARC T-1 (multi-threading). Seeds of that shift was sown in 1998 and family of products exploiting multi-core and threading were brought to market starting in 2002/2003.

1998, in my view is the dawn of the second wave of computing in the modern era (1987-2017) in the industry and again Sun drove this transition. The move to web or cloud centric workloads, the emergence of Java as a programming language for enterprise and web applications enabled the shift to TLP – Thread Level Parallelism. In short, this is classical space-time tradeoff where clock rate had diminishing returns and shift to threading and multi-core began with the workload shift. Here again SPARC was the innovator with multi-core and multi-threading. The results of this shift started showing in systems around 2003  – roughly 15 years after the first introduction of SPARC with Sun 4/260.  In that 15 years, computing power grew by 300+ times and memory capacity grew by 128 times, roughly following Moore’s law.

While the first 15 years was the ILP era and the 2nd 15 years was about multi-core and threading (TLP). What is the third? We are dawning upon that era.  I phrase it as ‘MLP’- memory level parallelism.  Maybe not. But we know a few things now. The new computing era is more ‘data path’ oriented – be it GPU, FPGA or TPU – some form of high compute throughput matched by emerging ML/DL applications. A number of key issues have to be addressed.

 

Computing_trends

Every 30 years, technology, business and people have to re-invent themselves otherwise they stand to whither away. There is a pattern there.

There is a pattern here with SPARC as well. SPARC and SPARC based systems have reached 30 year life and it looks to be at the beginning of the end , while a new generation of processing is emerging.

Where do go from here? Defintely applications and technologies are the drivers. ML/DL is the obvious driver. Technologies range from memory, coherent ‘programable datapath accelerators’, programming models (event driven?), user space resource managers/schedulers and lots more. A few but key meta trends

  • The past 30 years – Hardware (Silicon and Systems) aggregated (for e.g. SMP) the resources while Software disaggregated (VMware). I believe the reverse will be true for the next 30 i.e. disaggregated hardware (e.g. accelerators or memory) but software will aggregate (for e.g. vertical NUMA, heterogenous schedulers).
  • Separation of control flow dominated code vs data path oriented code will happen (early signs with TPUs).

 

data_flow

  • Event driven (for e.g. reactive) programming models will become more prevalent. The ‘serverless’ trend will only accelerate this model as traditional programmers (procedural) have to be retrained to do event driven programming/coding (Hardware folks have been doing for decades).
  • We will build machines that will be hard (not in the sense of complexity – more in the sense of scale) for humans to program.

CMOS, RISC, Unix and C was the mantra in 1980s. Its going to be memory (some form of resistive memory structure) and re–thinking of the stack needs to happen. Unix is also 30+ years old.

Then_v_now

 

Just when you thought Moore’s law is slowing, the amalgamation of these emerging concepts  and ideas in a simple but clever system will rise to the next 30 years of innovations in computing.

Strap yourself for the ride…

 

 

30 (15 and 7) Year Technology Cycles

30_year_img

We all have heard the 7 year itch. Have you ever asked why its 7? Why it is not  10 or 4. Looking back,  I have had those 7 year itches.

Have you had the urge to leave your job or change your role significantly around 15 years? Think about this  very carefully or ask around!! I left my first job after 16 years

What about 30 years. Perhaps time to retire. Or seek a completely new profession?

Now lets look at businesses. Lets review two examples.

  1. Apple: From 1997 to 2007 – it was the Apple IIe.  7 years after founding, 1984 (MAC). 7 years later (1991 – Powerbook).  7 years later (Steve is back with iMAC). 30 years since founding (iPhone). New product, New Business model. Apple re-invented. (http://applemuseum.bott.org/sections/history.html)
  2. Sun: 1982-1989 – Motorola + BSD Unix. 1989-1996 – Solaris and SPARC. 1996-UltraSPARC 1 and Java. 2009 (27 years), acquired by Oracle.  http://devtome.com/doku.php?id=timeline_of_sun_microsystems_history

Why 7? Why 15?  Why 30? The 7 year itch feeds into the 15 year peak which feeds into 30 year retire/re-invention cycle. Since businesses are made of people, especially in the technology sector, business cycles have the same 7, 15 and 30 year cycles.  At 7, one becomes proficient in a domain (10,000+ hours) and change is in the air. At 15, you feel like you reach a peak. At 30 you become obsolete (retire) or re-invent.

At the core of these 30 year transitions, the DNA has to be relevant or one ‘retires’. The biological DNA that define our value proposition, businesses  do as well. Apple has the core DNA of designing eye candy products (materials +  UI). This has transcended to the desktop to the mobile.  IBM has the DNA of general computing business. That has unchanged over decades.  Sun had the DNA of Open-source and open systems. Intel has the core DNA of device engineering and manufacturing (Moore’s law).

The similarity has to do with human productive cycles. While this assertion is not statistically accurate, but there is enough data to suggest why there is a linkage between business cycles and human productivity cycles.

First lets visit some 30 year cycles…In most cases the business model changes – not just technology. Usually the incumbent sees the technology shift and can handle it. But they fail to see or react to the business model change.

Survivors:

  1. IBM: Strangely IBM has revived itself every 30 years. There was mainframe from 1950s to 1980s. Then there was PC and Global Services from 1980s to 2010s. Now its on a re-invention cycle with Watson and Enterprise Cloud. IBM has done this over its 100 year history repeatedly and perhaps the only one. But its facing that issue once more…Time will tell…
  2. Apple: From 1997 to 2007 – it was the Apple IIe.  7 years after founding, 1984 (MAC). 7 years later (1991 – Powerbook).  7 years later (Steve is back with iMAC). 30 years since founding (iPhone). New product, New Business model. But same DNA. 1992 was a critical year as we all know. 2014 is 7 years after the first iPhone. Another change cycle? The smartness with Apple was the move from shrink wrapped software to Appstore. New business model. Fantastic!  The iPhone which is 10 years old will reach its peak the next few years.  Apple will have to have its next big act before 2021 ?
  3. HP: Another survivor has gone through two  30 year cycles and in the middle of the 3rd. Remains to be seen how it will evolve

Recycled

  1. Sun: My Alma mater. Started in 1992 and dies or got gobbled up in 2010. Perhaps lives inside Oracle – not really. Again 28 years and died. Founding DNA = Opensource + Interactivity and big memory. Lost its way when Linux took over (Opensource – around 1998 – 15 year!!!). 
  2. DEC: 1957-1987; VAX9000 remember. That was the beginning of 30 year run. Got gobbled up and could not handle the next business transition
  3. Many other companies fall into this category (SGI…..)
Challenged
  1. Cisco: 1984-2014 (30 years). The networking category is being challenged in a similar way VMware came and altered the server market with Xeon. Commodity switches + SW. Other problems. Good news for Cisco in that it has lots of cash. Needs to find new growth categories that are significant. They are trying with a new CEO and moving upstream.
  2. Intel: Intel got out of the DRAM business in 1984. Now its facing challenges in its core having missed the whole handheld and tablet market. Again another 30 year transition cycle for Intel 
  3. Microsoft: 1997-2007. Windows Vista, Windows 7 Windows 8 – not a growth engine. Missed the phone. Failed to grasp the new business model. With a change in CEO and now the shift to the cloud, albeit late, but seems to have made or making the transition. Its a work-in-progress.
  4. Oracle: The 30 year old database market has run its course. The shift to in-memory and more importantly the shift to the cloud (AWS/Aurora and Google/Spanner) combined with the sedimentation of the plumbing layer (how many database companies are out there). The challenge for Oracle is not technology (which it can by acquiring the next viable business). The shift is in the move of the enterprise from licensed software to the cloud model. 
There is a pattern in this 30 year cycle. Typically a technology and a business model shift occurs and the companies. As you can see very few have done the 30 year transition. If you look deeper there seems to be a 15 year sub cycle and a 7 year sub cycle.
Guess what Google is past the 15 year cycle. Amazon founded in 1994, had its second act starting around 2008 (AWS).
1980s  was the golden era for  many tech companies
–Computing (Intel, Sun, Apple, Dell…)
–Networking (Cisco, 3COM)
–Storage (EMC, Netapp later)
Common Theme: Business model of selling integrated systems (OEM model)
30 years later that model has turned upside down… We are into the the next 30 year cycle with the cloud.
I touched upon this topic in one of the UC Berkely (2014) Aspire retreat(s). An image of a handwritten slide is shown below.  This time like in 1984, when DRAM gave way to logic (Intel), new memory technology will drive the new technology stack and thus new business opportunities. Maybe or atleast hopeful of it. This will be the topic for the next post…
30_Yr_Tech_re_invention
Meanwhile  – what comes after 7 15 30 ?
Coming back to 30 year technology cycles and individuals – is there a link?
Like to hear more about it from others..