• About Jakob Engblom and this blog
Observations from Uppsala Computer Simulation, Virtual Platforms, Embedded Programming, Multicore and More (by Jakob Engblom)

IBM Mainframe: Parallelism as Patch

2012 May 19 21:58 / 2 Comments / Jakob

When IBM moved their mainframe systems (the S/360 family that is today called System Z) from BiCMOS to mainstream CMOS in 1994, the net result was a severe loss in clock frequency and thus single-processor performance. Still, the move had to be done, since CMOS would scale much better into the future. As a result, IBM introduced additional parallelism to the system in order to maintain performance parity. Parallelism as a patch, essentially.

At least that is the idea you get when the story is told in an IEEE SE-Radio interview with Jeff Frey of IBM. I highly recommend this podcast episode for anyone interested in the software and hardware architecture outside of the well-known mainstream.

Digging a bit further, it seems that it took IBM until 1997 and the G4 S/390 processor to catch up with the single-thread performance of the last of the BiCMOS machines, and in 1998 with the G5, they surpassed it by a factor of two (see IBM’s S/390 G5 Microprocessor Design by Slegel et al). That means they basically had to spend five years in flat-line performance, relying on parallelism to scale. Impressive bet by the company, and presumably only possible due to the nature of the market. Had there been a competitor that kept building faster machines, this move would have been much harder to pull off. Just see what happened to AMD and their Bulldozer design, betting on parallelism while Intel kept improving single-core performance.

What is really intriguing though is just how this parallelism was achieved. It was not just adding more processor units in the same shared memory area, but they also built a memory-coherent clustering technology called Parallel Sysplex. I have tried to understand more on how it works, but details are very hard to come by unfortunately. The design relies on using hardware to handle time synchronization, coordination, synchronization, and memory coherency between separate boxes. Compared to normal shared-memory servers built on Intel architecture, IBM is throwing much more powerful hardware at the problem of parallelism, as well as modifying the software a bit to support the parallelism.

In addition to performance increases, parallel Sysplex can also be used for hardware redundancy (a bit like non-transparent PCI bridging I would say).

The programming model is not really global shared memory, it seems to be rather assisted somewhat explicit communication. Most users would not see it, as it is hidden in the OS layers and databases used by applications. I think you could look at the hardware is as hardware accelerators for software memory coherency – some software effort required, but it will run well and fast thanks to hardware support. As always, that is the advantage you get by building an entire system from the bottom up.

Impressive, but I would have liked to find out more. And using parallelism as a patch is pretty gutsy. But then again, IBM is a company that has survived for as long as it has by being able to change direction and bet the company on risky propositions more than once.

 

 

Tweet
Posted in: computer architecture, parallel computing / Tagged: IBM, mainframe, parallel sysplex, System/360, zSeries

2 Thoughts on “IBM Mainframe: Parallelism as Patch”

  1. zero_energy on 2012 May 20 at 12:27 said:

    I am sure IBM will sell you the Sysplex technology if you are really, really interested in it.
    Oh I get it you just want to simulate it with Simics.

  2. Jakob on 2012 May 20 at 21:48 said:

    I am sure IBM will sell you the Sysplex technology if you are really, really interested in it. Oh I get …

    Nice thought!

    No, really I want to understand how it works. Just curious.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Post Navigation

← Previous Post
Next Post →

Recent Posts

  • A Few Electrons too Many
  • Wind River Blog: Visuality NQ CIFS Server on Simics
  • Everything in the Cloud?
  • Wind River Blog: TCF and Simics
  • Off-Topic: Moving Bad Piggies Save Games
  • Two Cores, Four Cores, Eight Cores – Mobile Variety
  • Bliss: Failing to Pivot for Ideology
  • Wind River Blog and Movie: Demo of Simics Debugging
  • Simulation vs Reality in Schlock Mercenary
  • Programming like Lego
  • Does ISA Matter for Performance?
  • Wind River Blog: Debugging Simics using Simics
  • Wind River Blog: Simics and Flying Piggies
  • Dragons can be Useful – when AT Models Make Sense
  • Logging (Some More Thoughts)

