<?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; research</title>
	<atom:link href="http://jakob.engbloms.se/archives/tag/research/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>Book review: Taxonomies for the &#8230; Digital Systems</title>
		<link>http://jakob.engbloms.se/archives/175?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/175#comments</comments>
		<pubDate>Sat, 26 Jul 2008 18:49:58 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[books]]></category>
		<category><![CDATA[computer simulation technology]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[ESL]]></category>
		<category><![CDATA[virtual platforms]]></category>
		<category><![CDATA[Brian Bailey]]></category>
		<category><![CDATA[Grant Martin]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[Thomas Andersson]]></category>
		<category><![CDATA[VSIA]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=175</guid>
		<description><![CDATA[The book &#8220;Taxonomies for the Development and Verification of Digital Systems&#8220;, edited by Brian Bailey, Grant Martin, and Thomas Andersson, was published in 2005 by Springer Verlag. It is a legacy of the defunct VSIA, and presents an attempt to bring order to nomenclature and taxonomies in the chip design field (its scope is defined [...]]]></description>
			<content:encoded><![CDATA[<p class="firstHeading"><a href="http://jakob.engbloms.se/wp-content/uploads/2008/07/taxonomies-cover.png"><img class="alignleft size-medium wp-image-176" style="margin: 5px 10px;" title="taxonomies-cover" src="http://jakob.engbloms.se/wp-content/uploads/2008/07/taxonomies-cover-192x300.png" alt="" width="96" height="150" /></a>The book &#8220;<a href="http://www.springer.com/engineering/circuits+%26+systems/book/978-0-387-24019-0">Taxonomies for the Development and Verification of Digital Systems</a>&#8220;, edited by Brian Bailey, Grant Martin, and Thomas Andersson, was published in 2005 by Springer Verlag. It is a legacy of the <a href="http://vsi.org/">defunct VSIA</a>, and presents an attempt to bring order to nomenclature and taxonomies in the chip design field (its scope is defined to be broader than that, but in essence, the book is about SoC design for the most part).</p>
<p class="firstHeading"><span id="more-175"></span></p>
<p class="firstHeading">The book is obviously a collection of previous work, and the style is quite inconsistent from section to section. Not so much that it detracts from the value of the information, but it does feel a bit rushed.</p>
<p class="firstHeading">The book presents four sets of taxonomies:</p>
<ul>
<li>Models, which is by far the richest part. In addition to a definition of terms in the field of building models of digital systems, it also offers a detailed classification scheme for the models. The classification scheme uses five &#8220;resolution&#8221; axes along with an external/internal perspective to define what a model contains and at what level of resolution.</li>
<li>Functional Verification, which is really just a collection of terms.</li>
<li>Platform-Based Design, which is more of a marketing discussion in how to define and design platforms. Also mostly a definition of terms.</li>
<li>Hardware-Dependent Software (HdS), which defines terms. It has some attempts to classify software along some axes, but it does not really work out too well.</li>
</ul>
<p class="firstHeading">The main value is really in the second chapter, where it does provide a decent basis for discussing the level of abstraction at which models are created (note that accuracy is different from abstraction: a very detailed model at a very low level of abstraction can be totally off when considered from an accuracy perspective).</p>
<p class="firstHeading">However, I fear that the impact of this work has been fairly limited. No discussion on modeling that I have been participating in has really gone back to this basis and worked from there. I think a key problem here is that the material is only available as a quite expensive book from Springer, rather than as a freely downloadable document on the web. It is clear to me that spreading ideas today depends on free and easy digital access to the information&#8230; that&#8217;s why I have my own publications page up to make stuff that I have created available for reading.</p>
<p class="firstHeading">The hardware-dependent software (HdS) section gave rise to several &#8220;but they forgot X&#8221; comments from my part. For example, it is missing important aspects like processor virtualization, hypervisors, and IO virtualization (which totally change the game on HdS). Also, SMP operating systems are only giving a passing reference, with the focus on uniprocessors. And why do people keep using the term &#8220;<a href="http://en.wikipedia.org/wiki/Rate-monotonic_scheduling">Rate-Monotonic Analysis</a>? There are so many much more modern fixed-priority scheduling analysis theories, methods, and tools available that RMA is like talking about programming in assembler&#8230;</p>
<p class="firstHeading">What a choice for summer vacation reading&#8230;  and thanks to Bart Vanhournout at CoWare for the tip about the book in a discussion trying to pin down abstraction levels.</p>
<p class="firstHeading">
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/175"></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/175" 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/175" 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/175/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Simon Kågström, PhD</title>
		<link>http://jakob.engbloms.se/archives/119?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/119#comments</comments>
		<pubDate>Sat, 10 May 2008 07:08:19 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[appearances]]></category>
		<category><![CDATA[blog commentary]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[multicore]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[software tools]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=119</guid>
		<description><![CDATA[Yesterday, I had the honor of being the opponent at the PhD defense of Simon Kågström at Blekinge Tekniska Högskola (BTH, Blekinge University of Technology in English). His PhD thesis deals mainly with the multiprocessor port of an industrial in-house operating system, and a secondary theme was the design of the Cibyl C-programs-to-JVM translator. All [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-120" style="float: left;" title="bthsmall" src="http://jakob.engbloms.se/wp-content/uploads/2008/05/bthsmall-150x148.png" alt="BTH logo" width="150" height="148" />Yesterday, I had the honor of being the opponent at the PhD defense of <a href="http://www.ipd.bth.se/ska/">Simon Kågström</a> at <a href="http://www.bth.se">Blekinge Tekniska Högskola</a> (BTH, Blekinge University of Technology in English). His <a href="http://www.ipd.bth.se/ska/phd.html">PhD thesis</a> deals mainly with the multiprocessor port of an industrial in-house operating system, and a secondary theme was the design of the <a href="http://code.google.com/p/cibyl/">Cibyl </a>C-programs-to-JVM translator. All of his papers are very well-written and a joy to read, and the engineering work behind it is very solid.</p>
<p>The most important data in the PhD thesis is really just how much work it is to do an SMP port of an OS kernel. And how hard it is to get performance up to good levels even with several years of work. Really emphasizes the point that hard work and perseverance and just lots of calendar time is what it takes to create a good SMP OS. That&#8217;s why Solaris and AIX are still years ahead of Linux in this respect &#8212; you just need to hit the snags, fix them, retest, and hit the next snag. It takes time to polish, basically.</p>
<p>So, if you have any interest in multiprocessor operating systems, Simon&#8217;s work is well-worth a read. Also check out his blog at <a href="http://simonkagstrom.livejournal.com/">http://simonkagstrom.livejournal.com/</a>.  And by the way, he did pass.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/119"></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/119" 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/119" 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/119/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Multicore Expo US 2008</title>
		<link>http://jakob.engbloms.se/archives/89?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/89#comments</comments>
		<pubDate>Mon, 24 Mar 2008 18:43:30 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[appearances]]></category>
		<category><![CDATA[computer architecture]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[multicore]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[trade shows]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/archives/89</guid>
		<description><![CDATA[The Multicore Expo US 2008 is taking place next week (April 1-3) in Santa Clara, CA. I was originally slated to talk there, but since I am going to the Embedded Systems Conference a few weeks later it was too much travel in too short a time frame to do. I happy that Ross Dickson, [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.multicore-expo.com/common/agenda.php?expo_seq=6">Multicore Expo US 2008</a> is taking place next week (April 1-3) in Santa Clara, CA. I was originally slated to talk there, but since I am going to the <a href="http://jakob.engbloms.se/archives/75">Embedded Systems Conference</a> a few weeks later it was too much travel in too short a time frame to do. I happy that Ross Dickson, a senior technology specialist at Virtutech could take my place. He will do just as good a job as I would, and he also has his own session to present at the Expo.</p>
<p><a href="http://www.multicore-expo.com/common/session.php?pres_seq=367">Our talk will be on how approximate you can be in simulating multicore computers</a>, and still get useful results out from the software running on the simulator. It is something that we at Virtutech have spent a lot of time working on, and we want to bring our results to a wider community. Really exciting to present, and it is a pity that I could not be there myself.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/89"></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/89" 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/89" 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/89/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multicore Denial-of-Service Attack</title>
		<link>http://jakob.engbloms.se/archives/83?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/83#comments</comments>
		<pubDate>Tue, 04 Mar 2008 11:16:08 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[computer architecture]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[multicore]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/archives/83</guid>
		<description><![CDATA[In a paper from USENIX 2007 by Microsoft Researchers Onur Mutlu and Thomas Moscibroda present a working &#8220;denial of service&#8221; attack for multicore processors. The idea is simple: since there is no fairness or security designed into current DRAM controllers, it is quite feasible for one program in a multicore system to hog almost all [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://research.microsoft.com/~onur/pub/mph_usenix_security07.pdf">paper from USENIX 2007 by Microsoft Researchers Onur Mutlu and Thomas Moscibroda</a> present a working &#8220;<span style="font-weight: bold">denial of service&#8221; attack for multicore processors</span>.  The idea is simple: since there is no fairness or security designed into current DRAM controllers, it is quite feasible for one program in a multicore system to hog almost all memory bandwidth and thus reduce or deny service to the others. There is no direct attack on software programs, just stealing the resources that they all need to share for all to work.<br />
<span id="more-83"></span>The attack is baesd on the following:</p>
<ul>
<li>Several cores share the memory controller(s) &#8212; quite likely, since there is not room for more one controller per core in &gt;2 core machines. The limitation is both because memory controllers are large and complex beasts, and because the pins needed for each memory interface makes it hard to have more than a few on a single chip. While the real estate for processors easily lets us put 4, 8, or 16 cores on a chip today.</li>
<li> Modern DRAM controllers are not a strict fifo queue, but attempt to optimize memory bandwidth by prioritizing accesses that are directed to the currently open rows in the banks in the available DRAMs.</li>
<li>The scheduling strategy used today (as they claim) can be easily monopolized by a thread with a high rate of memory accesses and good sequential locality.  There is no attempt to provide fairness between cores or programs.</li>
</ul>
<p>A simple stream benchmark doing a sequential read through a large array is a simple example of what they term an MPH &#8212; Memory Performance Hog.  In experiments on real hardware and in simulation they show how it can kill the performance of simultaneously executing programs with somewhat more random access patterns.</p>
<p>So what to make of this?</p>
<p>First of all, this is a real attack, in the respect that this sort of thing can and do happen on current hardware with current software out in the field.  How dangerous it is in practice is hard to tell, but it could be an issue for various cases where users are sharing a computer. A bit like the old &#8220;<a href="http://en.wikipedia.org/wiki/Fork_bomb">fork bomb</a>&#8221; on Unix systems. I remember being thrown out of shared Solaris machines a few times due to these (several times unintended by beginning Unix programmers making honest mistakes).</p>
<p>It is more interesting in the context of embedded systems and integrated modular avionics (IMA). As I stated in a few earlier blog posts(<a href="http://jakob.engbloms.se/archives/63">63</a> and <a href="http://jakob.engbloms.se/archives/58">58</a>) I think that the best way to host multiple different applications on a multicore processor is to partition applications sparially across cores.  This should be more efficient, simpler, and safer than sharing all the cores across partitions using time sharing.<br />
However, this attack does reflect critically on that idea: if it is this simple to hog the memory and thus kill performance of other cores and applications, it might not be particularly safe to have each core run an independent set of applications of different criticalities.  It does mean that in order to ensure performance isolation between applications, you will need additional hardware support of one form or the other.  Could be a better DRAM scheduler (as the paper proposes), or a static allocation of a DRAM controller to each core (which is likely infeasible due to pin constraints), or DRAM controllers that do a slightly inefficient but safe allocation of a portion of their bandwidth to each core.</p>
<p>In the meantime, maybe the ugly temporal sharing of the entire chip is the &#8220;best&#8221; way ahead, as it at least is proof against this kind of attack based on parallel execution of partitions.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/83"></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/83" 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/83" 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/83/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Register reporting from SC&#8217;07</title>
		<link>http://jakob.engbloms.se/archives/55?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/55#comments</comments>
		<pubDate>Tue, 20 Nov 2007 19:31:35 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[computer architecture]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[multicore]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[software tools]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/archives/55</guid>
		<description><![CDATA[The Register has a pretty good report from the Supercomputing (SC) 2007 conference.  Quite knowledgeable, and mostly about the thorny issue of programming massively parallel fairly homogeneous machines likes GPUs and floating-point accelerators. Of course, their commentary has to be commented on. Read on for more. The following quotes on programming for the Clearspeed chips [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://sc07.supercomputing.org/images/sc07_logo.jpg" align="left" height="94" hspace="10" width="88" />The Register has a <a href="http://www.theregister.co.uk/2007/11/20/accelerators_fpga_gpu_sc07/">pretty good report </a>from the <a href="http://sc07.supercomputing.org/">Supercomputing (SC) 2007 conference.</a>  Quite knowledgeable, and mostly about the thorny issue of programming massively parallel fairly homogeneous machines likes GPUs and floating-point accelerators. Of course, their commentary has to be commented on. Read on for more.</p>
<p><span id="more-55"></span></p>
<p>The following quotes on programming for the <a href="http://www.clearspeed.com">Clearspeed </a>chips describes a solution that I find very attractive: use higher-level programming languages that describe an actual problem or computation to be performed, and then let a compiler/code generator take care of generating a suitable parallel implementation:</p>
<blockquote><p><em>For one, it notes that a number of applications such as Matlab and Mathematica can run on the CSX600 chips without any changes to the underlying code thanks to work done by ClearSpeed and the software makers and the presence of friendly ClearSpeed libraries.</em></p></blockquote>
<p>Using libraries is one solution suitable for certain classes of problems, and can cover a fair amount of the supercomputing market where the number of kernel algorithms used tend to be fairly limited. I wouldn&#8217;t try using these tools for programming a telecom switch, but that is not what the hardware is designed for either. The CSX600 chip contains 96 fully floating-point coprocessors, and there are solutions out there using massive numbers of the chips (144, according to The Register, for a total of 13824 processors). Scalability like that is pretty cool.</p>
<p>So it seems that by targeting a selected set of applications, Clearspeed does manage to produce a decently programmable solution. Also, one has to presume that the value to the end users of the solution is great enough that the time spent programming is worth its while.</p>
<p>Another example of a domain-limited solution with great power is what <a href="http://www.acceleware.com/">Acceleware </a>is doing:  take the hardware and the software from Nvidia for using GPUs as accelerators, and code a solution applying it to a certain problem domain. This makes it very easy for the end-users to pick up, since they basically buy a package targeted to their problem, with all the hard parts already taken care of. In the case of Acceleware, the problem is electromagnetic simulations, and the customers are big companies like Nokia and Samsung. These end customers only need a month or so to incorporate the acceleration effect into their custom programs. Everybody wins, and the value of Acceleware is in letting a group of users for GPU acceleration share the cost of creating a platform to work from. Classic play in high-tech.</p>
<p>Finally, The Register looks at a few players working with FPGAs as their acceleration platform. This has theoretical immense performance and performance/power, but also a much steeper learning curve for programmers.  In my favorite field of embedded, I rather see FPGAs and on-chip FPGAs being used to create accelerated peripherals or simple algorithms embedded in hardware rather than as general-purpose math accelerators. The difference might not be that big in theory, but it does impact what the style and target programs for the programming tools are. And there is a big difference between floating-point math and the operations needed to decode video or do parallel table lookups.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/55"></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/55" 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/55" 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/55/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Handbook of Real-Time and Embedded Systems</title>
		<link>http://jakob.engbloms.se/archives/30?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/30#comments</comments>
		<pubDate>Wed, 19 Sep 2007 19:57:50 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[embedded software]]></category>
		<category><![CDATA[embedded systeme]]></category>
		<category><![CDATA[Andreas Ermedahl]]></category>
		<category><![CDATA[Handbook of Real-Time and Embedded Systems]]></category>
		<category><![CDATA[real-time]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[wcet]]></category>
		<category><![CDATA[worst-case execution time analysis]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/archives/30</guid>
		<description><![CDATA[The &#8220;Handbook of Real-Time and Embedded Systems&#8221; (ToC, Amazon, CRC Press) is now out. I and my university research colleague and friend Andreas Ermedahl have written a chapter on worst-case execution time analysis. We talk some about the theories and techniques, but we try to discuss practical experience in actual industrial use. Both static, dynamic, [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Cover of Handbook of Embedded and Real-Time Systems" href="http://jakob.engbloms.se/wp-content/uploads/2007/09/handbook-rtes-2007-cover.png"><img title="Cover of Handbook of Embedded and Real-Time Systems" src="http://jakob.engbloms.se/wp-content/uploads/2007/09/handbook-rtes-2007-cover.thumbnail.png" alt="Cover of Handbook of Embedded and Real-Time Systems" hspace="10" align="left" /> </a>The &#8220;Handbook of Real-Time and Embedded Systems&#8221; (<a href="http://web.njit.edu/~leung/handbook07/index.htm">ToC</a>, <a href="http://www.amazon.com/Handbook-Real-Time-Embedded-Computer-Information/dp/1584886781">Amazon</a>, <a href="http://www.crcpress.com/shopping_cart/products/product_detail.asp?sku=C6781&amp;isbn=9781584886785&amp;parent_id=&amp;pc=">CRC Press</a>) is now out. I and my university research colleague and friend <a href="http://www.idt.mdh.se/~ael01/">Andreas Ermedahl</a> have written a chapter on worst-case execution time analysis. We talk some about the theories and techniques, but we try to discuss practical experience in actual industrial use. Both static, dynamic, and hybrid techniques are covered.</p>
<p>I just got my personal copy, but my first impression of the book overall is very positive. The contents seems quite practical to a large extent, not as academic as one might have feared. Do check it out if you are into the field. It is not a collection of research paper, rather instructive chapters informed by solid research but with applications in mind.<a title="Cover of Handbook of Embedded and Real-Time Systems" href="http://jakob.engbloms.se/wp-content/uploads/2007/09/handbook-rtes-2007-cover.png"><br />
</a></p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/30"></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/30" 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/30" 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/30/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

