<?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"
	>

<channel>
	<title>Domeika's Dilemma</title>
	<atom:link href="http://www.chipdesignmag.com/domeika/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chipdesignmag.com/domeika</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Wed, 20 Aug 2008 21:42:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>TBD: The Perfect Architecture Migration Guide</title>
		<link>http://www.chipdesignmag.com/domeika/2008/08/20/tbd-the-perfect-architecture-migration-guide/</link>
		<comments>http://www.chipdesignmag.com/domeika/2008/08/20/tbd-the-perfect-architecture-migration-guide/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 21:38:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/domeika/?p=9</guid>
		<description><![CDATA[I have a presentation to give in about two weeks regarding best known methods on architecture migrations.  As usual, my initial research consists of using google and searching for ‘architecture migration’ with various additional terms to constrain the search to microprocessor migration and not anything associated with buildings or structures and whatnot.  
 
I found some [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;">I have a presentation to give in about two weeks regarding best known methods on architecture migrations.<span style="mso-spacerun: yes;">  </span>As usual, my initial research consists of using google and searching for ‘architecture migration’ with various additional terms to constrain the search to microprocessor migration and not anything associated with buildings or structures and whatnot.<span style="mso-spacerun: yes;">  </span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">I found some interesting reads, but no clear cut template on what a complete architecture migration guide should specify.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Some of the interesting hits included:</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<ul>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Porting an existing embedded system to Linux </span>(<a href="http://www.embedded.com/columns/technicalinsights/185300272?_requestid=175826"><span style="font-size: small; font-family: Times New Roman;"><a href="http://www.embedded.com/columns/technicalinsights/185300272?_requestid=175826"></a><a href="http://www.embedded.com/columns/technicalinsights/185300272?_requestid=175826">http://www.embedded.com/columns/technicalinsights/185300272?_requestid=175826</a></span></a><a href="http://www.embedded.com/columns/technicalinsights/185300272?_requestid=175826"></a><span style="font-size: small; font-family: Times New Roman;">By David Knuth and Daniel Daly, Intellibot Robotics, LLC</span>)<br />
<span style="font-size: small; font-family: Times New Roman;">Designers from Intellibot Robotics chronicle the transformation of their microcontroller-based embedded design &#8221; a mobile robot - from one without an OS to one built on Linux.<br />
</span></div>
</li>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Migrating from x86 to PowerPC (</span><a href="http://www.ibm.com/developerworks/library/pa-migrate/"><span style="font-size: small; font-family: Times New Roman;">http://www.ibm.com/developerworks/library/pa-migrate/</span></a>)<br />
<span style="font-size: small; font-family: Times New Roman;">Low-cost real-time development with Linux on PowerPC<br />
By </span><span style="font-size: small; font-family: Times New Roman;">Lewin Edwards (sysadm@zws.com), Author, Freelance</span></div>
</li>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Intel Migration Center (</span><a href="http://www3.intel.com/cd/ids/developer/asmo-na/eng/dc/migration/index.htm"><span style="font-size: small; font-family: Times New Roman;">http://www3.intel.com/cd/ids/developer/asmo-na/eng/dc/migration/index.htm</span></a>)</div>
</li>
</ul>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">The first two links detail case studies in performing a migration.  This is nice because it shows a real example.<span style="mso-spacerun: yes;">  </span>The drawback to case studies of course is in sometimes being too specific; if your planned migration doesn’t match what’s detailed in the case study, you may be no better off for having read.<span style="mso-spacerun: yes;">  </span>The last link is a website with a number of articles on the topic of migrating and seemed motivated by the move to the Intel 64 ISA from 32-bit platforms.<span style="mso-spacerun: yes;">  </span>The linked papers on the site provide some helpful information, but are topic specific and either hit or miss.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;">If you are performing a migration to Embedded Intel Architecture a good resource is chapter 4 of my book, “Software Development For Embedded Mulit-core Systems.”<span style="mso-spacerun: yes;">  </span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><a href="http://www.elsevier.com/wps/find/bookdescription.cws_home/714327/description"><span style="font-size: small; font-family: Times New Roman;">http://www.elsevier.com/wps/find/bookdescription.cws_home/714327/description</span></a></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;">I don’t mean to toot my own horn, but the chapter was written with such a migration in mind so it’s pretty complete.  Of course, there&#8217;s always room for improvement.<span style="mso-spacerun: yes;">  </span>The chapter provides a good general overview of migrating to Intel Architecture.<span style="mso-spacerun: yes;">  </span>I believe it could be improved by providing a comparison/contrast on the architectures from which you’d be migrating such as ARM, PPC, MIPS, and a couple of case studies.<span style="mso-spacerun: yes;">  </span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;">With that in mind, here’s a high level outline on what I think is needed to fully cover the topic of architecture migration.<span style="mso-spacerun: yes;">  </span></span></span></p>
<ul style="margin-top: 0in;" type="disc">
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in;"><span style="font-size: small; font-family: Times New Roman;">General introduction</span>
<ul style="margin-top: 0in;" type="circle">
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-size: small; font-family: Times New Roman;">Discuss Application-level vs. System-level migrations</span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-size: small; font-family: Times New Roman;">Compare/contrast architectures</span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-size: small; font-family: Times New Roman;">Compare/contrast operating systems</span></li>
</ul>
</li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in;"><span style="font-size: small; font-family: Times New Roman;">Discuss choosing an operating system and pros/cons of each</span>
<ul style="margin-top: 0in;" type="circle">
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-size: small; font-family: Times New Roman;">Proprietary – pros – if it’s your OS, you should be familiar with it.<span style="mso-spacerun: yes;">  </span>Cons – must roll everything yourself, especially support for SMP, next instruction sets, tools</span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-size: small; font-family: Times New Roman;">Linux – pros – high level of support, lots of choice, dev machines can be same as target OS – cons – may not meet real time requirements, code rewrite probably required for system level stuff</span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-size: small; font-family: Times New Roman;">Embedded Linux</span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-size: small; font-family: Times New Roman;">Embedded OSes (VxWorks, FreeBSD, QNX of the world)</span></li>
</ul>
</li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in;"><span style="font-size: small; font-family: Times New Roman;">Boot/Bios – Discuss bootup/BIOS</span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in;"><span style="font-size: small; font-family: Times New Roman;">32 vs. 64 bit – Compare/contrast</span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in;"><span style="font-size: small; font-family: Times New Roman;">Architecture extensions – Discuss SIMD instruction sets</span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in;"><span style="font-size: small; font-family: Times New Roman;">Endianness – Discuss big &amp; little endian and possible issues in porting code.  Some solutions to the problems.</span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in;"><span style="font-size: small; font-family: Times New Roman;">Multicore specific – Discuss SMP or AMP support and ramifications</span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in;"><span style="font-size: small; font-family: Times New Roman;">Tools Support</span>
<ul style="margin-top: 0in;" type="circle">
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-size: small; font-family: Times New Roman;">Compiler, debugger – typically required</span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-size: small; font-family: Times New Roman;">Performance analysis, threading tools – typically nice to have</span></li>
</ul>
</li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in;"><span style="font-size: small; font-family: Times New Roman;">Case Studies</span>
<ul style="margin-top: 0in;" type="circle">
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-size: small; font-family: Times New Roman;">System-level migration running the gamut of embedded issues</span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in;"><span style="font-size: small; font-family: Times New Roman;">Application-level migration focusing on SW issues (library support, etc.)</span></li>
</ul>
</li>
</ul>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;">Thus, there it is - the perfect migration guide.  The problem: someone has to write it.  Perhaps, this will serve as input into a 2<sup>nd</sup> edition of my book </span><span style="font-family: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings;"><span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings;">J</span></span><span style="font-family: Times New Roman;">.</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/domeika/2008/08/20/tbd-the-perfect-architecture-migration-guide/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Excellent Brief Read on Multicore Software</title>
		<link>http://www.chipdesignmag.com/domeika/2008/07/29/excellent-brief-read-on-multicore-software/</link>
		<comments>http://www.chipdesignmag.com/domeika/2008/07/29/excellent-brief-read-on-multicore-software/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 00:35:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/domeika/?p=8</guid>
		<description><![CDATA[I recently downloaded and read &#8220;How to Survive the Multicore Software Revolution&#8221; by Charles Leiserson and Ilya Mirman (http://www.cilk.com/multicore-e-book/) and was quite impressed.  If you are new to multicore software development or would like a brief refresher on the topic, the article is a quick 30 minute read to get you up to speed.
Some strong points about the artice:

Very [...]]]></description>
			<content:encoded><![CDATA[<p>I recently downloaded and read &#8220;How to Survive the Multicore Software Revolution&#8221; by Charles Leiserson and Ilya Mirman (<a href="http://www.cilk.com/multicore-e-book/">http://www.cilk.com/multicore-e-book/</a>) and was quite impressed.  If you are new to multicore software development or would like a brief refresher on the topic, the article is a quick 30 minute read to get you up to speed.</p>
<p>Some strong points about the artice:</p>
<ul>
<li>Very concise coverage of the challenge with multicore, basic performance terms, parallel programming terms, and race conditions in the introductory sections.</li>
<li>Good simple critique of roll your own multithreading - I agree when you do this typically your parallel version becomes very different than the serial version and typically scalability is limited due to the developer more or less hard coding for one multicore processor.</li>
<li>Good summary of existing concurrency platforms.</li>
<li>20 questions cover several aspects of software product development, not just the technical ones</li>
<li>Loved the bios - always good to add a personal touch</li>
</ul>
<p>With the positive out of the way, my two main nits, perhaps they boil down to one which is the paper seems focused on homogenous multicore:</p>
<ul>
<li>Seemed to be a bit Intel focused - with respect to the company I work for, this is fantastic and I suppose you could make the case that many/most of the multicore in desktop/server is x86, but there are other programming models and architectures. </li>
<li>I believe many customers are eschewing multithreading and partitioning/multiprocessing instead.  It may have been good to comment on why this approach won&#8217;t necessarily scale in the long term.</li>
</ul>
<p>That said, again I really enjoyed the article and recommend it.  It has given me some things to think about as we pursue the Multicore Programming Practices guide in MCA (<a href="http://www.multicore-association.org/workgroup/mpp.php">http://www.multicore-association.org/workgroup/mpp.php</a>).</p>
<p>One of our challenges in the group will be giving good coverage of best practices for several different multicore architectures split among multiple vectors, e.g. homogenous/heterogeneous, shared/distributed memory, symmetric/asymmetric.  It will be interesting to see how/if the practices generalize.  </p>
<p>Max  <br />
 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/domeika/2008/07/29/excellent-brief-read-on-multicore-software/feed/</wfw:commentRss>
		</item>
		<item>
		<title>List of the &#8216;happening&#8217; Embedded conferences</title>
		<link>http://www.chipdesignmag.com/domeika/2008/07/20/list-of-the-happening-embedded-conferences/</link>
		<comments>http://www.chipdesignmag.com/domeika/2008/07/20/list-of-the-happening-embedded-conferences/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 19:25:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/domeika/?p=7</guid>
		<description><![CDATA[Who knows where and when all of the good embedded focused conferences are?  I was a little disheartened because I believe I have a good feel for the pulse of the industry, but perhaps not as much as I&#8217;d thought.
I was in Las Vegas last week for some vacation (NBA Summer League) and learned there [...]]]></description>
			<content:encoded><![CDATA[<p>Who knows where and when all of the good embedded focused conferences are?  I was a little disheartened because I believe I have a good feel for the pulse of the industry, but perhaps not as much as I&#8217;d thought.</p>
<p>I was in Las Vegas last week for some vacation (NBA Summer League) and learned there was a pretty large technical conference occuring at the same time that I missed.  The conference was WorldComp&#8217;08 <a href="http://www.world-academy-of-science.org/worldcomp08/ws">(http://www.world-academy-of-science.org/worldcomp08/ws</a>) and featured tracks on embedded, communications, and parallel processing, to name a few.  Looking at the agenda online, this would have been a pretty good conference for me to attend and this got me wondering: are there other conferences coming up in 2008 that I should know about and that provide a good pulse on what is going on in embedded.</p>
<p>With that, I&#8217;ll share my list of what I know about.  I&#8217;d be happy to know about pointers to others so please feel free to share:</p>
<p>- NI Week, Austin, August 5-7<br />
- Embedded Systems Conference, Boston, October 26-30<br />
- Multicore Expo, Tokyo, November 6-7</p>
<p>Best regards,</p>
<p>Max</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/domeika/2008/07/20/list-of-the-happening-embedded-conferences/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Multicore Programming Practices</title>
		<link>http://www.chipdesignmag.com/domeika/2008/06/14/multicore-programming-practices/</link>
		<comments>http://www.chipdesignmag.com/domeika/2008/06/14/multicore-programming-practices/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 01:57:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/domeika/?p=6</guid>
		<description><![CDATA[I&#8217;m back from DAC after speaking at a birds of a feather session on a new industry working group:

Multicore Programming Practices - defining industry-wide, best practices to leverage existing code in multicore environments.

The working group is a part of the Multicore Association (www.multicore-association.com), a cross industry, vendor-neutral body defining standards to help with the multicore transition.  I am [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m back from DAC after speaking at a birds of a feather session on a new industry working group:</p>
<ul>
<li>Multicore Programming Practices - defining industry-wide, best practices to leverage existing code in multicore environments.</li>
</ul>
<p>The working group is a part of the Multicore Association (<a href="http://www.multicore-association.com">www.multicore-association.com</a>), a cross industry, vendor-neutral body defining standards to help with the multicore transition.  I am co-chairing the working group with David Stewart, CEO of CriticalBlue.</p>
<p>Our goals are pretty simple.  I&#8217;ve been involved with the embedded market segments&#8217; transition to multicore processors for the past 5 years and see a real need for basic agreement and education on terms and best practices.  So that&#8217;s really it.  We&#8217;re not inventing something grand like a new language or API.  We are agreeing upon and documenting best practices aimed at taking legacy code in C/C++ and making the code run in parallel.</p>
<p>On June 5 in Austin, the working group had its first meeting.  We asked each member company to detail what they would consider their top fives issues when it comes to taking advantage of multicore.  The next step is to categorize and create an &#8216;outline&#8217; that could possibly serve as the outline for the end document.  It will certainly be more work than simply outline and write and we&#8217;ll certainly learn and adjust as we go, but I was encouraged by the initial meeting.  11 companies provided input during this discussion. </p>
<p>I&#8217;ll write more as the group and its work takes shape.</p>
<p>On a personal note, the 3 weeks of straight travel are over.  Nothing on the boards until August except a July trip to Vegas for NBA summer league. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/domeika/2008/06/14/multicore-programming-practices/feed/</wfw:commentRss>
		</item>
		<item>
		<title>EXOCHI as in EXO-Cha Cha Cha</title>
		<link>http://www.chipdesignmag.com/domeika/2008/05/30/exochi-as-in-exo-cha-cha-cha/</link>
		<comments>http://www.chipdesignmag.com/domeika/2008/05/30/exochi-as-in-exo-cha-cha-cha/#comments</comments>
		<pubDate>Fri, 30 May 2008 06:18:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/domeika/?p=3</guid>
		<description><![CDATA[I’m sitting in the speaker ready room at Intel R&#38;D day in Tokyo preparing for my talk in two hours.  The subject of my talk is on the future plans of the Intel C++ Compiler with regards to programming for multi-core processors.  I have the distinction of following after Matsumoto-san, the inventor of Ruby.  Hopefully, [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"><a href="http://www.chipdesignmag.com/domeika/wp-content/uploads/2008/06/maxmatumoto.jpg"></a>I’m sitting in the speaker ready room at Intel R&amp;D day in Tokyo preparing for my talk in two hours.<span style="mso-spacerun: yes;">  </span>The subject of my talk is on the future plans of the Intel C++ Compiler with regards to programming for multi-core processors.<span style="mso-spacerun: yes;">  </span>I have the distinction of following after Matsumoto-san, the inventor of Ruby.<span style="mso-spacerun: yes;">  </span>Hopefully, I don’t disappoint.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">One part of my talk that I find particularly compelling is research Intel is doing in heterogeneous multi-core programming using extensions to OpenMP, one of my favorite APIs for parallel programming.<span style="mso-spacerun: yes;">  </span>The power of OpenMP is ease of use.<span style="mso-spacerun: yes;">  </span>If you’ve never seen OpenMP… it is possible to transform a serial program into a parallel program with one OpenMP statement, or pragma. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">The particular extension, called EXOCHI (pronounced X-O-Cha), extends OpenMP by adding clauses to support spawning threads (called shreds) on processors with different instruction set architectures.<span style="mso-spacerun: yes;">  </span>In effect, it is possible to have one piece of code that contains instructions for different types of processors.<span style="mso-spacerun: yes;">  </span>It is certainly possible to program for these coprocessors today with one code base through the use of libraries (Direct X is an example of such a library), however these approaches abstract away the low level hardware which is what some developers would like to access.<span style="mso-spacerun: yes;">  </span>In addition, EXOCHI enables virtual shared memory through hardware support which grants the nice properties of shared memory while limiting the performance penalties.<span style="mso-spacerun: yes;">  </span>Very powerful.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">In two weeks, I’ll be participating on a panel at Design Automation Conference which will seek answers on why tools to aid with heterogeneous multi-core and multi-processor SOCs have not really caught on.<span style="mso-spacerun: yes;">  </span>My suspicion is a tool like EXOCHI may be just what is needed to lower the barrier for heterogeneous multi-core software development. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">One more rehearsal of my talk before I go onstage, give the presentation, and then hopefully talk my colleagues into Kobe beef.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">If you need a reference on EXOCHI, the paper can be found at, </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><a href="http://portal.acm.org/citation.cfm?id=1250734.1250753"><span style="font-size: small; font-family: Times New Roman;">http://portal.acm.org/citation.cfm?id=1250734.1250753</span></a></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Max</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><a href="http://www.chipdesignmag.com/domeika/wp-content/uploads/2008/06/maxmatumoto.jpg"><img class="alignnone size-medium wp-image-4" title="maxmatumoto" src="http://www.chipdesignmag.com/domeika/wp-content/uploads/2008/06/maxmatumoto-300x225.jpg" alt="" width="300" height="225" /></a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/domeika/2008/05/30/exochi-as-in-exo-cha-cha-cha/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Perspective</title>
		<link>http://www.chipdesignmag.com/domeika/2008/05/14/hello-world/</link>
		<comments>http://www.chipdesignmag.com/domeika/2008/05/14/hello-world/#comments</comments>
		<pubDate>Wed, 14 May 2008 23:19:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/domeika/?p=1</guid>
		<description><![CDATA[&#8220;It transforms into a bird
Its name is Peng
The wingspan of Peng
We know not how many thousand leagues&#8221; - Chuang Tzu
Sometimes you can fall for a trap when you work on the same project with the same people for years on end.  You start assuming that the thoughts and state of mind shared by the folks you iteract [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;It transforms into a bird<br />
Its name is Peng<br />
The wingspan of Peng<br />
We know not how many thousand leagues&#8221; - Chuang Tzu</p>
<p>Sometimes you can fall for a trap when you work on the same project with the same people for years on end.  You start assuming that the thoughts and state of mind shared by the folks you iteract with completely represents the state of mind of the general engineering community.   I may have recently fallen into this trap with regard to the adoption and leveraging of multicore processors in the embedded community.</p>
<p>Last month at Multicore Expo, I heard a speaker comment on the need to make code &#8220;Multicore ready&#8221;.  My initial thoughts in reaction were &#8220;What do you mean Multicore ready?  I&#8217;ve been pitching software techniques for Multicore for over 3 years now.  Everyone should be moving already.&#8221;</p>
<p>I could sense many attendees responded positively to the speaker&#8217;s comment.  This led me to wonder if I&#8217;d fallen into the trap of having a perspective limited by the engineers I have the most contact with (other engineers at Intel) and the work I&#8217;ve been doing.</p>
<p>So my question is where are folks at with leveraging multicore processors in their embedded design?  Are we still predominately in a state of wondering what to do with multicore processors and how to make code &#8216;Multicore ready&#8217;?  Or are we well past that point and into planning our next design to take further advantage of multicore processors?  </p>
<p>I&#8217;m basically asking - what help do customers need?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/domeika/2008/05/14/hello-world/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
