<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Observations from Uppsala &#187; z10</title>
	<atom:link href="http://jakob.engbloms.se/archives/tag/z10/feed" rel="self" type="application/rss+xml" />
	<link>http://jakob.engbloms.se</link>
	<description>Computer Technology: Simulation, Virtualization, Virtual Platforms, Embedded, Multicore and Multiprocessing (by Jakob Engblom)</description>
	<lastBuildDate>Sun, 29 Jan 2012 19:45:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<image>
    <title>Observations from Uppsala</title>
    <url>http://jakob.engbloms.se/favicon.png</url>
    <link>http://jakob.engbloms.se</link>
    <width>32</width>
    <height>32</height>
    <description>Observations from Uppsala - http://jakob.engbloms.se</description>
    </image>		<item>
		<title>IBM z10 Heavy-Duty Virtual Platform</title>
		<link>http://jakob.engbloms.se/archives/639?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/639#comments</comments>
		<pubDate>Sun, 15 Feb 2009 17:17:29 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[computer simulation technology]]></category>
		<category><![CDATA[multicore debug]]></category>
		<category><![CDATA[multicore software]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[virtual platforms]]></category>
		<category><![CDATA[CECsim]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[Simics]]></category>
		<category><![CDATA[z10]]></category>
		<category><![CDATA[zSeries]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=639</guid>
		<description><![CDATA[Unknown to most, IBM has one of the world&#8217;s longest records of using virtual platforms for software and firmware development and verification. This project has been ongoing since at least the days of the zSeries 900 machines, through z990, z9, and now z10. An excellent article on this virtual platform and its uses is found [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-640" style="margin: 5px;" title="ibm_z10" src="http://jakob.engbloms.se/wp-content/uploads/2009/02/ibm_z10.png" alt="ibm_z10" width="118" height="118" />Unknown to most, IBM has one of the world&#8217;s longest records of using virtual platforms for software and firmware development and verification. This project has been ongoing since at least the days of the zSeries 900 machines, through z990, z9, and now z10. An excellent article on this virtual platform and its uses is found in the <a href="http://www.research.ibm.com/journal/rd53-1.html">IBM Journal of Research and Development</a>, number 1, 2009, . It is called <a href="http://www.research.ibm.com/journal/rd/531/koerner.pdf">&#8220;IBM System z10 Firmware Simulation&#8221;, by Körner et al</a>.</p>
<p><span id="more-639"></span>The z10 is the latest generation of the classic IBM mainframe family that started with S/360 back in the 1960s. The simulation for just running the firmware of these beasts is making most other virtual platforms look positively puny &#8211; focusing on single SoCs for consumer or digital devices. It also shows that virtual platforms as a technology can scale all the way from single-core bare-metal simple machines that are useful for developing initial software for simple embedded systems up to servers and racks containing hundreds of processing units and very diverse hardware.</p>
<p>The teminology used is unusual, compared to the EDA/ESL and computer architecture research worlds. But it is good. The key concept is a &#8220;VPO&#8221;, Virtual Power On. For a computer of this class, doing Power On is a major event, and calling it a &#8220;boot&#8221; does not really cover its full complexity, involving many different layers of software running on the same and different computers. The VPO was targeted at four months prior to hardware tape-out &#8212; and this means that at that point in time the virtual system would be complete and the firmware complete enough to do a power on.</p>
<p>The simulation system used for the z10 mixes IBM&#8217;s in-house <a href="http://researchweb.watson.ibm.com/journal/rd/464/vonbuttlar.html">CECsim </a>with <a href="http://www.virtutech.com/solutions/virtual_platform/power">Virtutech Simics</a>. CECsim executes the code for the <a href="http://jakob.engbloms.se/archives/80">central zSeries processors</a>, while Simics simulates the FSP-1 &#8220;flexible support processor&#8221; based on the Power Architecture. In previous generations of simulation, the FSP code had been host-compiled and run on an x86 workstation instead of running the actual Power Architecture binaries. Running the real binaries brought additional verification value to the software, finding 3 times more bugs than in the previous host-based simulation:</p>
<blockquote><p>Because the Simics environment now enables us to execute all FSP code in simulation, a far greater amount of code is simulated. Correspondingly, the number of defects found in simulation also increased, by more than 33(Table 2).</p></blockquote>
<p>The article also describes how hardware-accelerated simulation of the actual VHDL of complex new IO chips were used to validate the bits-and-cycles-level interfacing between code and the logic, as well as to validate the logic design itself.</p>
<p>Overall, the article is one of best presentations of comprehensive use of various types of simulation tools and techniques to remove firmware defects as early as possible in the system development project.</p>
<p>For more on the history of this, I refer to a previous blog post here, &#8220;<a href="http://jakob.engbloms.se/archives/130">The 1970 rules strikes again</a>&#8220;, where I described some late 1960&#8242;s mainframe simulation technology and its uses. Also, browse the back issues of the IBM JRD archives, there are lots of nuggets to be found there!</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/639"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/639" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/639" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/639/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IBM z6: Multicore, Accelerators</title>
		<link>http://jakob.engbloms.se/archives/80?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/80#comments</comments>
		<pubDate>Sun, 24 Feb 2008 21:48:24 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[multicore computer architecture]]></category>
		<category><![CDATA[accelerators]]></category>
		<category><![CDATA[channel controllers]]></category>
		<category><![CDATA[decimal floating point]]></category>
		<category><![CDATA[heterogeneous]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[power architecture]]></category>
		<category><![CDATA[z10]]></category>
		<category><![CDATA[z6]]></category>
		<category><![CDATA[zSeries]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/archives/80</guid>
		<description><![CDATA[The IBM mainframe family started with the S/360 back in the 1960s is still going strong. The naming has been a interesting in recent years, going from S/390 to z900 to z990 to z9. Seems like the next step after that has a processor called &#8220;z6&#8243;, and the slide below, taken from a nice presentation [...]]]></description>
			<content:encoded><![CDATA[<p><a title="z6 die photo" href="http://jakob.engbloms.se/wp-content/uploads/2008/02/z6core.png"><img src="http://jakob.engbloms.se/wp-content/uploads/2008/02/z6core.thumbnail.png" alt="z6 die photo" vspace="10" align="left" /></a>The IBM mainframe family started with the S/360 back in the 1960s is still going strong. The naming has been a interesting in recent years, going from S/390 to z900 to z990 to z9.</p>
<p><span id="more-80"></span></p>
<p>Seems like the next step after that has a processor called &#8220;z6&#8243;,  and the slide below, <a href="http://www2.hursley.ibm.com/decimal/IBM-z6-mainframe-microprocessor-Webb.pdf">taken from a nice presentation available on-line</a><a href="http://www2.hursley.ibm.com/decimal/IBM-z6-mainframe-microprocessor-Webb.pdf"> from IBM</a>, appears to indicate that the actual machines will also be called &#8220;z6&#8243;. Wikipedia has a different opinion, <a href="http://en.wikipedia.org/wiki/IBM_z6">stating that the next-gen mainframes will appear on 2008 Feb 26, and be called z10</a>. <em>Update: the machines are called z10, while the CPU is called z6. Quite logical. But I leave my mis-speculation in here for the record anyway.</em></p>
<p align="center"><a title="IBM z6 heritage slide" href="http://jakob.engbloms.se/wp-content/uploads/2008/02/z61.png"><img src="http://jakob.engbloms.se/wp-content/uploads/2008/02/z61.png" alt="IBM z6 heritage slide" /></a></p>
<p>Interestingly, that is just two days from now, so we will soon find out. I am posting this post anyway now, since the name is the least interesting</p>
<p>The new processor powering it has some interesting properties, including on-chip accelerators for various functions.</p>
<p>First of all, it seems to be a quite close relative to the Power6 processor. It also aims for very high clocks and the CPU architecture (slide 7) also mentions grouping of instruction and other ideas that are similar to the Power4/5/6 lineage of chips. The &#8220;z6&#8243;/&#8221;power6&#8243; common number &#8220;6&#8243; is likely an accident, since IBM has been counting up to that level with the CMOS integrated mainframe processors independently of the Power Architecture development.</p>
<p>The z6 has four cores on a single die rather than the two cores by two threads employed in the Power 5/6. Probably, the different types of applications and ISAs targeted makes threading less</p>
<p>What is the most interesting though is the return of the co-processor, or as they are called nowadays, accelerators. This beast has a <strong>decimal floating point unit</strong> shared with the Power6 design (one unit inside each core). Similar to <a href="http://jakob.engbloms.se/archives/44">Sun&#8217;s Niagara 2,</a> there is also <strong>compression </strong>and <strong>cryptography acceleration</strong> on the processor chip (one unit shared by two cores). It is not the kind of massive acceleration employed in recent embedded processors, but it is (yet) another sign that heterogeneous computing is becoming fashionable.</p>
<p>From a historical perspective, dedicated accelerators for various specific functions in order to offload the main processors was one of the initial reasons that mainframes could handle the high loads that they did. The &#8220;channel controllers&#8221; that designed in even back in the 1960s have always been key to the fantastic scaling and robustness of the mainframes. Had they been introduced today,  they would have been called &#8220;IO accelerators&#8221; or &#8220;IO offload engines&#8221;. In principle, the IBM channel controllers are the grandfathers of today&#8217;s TCP/IP accelerators, smart Ethernet controllers, Fibre Channel controllers, and their ilk. So having on-chip acceleration for certain functions that can benefit from high bandwidth memory access and a short communication path to the processor is a very natural  evolution for the mainframe architects.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/80"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/80" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/80" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/80/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