Categories

  • appearances (30)
  • articles (21)
  • blogging (10)
  • books (6)
  • business issues (31)
  • computer architecture (35)
  • conferences (34)
  • EDA (50)
    • ESL (35)
  • embedded (78)
    • embedded software (57)
    • embedded systeme (50)
  • general research (6)
  • history (32)
    • general history (7)
    • history of computing (26)
  • off-topic (94)
    • biking (5)
    • board games (1)
    • computer games (3)
    • desktop software (35)
    • food and drink (1)
    • funny (12)
    • gadgets (24)
    • Politics (3)
    • popular culture (5)
    • trains (5)
    • transportation (10)
    • travel (10)
    • websites (3)
  • parallel computing (92)
    • multicore computer architecture (51)
    • multicore debug (22)
    • multicore software (65)
  • programming (107)
  • review (8)
  • security (19)
  • teaching (7)
  • testing (9)
  • uncategorized (12)
  • virtual things (128)
    • computer simulation technology (68)
    • virtual machines (17)
    • virtual platforms (97)
    • virtualization (14)
  • Wind River Blog (39)

Tags

ARM blog commentary Cadence Checkpointing clock-cycle models Communications of the ACM computer architecture conference cycle accuracy debugging DML Domain-specific languages embedded freescale G900 heterogeneous homogeneous IBM Intel iPod lego linux mobile phones multicore off-topic office 2007 operating systems p4080 podcast commentary power architecture rant research reverse debugging reverse execution S4D SiCS Multicore days Simics simulation software tools Sun SystemC video virtualization Vista Windows

1

  • F-Secure Blog

Blogs and news

  • Andras Vajda's blog (on multicore)
  • Embedded in Academia (John Regehr)
  • Grant Martin
  • Jack Ganssle
  • My Wind River Blog
  • Security Now podcast
  • Secworks (Joachim Strömbergson)
  • Simon Kågström
  • Synopsys View from the Top
  • Worse Than Failure

Archives

  • May 2013 (1)
  • April 2013 (1)
  • March 2013 (4)
  • February 2013 (1)
  • January 2013 (3)
  • December 2012 (2)
  • November 2012 (2)
  • October 2012 (1)
  • September 2012 (6)
  • August 2012 (4)
  • July 2012 (4)
  • June 2012 (3)
  • May 2012 (4)
  • April 2012 (2)
  • March 2012 (3)
  • February 2012 (1)
  • January 2012 (6)
  • December 2011 (2)
  • November 2011 (3)
  • October 2011 (4)
  • September 2011 (5)
  • August 2011 (4)
  • July 2011 (3)
  • June 2011 (4)
  • May 2011 (7)
  • April 2011 (1)
  • March 2011 (3)
  • February 2011 (5)
  • January 2011 (1)
  • December 2010 (4)
  • November 2010 (3)
  • October 2010 (5)
  • September 2010 (5)
  • August 2010 (5)
  • July 2010 (6)
  • June 2010 (5)
  • May 2010 (3)
  • April 2010 (4)
  • March 2010 (3)
  • February 2010 (4)
  • January 2010 (7)
  • December 2009 (6)
  • November 2009 (6)
  • October 2009 (7)
  • September 2009 (6)
  • August 2009 (7)
  • July 2009 (11)
  • June 2009 (5)
  • May 2009 (10)
  • April 2009 (7)
  • March 2009 (8)
  • February 2009 (9)
  • January 2009 (12)
  • December 2008 (8)
  • November 2008 (9)
  • October 2008 (9)
  • September 2008 (10)
  • August 2008 (13)
  • July 2008 (12)
  • June 2008 (8)
  • May 2008 (9)
  • April 2008 (10)
  • March 2008 (7)
  • February 2008 (8)
  • January 2008 (5)
  • December 2007 (5)
  • November 2007 (7)
  • October 2007 (7)
  • September 2007 (12)
  • August 2007 (9)
  • July 2007 (2)
© Copyright 2013 - Observations from Uppsala
Infinity Theme by DesignCoral / WordPress