<?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>Intel Software Network Blogs &#187; Academic</title>
	<atom:link href="http://software.intel.com/en-us/blogs/category/academic/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/en-us/blogs</link>
	<description></description>
	<pubDate>Fri, 06 Nov 2009 23:30:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>en</language>
			<item>
		<title>TechEd 2009 Europe</title>
		<link>http://software.intel.com/en-us/blogs/2009/11/05/teched-2009-europe/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/11/05/teched-2009-europe/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 01:05:03 +0000</pubDate>
		<dc:creator>Asaf Shelly</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Events]]></category>

		<category><![CDATA[Intel® Software Network 2.0]]></category>

		<category><![CDATA[Mobility]]></category>

		<category><![CDATA[Parallel Prog. &amp; Multi-Core]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[guest blogger]]></category>

		<category><![CDATA[TechEd]]></category>

		<category><![CDATA[www.AsyncOp.com]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/11/05/teched-2009-europe/</guid>
		<description><![CDATA[Hi All,
If you are going to the event next week in Berlin then let me know about it. Maybe we can meet face to face and if there are enough of us perhaps even a gourp community meeting. This can be a good opportunity to meet the experts.
In any case, you are all welcome to [...]]]></description>
			<content:encoded><![CDATA[<p>Hi All,</p>
<p>If you are going to the event next week in Berlin then let me know about it. Maybe we can meet face to face and if there are enough of us perhaps even a gourp community meeting. This can be a good opportunity to meet the experts.</p>
<p>In any case, you are all welcome to join my session titled "Parallel Programming for Embedded". I will be presenting on Friday 10:45 - 12:00.</p>
<p>At the basis of this presentation is the fact that the hardware has always been parallel. This also caused the kernel drivers to live in a parallel environment, so even though embedded devices were late to adopt Multi-Core CPUs, the people who are working with the lower levels have always been working in parallel environments.</p>
<p>The session speaks of parallel systems in general side by side with embedded systems and infrastructure environemnts.</p>
<p>The goal of this session is to open the eyes and show the systems that have always been working in parallel and name the principles used with these systems.</p>
<p>You can read my previous blogs to learn more about this approach. For example these:</p>
<p><a href="http://software.intel.com/en-us/blogs/2008/10/29/is-dos-the-ideal-parallel-environment-part-iv/">is dos the ideal parallel environment part iv</a></p>
<p><a href="http://software.intel.com/en-us/blogs/2009/07/27/stateful-programming-a-case-study/">stateful programming a case study</a></p>
<p>Here are a few slides from this presentation.</p>
<div id="attachment_11631" class="wp-caption alignnone" style="width: 310px"><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/11/parallel-programming-for-embedded-slide-2.jpg"><img class="size-medium wp-image-11631" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/11/parallel-programming-for-embedded-slide-2-300x225.jpg" alt="Parallel Programming for Embedded TechEd 2009" width="300" height="225" /></a><p class="wp-caption-text">Parallel Programming for Embedded TechEd 2009</p></div>
<div id="attachment_11632" class="wp-caption alignnone" style="width: 310px"><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/11/parallel-programming-for-embedded-slide-56.jpg"><img class="size-medium wp-image-11632" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/11/parallel-programming-for-embedded-slide-56-300x225.jpg" alt="USB Ping Pong" width="300" height="225" /></a><p class="wp-caption-text">USB Ping Pong</p></div>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/11/parallel-programming-for-embedded-slide-71.jpg"><img class="alignnone size-medium wp-image-11634" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/11/parallel-programming-for-embedded-slide-71-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Hope to see you all there,<br />
Asaf</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/11/05/teched-2009-europe/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Five role playing exercises to introduce parallelism concepts</title>
		<link>http://software.intel.com/en-us/blogs/2009/11/05/five-role-playing-exercises-to-introduce-parallelism-concepts/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/11/05/five-role-playing-exercises-to-introduce-parallelism-concepts/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 19:12:40 +0000</pubDate>
		<dc:creator>Robert Chesebrough (Intel)</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Parallel Prog. &amp; Multi-Core]]></category>

		<category><![CDATA[concurrency]]></category>

		<category><![CDATA[Critical Section]]></category>

		<category><![CDATA[Domain Decomposition]]></category>

		<category><![CDATA[parallelism]]></category>

		<category><![CDATA[Race Condition]]></category>

		<category><![CDATA[Role Playing]]></category>

		<category><![CDATA[Task Decomposition]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/11/05/five-role-playing-exercises-to-introduce-parallelism-concepts/</guid>
		<description><![CDATA[Since the kickoff of the High School Parallelism bootcamp this summer, I've received several requests for a write up of the five role playing activities we used.  
The activities put students in the place of procesor cores and had them perform tasks in parallel. These activities proved to be popular among many of the [...]]]></description>
			<content:encoded><![CDATA[<p>Since the kickoff of the High School Parallelism bootcamp this summer, I've received several requests for a write up of the five role playing activities we used.  </p>
<p>The activities put students in the place of procesor cores and had them perform tasks in parallel. These activities proved to be popular among many of the students at the camp, however, some of the more advanced students did express that they felt the exercsies could seem childish.</p>
<p>My personal observation is that these exercises laid an excellent foundation that was built upon later with actual computer lab activites using OpenMP and Threading Building Blocks.</p>
<p>The activities are best done in groups of 4 or 5 individuals but even two in a single group can.</p>
<p>Without further ado - here is my promised write up:</p>
<h1>
<p><strong>Thinking Parallel</strong></h1>
<p>
These role playing activities are designed to get you start thinking in parallel. They will also expose you to some terminology &amp; concepts that we will use throughout the rest of the boot-camp. Many of these exercises were inspired from  Chapter two if James Reinders’ book “Intel Threading Building Blocks”.</p>
<p><strong>Objectives</strong><br />
The objectives for the following five exercises are to:<br />
1)	Explore domain &amp; task decomposition using a mailer example.<br />
2)	Learn about race conditions and two ways to mitigate them.<br />
3)	Learn what a critical section does<br />
4)	How a reduction can eliminate a race condition.</p>
<p>
<h1>Activity 1 – Explore Domain Decomposition</h1>
<p>
In this activity, each member of your team or group will play the role of a processor core, or more accurately, the role of a thread executing code on a core. Your team will explore how to use domain decomposition to accomplish the job of folding, stuffing, sealing, addressing, stamping &amp; mailing multiple envelopes.</p>
<p><strong>Time Required</strong><br />
fifteen minutes</p>
<p><strong>Objective</strong><br />
Use scrap paper, some empty envelopes, and a pencil to explore the concept of parallelism<br />
through domain decomposition.</p>
<p><strong>Materials</strong><br />
1) 16 envelopes per table of 4 to 5 “processors”<br />
2) 32 colored post-it notes (16 to represent stamps, 16 to represent address labels)<br />
3) Pens or pencils</p>
<p><strong>Setup</strong><br />
1) Divvy up the 16 envelopes &amp; colored post-its so that each process gets a roughly equal share<br />
2) Each “processor” (think student) must read over and become familiar with the “code” or instructions she is to execute so that the “code” is committed to memory.<br />
Here is your “code” of instructions – For Domain decomposition – each processor does the same task but uses different data (represented here by different addresses)<br />
a) Fold scrap paper<br />
b) Stuff paper into envelop<br />
c) Pretend to seal envelope (so we can re-use them later)<br />
d) Address an “address label” and fix it to the middle of the envelope<br />
You may use these fictitious addresses if you cannot come up with 16 of your own:</p>
<table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" style='.5pt solid windowtext'>
<tr style='yes'>
<td width="148" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span style='black'>1600 Daily Planet Ave</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>Metropolis</span><span style='black'>, NY, 12345</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
<td width="148" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span style='black'>Gotham</span><span style='black'> City College</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>Gotham</span><span style='black'>, IL, 60506</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
<td width="156" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span class="SpellE"><span style='black'>Kwikspell</span></span><span style='black'> University</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>Briton, UK</span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
<td width="139" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span style='black'>Know-It-All university</span></p>
<p class="MsoNormal" style='none'><span style='black'>Bullwinkle</span><span style='black'>, AK</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
</tr>
<tr style='1'>
<td width="148" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span style='black'>Waco</span><span style='black'> University</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>Waco</span><span style='black'>, Texas, 12987</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
<td width="148" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span style='black'>Acme <span class="SpellE">Looniverisity</span></span></p>
<p class="MsoNormal" style='none'><span class="SpellE"><span style='black'>Toonville</span></span><span style='black'>, CA, 10023</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
<td width="156" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span class="SpellE"><span style='black'>Bronto</span></span><span style='black'> Crane Academy</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>Rock Vegas, NV, 010101</span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
<td width="139" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span style='black'>Ferris</span><span style='black'> <span class="SpellE">Bueller</span><br />
   School</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>Burbank</span><span style='black'>, CA</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
</tr>
<tr style='2'>
<td width="148" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span lang="PT-BR" style='PT-BR'>CXVI Caesar Av.</span></p>
<p class="MsoNormal" style='none'><span lang="PT-BR" style='PT-BR'>Rome, Italy, XLIV BC</span></p>
<p class="MsoNormal" style='none'><span lang="PT-BR" style='PT-BR'>&nbsp;</span></p>
</td>
<td width="148" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span style='black'>Central</span><span style='black'> High School</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>Central</span><span style='black'>, IN, 17766</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
<td width="156" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span class="SpellE"><span style='#333333'>Bullworth</span></span><span style='#333333'> Academy</span><span style='#333333'></span></p>
<p class="MsoNormal" style='none'><span style='#333333'>Missions Blvd, Bermuda</span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
<td width="139" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span style='black'>Boston</span><span style='black'> Bay College</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span class="SpellE"><span style='black'>Dawsons</span></span><span style='black'> Creek</span><span style='black'>, IL, 10982</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
</tr>
<tr style='yes'>
<td width="148" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span style='black'>1600+1/2 Pennsylvania<br />
    Avenue NW</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>Washington</span><span style='black'>, DC 20500</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
<td width="148" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span style='black'>Bedrock</span><span style='black'> High School</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>Little Rock</span><span style='black'>, AR, 56005</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
<td width="156" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span class="SpellE"><span style='black'>Watsamata</span></span><span style='black'> University</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>Rocky Road, AK</span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
<td width="139" valign="top" style='0in 5.4pt 0in 5.4pt'>
<p class="MsoNormal" style='none'><span style='black'>Hill</span><span style='black'> Valley</span><span style='black'> Schoolhouse</span></p>
<p class="MsoNormal" style='none'><span style='black'>Hill Valley</span><span style='black'>, CA, 33773</span><span style='black'></span></p>
<p class="MsoNormal" style='none'><span style='black'>&nbsp;</span></p>
</td>
</tr>
</table>
<p>e) Fix another post-it (representing a stamp) to the stamp area of the envelope<br />
f) Place envelope in table area designated “the mail box”</p>
<p>Monitor Time for completion of mailer exercise<br />
1) Have someone on the team write down the time just prior to saying go<br />
2) Each “processor” should complete his assigned set of envelopes as quickly as possible.<br />
3) Record the time to complete the assigned mailer job. Time: _____________________<br />
4) Record any observations about the nature of the tasks you do – which ones take longest, which one are fast? Were any processors idle for periods of time?</p>
<p>
<h1>Activity 2 – Explore Task Decomposition</h1>
<p>
In this activity, your team will explore how to use a task decomposition to accomplish the job of folding, stuffing, sealing, addressing, stamping &amp; mailing multiple envelopes.</p>
<p><strong>Time Required </strong><br />
fifteen minutes</p>
<p><strong>Objective</strong><br />
Use scrap paper, some empty envelopes, and a pencil to explore the concept of parallelism<br />
through task decomposition.</p>
<p><strong>Materials</strong><br />
1) 16 envelopes per table of 4 to 5 “processors”<br />
2) 32 colored post-it notes (16 to represent stamps, 16 to represent address labels)<br />
3) Pens or pencils</p>
<p><strong>Setup</strong><br />
1) Divvy up the 16 envelopes &amp; colored post-its so that each process gets a roughly equal share<br />
a) Each “processor” will agree with team ahead of time which task or tasks he/she is committed<br />
to accomplishing. Perhaps, one processor is assigned the tasks of Folding, Stuffing, Pretend<br />
Sealing all the envelopes.<br />
b) Another processor, or perhaps even two, are assigned the task of addressing the envelopes<br />
Use same addresses as before<br />
c) Another processor is assigned the role of stamping and mailing the envelopes</p>
<p>Monitor Time for completion of mailer exercise<br />
1) Have someone on the team write down the time just prior to saying go<br />
2) Each “processor” should complete his assigned tasks as quickly as possible.<br />
3) Record the time to complete the assigned mailer job. Time: _____________________<br />
4) Record any observations about the nature of the tasks you do – which ones take longest, which one are fast? Were any processors idle for periods of time?</p>
<p>
<h1>Activity 3 –Vector Addition exposes race conditions</h1>
<p>
In this activity, your team will explore how to use a domain decomposition to accomplish the job of (mis)adding a set of numbers which we will call a vector. The activity exposes the problem that occurs when writes to a shared memory variable are not protected by a synchronization construct.</p>
<p><strong>Time Required </strong><br />
fifteen minutes</p>
<p><strong>Objective</strong><br />
Use some index cards, and pencils to explore the concept of a race condition.</p>
<p><strong>Materials</strong><br />
1)	16 numbered index cards.<br />
2)	One index card labeled “Shared Sum”<br />
3)	16 extra index cards are labeled “local memory”<br />
4)	Pencils</p>
<p><strong>Setup</strong><br />
1) The 16 numbered index cards represent a vector of length 16 elements. These are divvied up roughly equally among all 4 to 5 “processors”<br />
2) One extra index card is labeled “Shared Sum” and has the value 0 written on it and is placed in the middle of the table accessible to all processors<br />
3) Several extra index cards are labeled “local memory” and are given to each processor as a scratch pad to add number on.</p>
<p><strong>Execution</strong><br />
1) This is a domain decomposition exercise, where each processor “reads” the value of the “shared sum” and writes a new value to this shared sum – ignoring all the other processors previously written values – this is called a race condition.<br />
Each processor should do these steps as quickly as possible:<br />
   a) “read” the value of the “shared sum” and writes that number on your own scratch pad.<br />
   b) add one of your “vector” card’s values to the sum on your scratch pad.<br />
   c) Immediately cross off the current value on the “shared sum” card and write your own value on the card (probably stomping over someone else’s value).<br />
   d) Repeat steps 5a – 5c until you are out of index cards<br />
2) Compare the final value written on the “shared sum” with the known total (46)<br />
3) Did your team compute the correct grand total for the vector sum?</p>
<p>
<h1>Activity 4 –Vector Addition fixed with critical section</h1>
<p>
In this activity, your team will explore how a critical section can be used to guarantee that access to a shared memory region are protected – in other words, that writes to a shared variable are done in an orderly and synchronized fashion. It will also expose the performance penalty that can be taken as a result of critical sections.</p>
<p><strong>Time Required </strong><br />
Fifteen minutes</p>
<p><strong>Objective </strong><br />
Use some index cards, a magic marker &amp; pencils to explore the concept of a critical section</p>
<p><strong>Materials</strong><br />
1)	16 numbered index cards (we call it our vector)<br />
2)	1 index card labeled “Shared Sum”<br />
3)	16 extra index cards are labeled “local memory”<br />
4)	Magic marker<br />
5)	Pencils</p>
<p><strong>Setup</strong><br />
1) The 16 numbered index cards represent a vector of length 16 elements. These are divvied up roughly equally among all 4 to 5 “processors”<br />
2) One extra index cards labeled “Shared Sum” and has the value 0 written on it and is placed in the middle of the table accessible to all processors.<br />
3) Several extra index cards are labeled “local memory” and are given to each processor as a scratch pad to add number on.<br />
4) A Magic maker, known as “critical section”, is placed on the table next to the “shared sum”</p>
<p><strong>Execution</strong><br />
1) We are now trying to synchronize access to shared memory by implementing a critical section. Our goal is to get rid of the race condition we encountered earlier.<br />
2) New rule: “Each processor can only use the magic marker, named critical section, to write values to the “shared sum” index card. And – No processor can do any computations without first acquiring the magic marker, called critical section. As soon as a processor writes a new value to  “shared sum” the processor should expeditiously return the capped critical section to the middle of the table”.<br />
3) Each processor should do these steps as quickly as possible:<br />
   a) Acquire the critical section! If you failed to acquire the critical section you must wait for the marker to be placed back in the middle of the table.<br />
   b) Immediately cross off the current value on the “shared sum” card<br />
   c) Add the value of one of your index cards to the “shared sum” use a scratch pad if needed<br />
   d) Write the new value for sum on the globally shared “shared sum” card<br />
   e) Return the cap to the marker<br />
   f) Return the marker to the middle of the table<br />
   g) Repeat steps 5a(i) – 5a(v) until you are out of index cards<br />
4) Compare the final value written on the “shared sum” with the known total (46)<br />
5) Did your team compute the correct grand total for the vector sum?<br />
6) What did you observe about how much time you spent idling versus time spent writing or calculating?</p>
<p>
<h1>Activity 5 – Vector Addition fixed with reduction</h1>
<p>
In this activity, your team will explore how a reduction (or a partial sums approach) can be used to guarantee that access to a shared memory region are protected – in other words, that writes to a shared variable are done in an orderly and synchronized fashion. It will also demonstrate the benefit of replacing a critical section with a reduction wherever possible.</p>
<p><strong>Time Required </strong><br />
Fifteen minutes</p>
<p><strong>Objective </strong><br />
Use some index cards, &amp; pencils to explore the concept of a critical section</p>
<p><strong>Materials</strong><br />
1)	16 numbered index cards (we call it our vector)<br />
2)	1 index card labeled “Shared Sum”<br />
3)	4 index card labeled “Partial Sum”<br />
4)	16 extra index cards are labeled “local memory”<br />
5)	Pencils</p>
<p><strong>Setup</strong><br />
1) The 16 numbered index cards represent a vector of length 16 elements. These are divvied up roughly equally among all 4 to 5 “processors”<br />
2) One extra index cards labeled “Shared Sum” and has the value 0 written on it and is placed in the middle of the table accessible to all processors.<br />
3) The remaining “Partial sum” cards are divvied up among the processors<br />
4) Several extra index cards are labeled “local memory” and are given to each processor as a scratch pad to add number on.</p>
<p><strong>Execution</strong><br />
We are now trying to synchronize access to shared memory by implementing a reduction – which amounts to a collection of partial sums computed by each processor, followed by a grand total computed by a master thread. Our goal is to get rid of the race condition we encountered earlier, and do the parallel tasks in a more efficient manner.</p>
<p>Every processor will add up his/her own partial sum that represents the total of all the vector<br />
elements assigned to him/her.</p>
<p>One processor will also be named to execute the “master thread” that adds up all the partial sum cards to create a grand total , that the master thread writes this grand total to the “shared sum” card.</p>
<p>1) Each processor should:<br />
   a) Add the values from all their assigned vector cards<br />
   b) Write the value to a “partial Sum” card<br />
   c) Give the “Partial Sum” card to the Processor who will execute the master thread<br />
2) The Master Thread only should:<br />
   a) Compute his own partial sum<br />
   b) Wait for all other partial sums to arrive<br />
   c) Compute the grand total for all partial sums<br />
   d) Write the grand total on the “Shared Sum” card</p>
<p>3) Did your team compute the correct grand total for the vector sum?<br />
What did you observe about how much time you spent idling versus time spent writing or calculating?</p>
<p>4) How effective was the reduction strategy at computing the sum in parallel versus the other methods tried?</p>
<p><strong>Review Questions</strong></p>
<p>Question 1: Describe a race condition<br />
Question 2: What does a critical section do?</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/11/05/five-role-playing-exercises-to-introduce-parallelism-concepts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>In the company of friends</title>
		<link>http://software.intel.com/en-us/blogs/2009/11/04/in-the-company-of-friends/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/11/04/in-the-company-of-friends/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 20:57:19 +0000</pubDate>
		<dc:creator>wolfmurphy</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Parallel Prog. &amp; Multi-Core]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[panel discussion]]></category>

		<category><![CDATA[SC09]]></category>

		<category><![CDATA[tee shirts]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/11/04/in-the-company-of-friends/</guid>
		<description><![CDATA[




You are hereby invited to a gathering on November 17 at 5:30 pm in room C124 of the Oregon Convention Center in Portland. We are having a panel discussion focused on incorporating parallelism into the Computer Science curriculum. Of course, you might need to purchase a day pass to SC09 to attend, if you are [...]]]></description>
			<content:encoded><![CDATA[<p><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"></p>
<p><html><br />
<head></p>
<p></head></p>
<p><body><br />
You are hereby invited to a gathering on November 17 at 5:30 pm in room C124<img src="http://software.intel.com/file/23528" alt="room circled on floorplan" /> of the Oregon Convention Center in Portland. We are having a panel discussion focused on incorporating parallelism into the Computer Science curriculum. Of course, you might need to purchase a day pass to <a href="http://sc09.supercomputing.org/">SC09</a> to attend, if you are not otherwise attending.</p>
<p>We generally all believe it is a good idea to weave parallelism throughout the CS curriculum. There are a variety of paths to get there, roughly corresponding to number of panelists, of which I will be the moderator and facilitator. The panel held last year at SC08, had a standing-room-only animated crowd. It happens to be available in 15 minute chunks: part <a href="http://software.intel.com/en-us/videos/stop-teaching-sequential-programming-forum-at-super-computing-08-education-forum-pt1/">1</a>, <a href="http://software.intel.com/en-us/videos/sequential-programming-is-no-more-why-are-we-still-teaching-it-panel-super-computing-08-education-forum-pt2/">2</a>, <a href="http://software.intel.com/en-us/videos/sequential-programming-is-no-more-why-are-we-still-teaching-it-panel-super-computing-08-education-forum-pt3/">3</a>, <a href="http://software.intel.com/en-us/videos/sequential-programming-is-no-more-why-are-we-still-teaching-it-panel-super-computing-08-education-forum-pt4/">4</a>, <a href="http://software.intel.com/en-us/videos/sequential-programming-is-no-more-why-are-we-still-teaching-it-panel-super-computing-08-education-forum-pt5/">5</a>, <a href="http://software.intel.com/en-us/videos/sequential-programming-is-no-more-why-are-we-still-teaching-it-panel-super-computing-08-education-forum-pt6/">6</a>, and <a href="http://software.intel.com/en-us/videos/sequential-programming-is-no-more-why-are-we-still-teaching-it-panel-super-computing-08-education-forum-pt7/">7</a>. I expect similar festivities this year.</p>
<p>Our distinguished panel is composed of</p>
<ul>
<li><strong>Wen-mei Hwu</strong>, University of Illinois at Urbana-Champaign, who believes key computer architecture concepts, some performance optimization concepts, some program analysis concepts, some program transformation concepts, effective parallel programming patterns and algorithms, and fundamental parallelism concepts are required to train a successful undergraduate CS major.
</li>
</p>
<li> <strong>James Larus</strong>, Microsoft Research, who believes parallelism must be woven into the general series of courses, but sees the dilemma of the current awkward and crude tools imposing awareness of the underlying architecture on the student. He longs for a more elegant toolchain for use with students.
</li>
</p>
<li>
<strong>Simon McIntosh-Smith</strong>, University of Bristol, who has succumbed to the "Snow White" syndrome of advocating the dwarves parallel patterns from UCB. He also sees the utility of teaching the current prevalent tools: MPI and OpenMP, while remaining sensitive to the emerging potential standards: CUDA, OpenCL, Ct, map-reduce, etc.
</li>
</p>
<li> <strong>Bob Chesebrough</strong>, Intel, who sees the trouble in River City of a late introduction of parallelism to students, and of course recommends the "Think Method", in this case the "Think Parallel" method. Parallelism is all around and the key concepts can be conveyed without a computer.
</li>
</p>
<li>
<strong>Steve Parker</strong>, nVidia, who believes and has done many things. There needs to be a teaser to get you to come to the event. This is it.
</li>
</p>
<li>
<strong>Charlie Peck</strong>, Earlham College, who sees faculty education as key activity to get right, since many CS faculty have limited first hand experience with the myriad faces of parallelism. Involving students is a key part of this, for a unique form of learning takes place via an apprenticeship model of student involvement.
</li>
</ul>
<p>For several years now, we have been a parallel education working group composed of broad representation from industry, colleges/universities, hardware manufactures, and labs We are about to call ourselves something like "The Educational Alliance for a Parallel Future." I now know first hand what is involved in morphing from a working group to an alliance. When you are getting ready to make a tee-shirt, alliance ends up sounding sounding way cooler, and actually better reflects who we are. We will also be releasing a parallel crossword puzzle. This is not one solved in parallel, though it might be if someone is looking over your shoulder. The subject matter is of many things parallel. Stay tuned, we'll point you to it, once it debuts at SC09.</p>
<p></body><br />
</html></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/11/04/in-the-company-of-friends/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IEE IV 2009: Conference on the latest developments in the teaching and learning of Informatics in Europe</title>
		<link>http://software.intel.com/en-us/blogs/2009/11/03/iee-iv-2009-conference-on-the-latest-developments-in-the-teaching-and-learning-of-informatics-in-europe/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/11/03/iee-iv-2009-conference-on-the-latest-developments-in-the-teaching-and-learning-of-informatics-in-europe/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 00:16:44 +0000</pubDate>
		<dc:creator>Christoph Hermann</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/11/03/iee-iv-2009-conference-on-the-latest-developments-in-the-teaching-and-learning-of-informatics-in-europe/</guid>
		<description><![CDATA[
Dear Colleagues,
As a member of the Informatics Education Europe Organizing Committee it is a pleasure for me to inform you of the IEE IV 2009 conference which will take place on November 5-6 in Freiburg, Germany.
Informatics Education Europe IV is the fourth in a series of conferences promoted by ACM to provide a forum for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://conferences.informatik.uni-freiburg.de/IEEIV/"><img class="size-medium wp-image-11302" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/logo_wortbildmarke.png" alt="Informatics Education Europe IV" width="213" height="58" /></a></p>
<p>Dear Colleagues,</p>
<p>As a member of the Informatics Education Europe Organizing Committee it is a pleasure for me to inform you of the IEE IV 2009 conference which will take place on November 5-6 in Freiburg, Germany.</p>
<p>Informatics Education Europe IV is the fourth in a series of conferences promoted by ACM to provide a forum for European Informatics academics to discuss the latest developments in the teaching and learning of Informatics in Europe. The conference is not exclusive, experts in any area within the spectrum of Informatics are welcome and, while the focus is on Europe, academics from elsewhere in the world are also invited to participate.</p>
<p>We have set up a very interesting programme ranging from topics like "Teaching programming" to "International cooperation" and we are also proud to announce our invited speakers: Hans-Ulrich Heiss from the TU Berlin with his talk about "Accreditation of Informatics Degree Programs in Europe: Straitjacket or Cloak?" and Mark Guzdial from Georgia Institute of Technology with his talk "Meeting Everyone's Need for Computing".</p>
<p>Further information on the conference can be <a href="http://conferences.informatik.uni-freiburg.de/IEEIV/">found at the website</a>.</p>
<p>I welcome you to forward this information to all your colleagues who might be interested in the conference.</p>
<p>regards<br />
Christoph Hermann</p>
<div id="attachment_11307" class="wp-caption alignright" style="width: 160px"><a href="http://www.uni-freiburg.de"><img class="size-medium wp-image-11307" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/uni_logo-grundversion_e1_a4_cmyk-254x300.png" alt="University of Freiburg" width="150" /></a><p class="wp-caption-text">University of Freiburg</p></div>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/11/03/iee-iv-2009-conference-on-the-latest-developments-in-the-teaching-and-learning-of-informatics-in-europe/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A program Harold Hill might like</title>
		<link>http://software.intel.com/en-us/blogs/2009/11/03/a-program-harold-hill-might-like/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/11/03/a-program-harold-hill-might-like/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 00:15:44 +0000</pubDate>
		<dc:creator>wolfmurphy</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Parallel Prog. &amp; Multi-Core]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[High performance computing]]></category>

		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/11/03/a-program-harold-hill-might-like/</guid>
		<description><![CDATA[I just finished writing a 76 byte program.
I gave my Computer Architecture midterm yesterday. One of the four problems was to predict the output of a 17 byte program. This is with an assembly language where the bulk of the instructions are three bytes. The correct answer is of course 42, once the unconditional branch [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished writing a 76 byte program.</p>
<p>I gave my Computer Architecture midterm yesterday. One of the four problems was to predict the output of a 17 byte program. This is with an assembly language where the bulk of the instructions are three bytes. The correct answer is of course 42, once the unconditional branch is successfully mutated to an untaken conditional branch.</p>
<ul>
<li> 
<ul>
<li> 
<ul>
<li> 
<ul><code>C1 00 07 1C E1 00 07 04 00 0E 38 00 2A 00 41 00 0A</code></ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li> 
<ul>
<li> 
<ul>
<li> 
<ul><code>lda adj,d<br />
asla<br />
sta adj,d<br />
br skip<br />
adj: .equate 7<br />
msg: .ascii "8\x00*\x00"<br />
skip: stro msg,d<br />
.end</code></ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Only 20% of the class got it right, even though I told them days before they would. By the end of the semester they will be more adept. Earlier, I'd given them the project of writing a solution to the Tower of Hanoi problem in assembly language. A student challenged me to write it in under 100 bytes. My current version is 76 bytes and I see how to prune it down to 71 bytes.</p>
<p>The most bloated document editor on my computer is expressed in 27.6 megabytes, and while it is doing a lot more than the Tower of Hanoi problem, it is certainly not doing six orders of magnitude more work. Am I sniping my students by introducing them to arcane dark arts?</p>
<p>We are fast approaching a time when single CPU personal computers will be about as prevalent as clocks with mechanical hands. We can program parallel architectures with mechanical hands, but they may not perform as fast as we want them to.</p>
<p>Advocating "Teach Parallel" makes a lot sense. It may make make equal sense to "Teach Performance" as well. For at least the time being, they might just go hand in hand, quietly humming "Till There Was You".</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/11/03/a-program-harold-hill-might-like/feed/</wfw:commentRss>
		</item>
		<item>
		<title>"Embedded" University Program Reloaded from China!</title>
		<link>http://software.intel.com/en-us/blogs/2009/10/28/embedded-university-program-reloaded-from-china/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/10/28/embedded-university-program-reloaded-from-china/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 12:30:25 +0000</pubDate>
		<dc:creator>Selwyn H. You 游骅 (Intel)</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/10/28/embedded-university-program-reloaded-from-china/</guid>
		<description><![CDATA[If you are not new to Intel, you'll know Intel is not new to the Embedded world. Names like Xscale, IXP had gained big fame for Intel in university campus. Professors are now looking at what actions coming up for the "new babies" - Atom platforms.
On Oct.21st till Oct.23rd, a faculty workshop on curriculum of [...]]]></description>
			<content:encoded><![CDATA[<p>If you are not new to Intel, you'll know Intel is not new to the Embedded world. Names like Xscale, IXP had gained big fame for Intel in university campus. Professors are now looking at what actions coming up for the "new babies" - Atom platforms.</p>
<p>On Oct.21st till Oct.23rd, a faculty workshop on curriculum of Embedded was held at Zhejiang University, China. The workshop witnessed the kick-off of the Intel Higher Ed. Atom based "Embedded" university program. Plagues of Intel-university joint labs of Embedded Technology were delivered to faculty attendees from 26 universities that receive Intel donated Atom platforms. With regards to the current mainstream product lines, two types of Atom platforms with N series and Z series processors were chosen for the joint labs equipments. In addition to the content Intel provides on Atom architecture, Moblin and software tools, for the first time, we invited partners - platform vendors to deliver their training on the provided platforms and the labs they recommend for curricula.</p>
<p>After the two days training for the platforms, faculty attendees were getting to the point of what content and how to adopt Atom to the curricula, which led to a hot discussion on the last day open forum. For those who are teaching classes on application development, they'd like to know the "new story" Intel would tell for Atom, comparing to its current industry rivals. For those "hardcore embedded" faculty, they are interested in how to get needed materials for board design (e.g., processor power module reference design), probing the processor information through JTAG, bootup/BIOS (or BSP as current term for embedded) procedures to program the IOs etc. Though shared with the corresponding online resources (<a href="http://edc.intel.com">EDC</a>, the <a href="http://www.intel.com/products/processor/manuals/">Software Developers Manuals</a>), faculty still feel it a bandwidth consuming job to convert them to teachable tutorials that can be used at campus.</p>
<p>Though there is still work to do, the good news is that our university fellow travelers are warmed up and have shown interests in collaborating with us to create whatever is missing but crucial to adopt Atom in the curricula. And that makes this reloaded initiative a blessed one.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/10/28/embedded-university-program-reloaded-from-china/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Spreading the Word in Romainia</title>
		<link>http://software.intel.com/en-us/blogs/2009/10/26/spreading-the-word-in-romainia/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/10/26/spreading-the-word-in-romainia/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 09:46:09 +0000</pubDate>
		<dc:creator>Peter Hinsbeeck (Intel)</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Parallel Prog. &amp; Multi-Core]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/10/26/spreading-the-word-in-romainia/</guid>
		<description><![CDATA[Teaching a class is a real pleasure when the participants are all fully engaged in the subject matter. Such was the case ealier this month when we assembled faculty members from University Polytechnica Bucharest (PUB), as well as 5 other universities around Romania to review our course materials on parallel programming. The event began with [...]]]></description>
			<content:encoded><![CDATA[<p>Teaching a class is a real pleasure when the participants are all fully engaged in the subject matter. Such was the case ealier this month when we assembled faculty members from University Polytechnica Bucharest (PUB), as well as 5 other universities around Romania to review our course materials on parallel programming. The event began with PUB faculty presenting an introduction to parallel programming and OpenMP followed by my colleague Nick Popovici and me presenting more advanced lessons covering OpenMP 3.0, using Intel’s Parallel Studio to find and correct threading errors and tune for performance as well as almost a full day on Intel Threading Building Blocks. Most of the participants had significant background in parallel programming. Some were already teaching it in their classes. It was clear that they were all attentively following the presentations, often asking exactly the right questions to motivate the topic transitions in the material. Someone joked that we had paid some of them to ask specific questions just to make us look good.</p>
<p>
Half way through the second day we ran into a minor problem with one of the lab exercises that is supposed to demonstrate load imbalance. We had accidently installed the solution file in place of the problem code on the participant’s machines. After giving them a few minutes to play with the lab exercise, I attempted to “demonstrate” the problem to the class using Intel’s Parallel Amplifier. To my surprise there was no evidence of a problem at all. While I was busily checking the project settings to make sure the tool was gathering data correctly, it became clear to me just how smart these folks really are. One of the “students” interrupted me to suggest how removing the OpenMP schedule clause in the code would cause an interesting load imbalance and make for a more interesting lab exercise. All the while he was explaining it, the rest of the participants were grinning and nodding in agreement. Rather than an embarrassing mistake on our part, I should have sold it as a “curriculum development” exercise.</p>
<p>
The purpose of this event was to review our course materials with the faculty so they could “scale out” the training to other universities in Romania. From what I saw last week, I’d say these folks are ready to take this show on the road.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/10/26/spreading-the-word-in-romainia/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Musings on social media in education</title>
		<link>http://software.intel.com/en-us/blogs/2009/10/23/musings-on-social-media-in-education/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/10/23/musings-on-social-media-in-education/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 20:38:40 +0000</pubDate>
		<dc:creator>Matthew Wolf</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/10/23/musings-on-social-media-in-education/</guid>
		<description><![CDATA[Initially, this post was going to be titled "To blog or not to blog", but that seemed to perhaps cut a little too close to my perhaps overly infrequent updates here.  What I wanted to muse about a bit, however, was the sudden currency of the issues around higher education and the use of social [...]]]></description>
			<content:encoded><![CDATA[<p>Initially, this post was going to be titled "To blog or not to blog", but that seemed to perhaps cut a little too close to my perhaps overly infrequent updates here.  What I wanted to muse about a bit, however, was the sudden currency of the issues around higher education and the use of social media.</p>
<p>If you have tracked this for a while, you find that there is always a set of articles about higher education right around this time of year in the press -- I think it's a matter of those mid-career journalists reacting to their 1st -&gt; nth child going off the college each August/September.  Or their reaction to writing the tuition check.  This year, the buzz has been very heavy over the use of online tools.  Even here inside Georgia Tech there's been an interesting tit-for-tat argument among professors, each side citing studies on whether video lectures, blogs, tweets, etc. enhance or distract from the learning process.</p>
<p>On the one side -- yes, there is a revolution in content delivery that is on-going, and higher education will have to react.  And there is good evidence that ignoring this makes for poorer student results as well as being a poor pedagogical (and economic) choice.  Some studies have even shown that using social media (in a very broad definition) can have a strong positive impact.  This is what journalists tend to pick up on -- after all, if you can just put your kids in front of youtube and get them a university education, isn't that a much better choice?  (For your pocket books at least...)</p>
<p>The other side fires back with their own studies, though, and those tend not to get heard as much.  There's evidence, they say (and I'm just passing this along, since I haven't done any demographic studies myself), that the higher student grades tend to be because the retention rates in the heavily web-driven courses drops way down.  Students who would get A's if you just stood up front and hummed the theme to "Shaft" all day will stick it out, but the students that really need the benefit of the full educational experience walk away unsatisfied, thereby raising the average grades.  So, the traditionalists argue, the whole things should be ignored.</p>
<p>As with many things in life, I think that the truth lies somewhere in the middle.  I was involved with an experiment with full online lectures, online daily quizzes, coupled with small weekly recitation sessions back over 10 years ago.  Much has changed in the interim, but I think some of the core observations are the same -- students really liked having the resources available, but they procrastinate unless they have a driver function like "show up at 12:00 on Mondays, Wednesdays, and Fridays".  The online quizzes were nice because they could be that forcing function.  But the lectures tended to be a mess -- students wouldn't keep up, and so the servers would get completely slammed by them trying to watch 3 weeks of lectures in the 24 hours before the next test.  And, of course, students just could parse that much material in such a short time, so their grades and long-term retention of information suffered.</p>
<p>So anyone have any thoughts?  Are brick-and-mortar universities doomed?  Or, more importantly, are they missing out on something they *could* be doing for their students and alumni?</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/10/23/musings-on-social-media-in-education/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Multicore in Systems Classes -- #1</title>
		<link>http://software.intel.com/en-us/blogs/2009/10/23/multicore-in-systems-classes-1/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/10/23/multicore-in-systems-classes-1/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 20:38:23 +0000</pubDate>
		<dc:creator>Matthew Wolf</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Parallel Prog. &amp; Multi-Core]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/10/23/multicore-in-systems-classes-1/</guid>
		<description><![CDATA[I'm giving this a very leading title -- with any luck this is the first of a series of blog entries about my experiences weaving multicore concepts and issues into the junior-level Operating Systems course that I'm teaching this semester.  The title is specifically "Design of Operating Systems", which is really a perfect way to [...]]]></description>
			<content:encoded><![CDATA[<p>I'm giving this a very leading title -- with any luck this is the first of a series of blog entries about my experiences weaving multicore concepts and issues into the junior-level Operating Systems course that I'm teaching this semester.  The title is specifically "Design of Operating Systems", which is really a perfect way to think about parallelism and multicore -- these are platform opportunities which the OS designers needs to consider in the <em>design</em>.  I hope that these blogs might spark some thoughts amongst those of you who are just starting to include parallelism in your curriculum, and I hope that I'll get some new ideas and suggestions that I can bring back to my classroom, too!</p>
<p>We're right in the middle of talking about synchronization and how you go about building semaphores or mutexes at the kernel level, so it's pretty natural that we talk about parallelism in pretty much every lecture at the moment.  But it's amazing how many times it comes up even when you aren't dealing with explicitly parallel topics -- library design, memory management, file systems.  Not to mention the interesting issues that shared vs partitioned L3 caches, NUMA, and other multicore-related architecture trends cause for scheduling algorithms, paging table management, etc.</p>
<p>For those of you who are just starting down the road of adding parallelism, I have a very simple suggestion that I like doing at least once a week (in some guise or another).  Just stop somewhere in your lecture, look out at the class, and ask "Do you think this will still make sense in two years?  Will the next-next generation of multicore chips still do things this way?"  Sometimes the answer's yes, sometimes it's no... but the discussion is almost always interesting.</p>
<p>I'll try to lay out some of the specific things I've done in my class in subsequent entries -- little modules and small self-contained units that try to weave multicore/parallel topics into the curriculum in bite-sized chunks.  Questions, suggestions, and contributions are very welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/10/23/multicore-in-systems-classes-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Check out this McCool event in December at UPCRC</title>
		<link>http://software.intel.com/en-us/blogs/2009/10/22/check-out-this-mccool-event-in-december-at-upcrc/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/10/22/check-out-this-mccool-event-in-december-at-upcrc/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 07:09:12 +0000</pubDate>
		<dc:creator>Rita Turkowski (Intel)</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Cool Software]]></category>

		<category><![CDATA[Events]]></category>

		<category><![CDATA[Parallel Prog. &amp; Multi-Core]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/10/22/check-out-this-mccool-event-in-december-at-upcrc/</guid>
		<description><![CDATA[December 3rd at 4PM CST
12/3 &#124; 4PM &#124; 2405 Siebel Center for Computer Science
UPCRC Illinois Research Seminar: A Structured, Unified Approach to Multi-Core and Many-Core Computing - with Applications by Michael McCool, Intel &#38; U of Waterloo
]]></description>
			<content:encoded><![CDATA[<p><strong><span style="#17365d;">December 3rd at 4PM CST</span></strong></p>
<p class="MsoNormal"><strong><span style="x-small;"><span style="bold;">12/3 | 4PM | 2405 Siebel Center for Computer Science</span></span></strong></p>
<p class="MsoNormal"><span style="x-small;"><span style="9.5pt;"><a title="http://illinois.edu/calendar/Calendar?calId=2238&amp;eventId=144589&amp;ACTION=VIEW_EVENT" href="http://illinois.edu/calendar/Calendar?calId=2238&amp;eventId=144589&amp;ACTION=VIEW_EVENT"><span style="#0d0d0d;"><span style="#0d0d0d;" title="http://illinois.edu/calendar/Calendar?calId=2238&amp;eventId=144589&amp;ACTION=VIEW_EVENT"><span title="http://illinois.edu/calendar/Calendar?calId=2238&amp;eventId=144589&amp;ACTION=VIEW_EVENT">UPCRC Illinois Research Seminar: A Structured, Unified Approach to Multi-Core and Many-Core Computing - with Applications by Michael McCool, Intel &amp; U of Waterloo</span></span></span></a></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/10/22/check-out-this-mccool-event-in-december-at-upcrc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Intel Academic Community Courseware Moodle, An Example of Use of Moodle for a Corporate LMS Platform</title>
		<link>http://software.intel.com/en-us/blogs/2009/10/19/intel-academic-community-courseware-moodle-an-example-of-use-of-moodle-for-a-corporate-lms-platform/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/10/19/intel-academic-community-courseware-moodle-an-example-of-use-of-moodle-for-a-corporate-lms-platform/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 23:34:08 +0000</pubDate>
		<dc:creator>Tao B Wang (Intel)</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Parallel Prog. &amp; Multi-Core]]></category>

		<category><![CDATA[Academia Courseware]]></category>

		<category><![CDATA[Add new tag]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/10/19/intel-academic-community-courseware-moodle-an-example-of-use-of-moodle-for-a-corporate-lms-platform/</guid>
		<description><![CDATA[Since my first blog on moodle topic published last April “Moodle Community, Another Example of Moore's Law”, I have received many responses either by blog replies or emails. For those who asked me about moodle and did not get my response, I can only offer apologies as I am still a learner and have no [...]]]></description>
			<content:encoded><![CDATA[<p>Since my first blog on moodle topic published last April “<a href="http://software.intel.com/en-us/blogs/2009/04/25/moodle-community-another-example-of-moores-law/">Moodle Community, Another Example of Moore's Law</a>”, I have received many responses either by blog replies or emails. For those who asked me about moodle and did not get my response, I can only offer apologies as I am still a learner and have no shareable answers. In fact I have never heard of Moodle two years ago. For those who asked about our Moodle project at Intel, here you go, just have a look at our recently launched <a href="http://software.intel.com/en-us/courseware/course/index.php">Intel Courseware Moodle for Intel Academic Community</a>, and give me your two cents.</p>
<p>What are the pro and cons of Moodle for corporate use? What changes are needed to make Moodle better for corporate use? A lot of similar questions like these have been asked on Moodle.org and Moodle community. Now let me give my two cents to those questions.</p>
<p>In my first blog, I mentioned Moodle's Philosophy of learning (http://docs.moodle.org/en/Philosophy) which is focuses on collaboration, activities and critical reflection. This social-constructive approach involves a strong community of learning orientation rather than simply computing courses and exercises online. Those are right, we want collaboration, activities and critical reflection, but in our case, the first difference comes in that we are requesting collaboration and social- constructive approach at a very earlier stage, that is at the time of creating courseware (either traditional instructor-lead or online virtual class) rather than the time that these courses are delivered on Moodle platform.</p>
<p>Why it happens in our case, the answer is straight forward. No courses have been created yet. There is a growing gap between academic and Industry world recently on computer science education, especially in last three years. Currently, parallel computing has become widely used in all works of life. As a result, more pertinent applications are needed to fully using the high performance of its multi-core processors. Major chip companies have successfully launched a variety of dual-core and Quad-core processor systems. However, technology advanced so fast that most academic institutions haven’t yet  able to catch up and add the multi-core and parallel programming into their CS curriculum. </p>
<p>How to educate more software engineers who know how to fully utilize the performance advantage of multi-core processor has become a key challenge for Computer science education. There are the needs for more of a community approach to driving curriculum changes where the teacher and learner from academic side, and corporation, government and researcher from other sides all collaborate in its development.  That is the major force and need that an industry like us wants a learning management system (LMS) that can provide technology and a platform of collaboration for academic community to facilitate the integration of multi-core and parallelism education into university curriculum. As a Moodler, we all know that a constructive amount of connected activities within a learning community is a very powerful stimulant for learning, not only bringing people closer together but promoting synergy among educators and learners.</p>
<p>After the  6 months of work on Moodle, it seems to me that  the advantages of Moodle is not its no-cost open source application nature, but more about the flexibility of the application as open-source to be adapted to our corporation’s specific needs. That's one of the great things about Moodle and open source; you can make it do whatever you require.</p>
<p>By viewing our moodle site, you will find out that, at this time, it does not look like that the social-constructive constituents, a great advantage of Moodle, have been enabled.  Yes, you are right, and got it. However,  we have laid a very strong foundation , a capability of supporting more active  collaboration coming in our way, which is Moodle itself. Apparently some customization has been done (and more coming shortly) for our processes which are not required on the academic side. There are a few major areas that are currently still under development. Some of them we haven’t yet find solution:<br />
1.	Collaboration on course creation<br />
2.	Flexibility of course metadata management<br />
3.	Course submission process<br />
4.	Course creation scheduling<br />
5.	Peer review and comment<br />
6.	Course editing and approval process<br />
7.	Course life span management and version control<br />
I will give my two cents on those topics whenever it becomes available. </p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/10/19/intel-academic-community-courseware-moodle-an-example-of-use-of-moodle-for-a-corporate-lms-platform/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blurring the lines between science and engineering- identity crisis in Informatics?</title>
		<link>http://software.intel.com/en-us/blogs/2009/10/14/blurring-the-lines-between-science-and-engineering-identity-crisis-in-informatics/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/10/14/blurring-the-lines-between-science-and-engineering-identity-crisis-in-informatics/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 16:16:45 +0000</pubDate>
		<dc:creator>Stephanie Brumat (Intel)</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Events]]></category>

		<category><![CDATA[education]]></category>

		<category><![CDATA[European Computer Science Summit]]></category>

		<category><![CDATA[Informatics Europe]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/10/14/blurring-the-lines-between-science-and-engineering-identity-crisis-in-informatics/</guid>
		<description><![CDATA[The European Computer Science Summit’s last day panel discussion went more deeply in to the subject of the conference and raised old questions and controversies among Computer scientists. Wendy Hall advocated computer scientists not to think of themselves as a 'service science' building applications to enable other sciences’ work and encouraged the audience to think [...]]]></description>
			<content:encoded><![CDATA[<p>The European Computer Science Summit’s last day panel discussion went more deeply in to the subject of the conference and raised old questions and controversies among Computer scientists. Wendy Hall advocated computer scientists not to think of themselves as a 'service science' building applications to enable other sciences’ work and encouraged the audience to think hard of what computer scientists offer in terms of thought process to the world. The new concepts in CS such as parallelism can be used in cognitive science, game theory and others and a proper recognition of CS as a science needs to be taught early on at the high school level.</p>
<p>Still, CS continues to have ‘a bad rep’ or at least computer scientists continue to think of themselves as ‘second-class scientists’. Some in the field believe there will be no successful interactions with other colleagues and scientists until CS is positioned as as much of a science as others and this implies uniting the community and presenting a coherent interface to the rest of the world. Finally, as Wendy Hall’s closing remarks pointed, it also implies defining when a new discipline begins and when we are simply mixing together 1 or 2 disciplines to solve various aspects of a problem. If a multidisciplinary collaboration is to be fruitful, it has to be taken at the educational level and given a long-term commitment. Words widely repeated during the conference even when referring to multi-disciplinary research.</p>
<p>Whilst aware of the need to work collaboratively; many computer scientists are afraid that this will distil the importance and identity of their already misrepresented field. What do you believe will happen when mixing CS with other disciplines?</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/10/14/blurring-the-lines-between-science-and-engineering-identity-crisis-in-informatics/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Examples of Interdisciplinary Initiatives</title>
		<link>http://software.intel.com/en-us/blogs/2009/10/14/examples-of-interdisciplinary-initiatives/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/10/14/examples-of-interdisciplinary-initiatives/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 16:16:06 +0000</pubDate>
		<dc:creator>Stephanie Brumat (Intel)</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Events]]></category>

		<category><![CDATA[ACM-Europe]]></category>

		<category><![CDATA[European Computer Science Summit]]></category>

		<category><![CDATA[Informatics Education]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/10/14/examples-of-interdisciplinary-initiatives/</guid>
		<description><![CDATA[While at ECSS 2009, I followed the track on Multi-disciplinary Curricula. The session opened with a presentation by Budapest University of Technology and Economics Professor describing a very interesting new R&#38;D program (the Innovation and Knowledge Centre of Information Technology made up of 9 enterprises, 5 university departments,) whereby Industry and Academics were gathered in [...]]]></description>
			<content:encoded><![CDATA[<p>While at ECSS 2009, I followed the track on Multi-disciplinary Curricula. The session opened with a presentation by Budapest University of Technology and Economics Professor describing a very interesting new R&amp;D program (the Innovation and Knowledge Centre of Information Technology made up of 9 enterprises, 5 university departments,) whereby Industry and Academics were gathered in the same environment to work together on 14 different projects with each a dedicated partner. BME was convinced that IT occupies a less significant position in the economy and society than it’s capable of in terms of scientific and technical capacities and decided to develop applications which would provide users with IT systems well adapted to their needs. Of the resulting developments an interesting one was made in collaboration with HP on real-time image rendering for the Hungarian Medical Centre done in a fully parallelized environment.</p>
<p>University of Pisa, Antonio Albano then went on to present his school’s experiment with a Graduate Program in Business Informatics. As a response to the Italy’s general decline in enrolments of students in Informatics in the late 90’s, Pisa University decided to tackle it with interdisciplinary graduate programs between the Informatics and Economics departments. The Programs turned out to be a huge success as it spurred not only a steady growth in enrolments of students within the school contrary to the general trend of withdrawals; but even attracted students from other universities. Student satisfaction was on average a rotund 3 over 4 and students turned out to be highly motivated. Finally, the job market welcomed them as 94% of the graduates found a job in an average of 1 month after graduation.</p>
<p>The following talk focused on Teaching Logic Programming for Interdisciplinary Computing. Since it allows users to think in more human-like statements than typical computer languages, logic programming has proved very useful both for Artificial Intelligence and interdisciplinary applications and shows impressive results among beginners thereby making interdisciplinary research around AI appealing to the non-computer specialist.</p>
<p>Whether bringing Academia and Industry closer together to stimulate research, or working with different disciplines to stimulate enrolments and better respond to the job market or making research more accessible to non-experts; multi-disciplinary approaches seem to be the only way forward.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/10/14/examples-of-interdisciplinary-initiatives/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ECSS 2009: Challenges and Opportunities in Informatics</title>
		<link>http://software.intel.com/en-us/blogs/2009/10/14/ecss-2009-challenges-and-opportunities-in-informatics/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/10/14/ecss-2009-challenges-and-opportunities-in-informatics/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 16:15:34 +0000</pubDate>
		<dc:creator>Stephanie Brumat (Intel)</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Events]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[education]]></category>

		<category><![CDATA[European Computer Science Summit]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/10/14/ecss-2009-challenges-and-opportunities-in-informatics/</guid>
		<description><![CDATA[
This year, 80 of the leading CS faculties, department chairs research institutes in Europe gathered in a humid Paris for the European Computer Science conference to delve into the new role Informatics should play among the sciences. Put forward this year was the need for a multidisciplinary approach uniting research, curricula as well as education.
The [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/ecss-2009-005.jpg"><img class="alignnone size-medium wp-image-10674" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/ecss-2009-005-225x300.jpg" alt="" width="225" height="300" /></a></p>
<p>This year, 80 of the leading CS faculties, department chairs research institutes in Europe gathered in a humid Paris for the European Computer Science conference to delve into the new role Informatics should play among the sciences. Put forward this year was the need for a multidisciplinary approach uniting research, curricula as well as education.</p>
<p>The several keynotes of this first day of conference addressed different aspects of the matter. While Mark Harris opened the conference with a keynote on ‘The Role of Informatics on Addressing the big Global Challenges”, he stressed the importance of an all-rounder, well trained IT specialist, able to take on a much-needed leadership role in the field. He pointed out to the need for multi-disciplinary training in order to produce graduates who are both generalists and specialists as the only answer to fill the leadership gap inherent to the field of ICT at the moment. The talk raised quite a few questions, particularly salient seemed to be the issue that a lot of faculty are either not aware of the multi-core ‘tsunami’ coming their way or don’t know how to tackle it.</p>
<p>After him, European Commission Head of strategy for ICT Research and Innovation, Khalil Rouhana, then presented the EU strategy for ICT research and innovation, explained the gaps of private &amp; public sector investments in the EU compared to the US. Proportionally, companies invest much less in ICT R&amp;D in EU member states compared to the US but more surprisingly the EU public sector invests even less (60% lower). He linked it to the fragmentation of markets present in the EU where a lack of a single European market for innovative ICT, a fragmented public demand as well as R&amp;D investments explain in great part these shortcomings. Luckily, 3 new initiatives in private-public partnerships around the fields of energy efficient buildings, energy efficient factories and green cars have recently been put in place by the EU to remedy this.</p>
<p>Wendy Hall- ACM President- closed the keynotes in beauty with an expose of her study of the Web and its evolution. One of her conclusions highlights nicely the central issue of the conference; computer science is a relatively new discipline which is still working through some of its issues and trying to come to terms with its identity; while it had a huge impact on society, it is still taught in a very boring or limited way in schools, underestimated by public spending and in dire need of leadership. But these challenges are also loaded with opportunities such as parallelism, multi-disciplinary approaches, etc...will they be taken advantage of?</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/10/14/ecss-2009-challenges-and-opportunities-in-informatics/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The path to a better world is paved through Informatics:  European Computer Science Conference 2009 Paris</title>
		<link>http://software.intel.com/en-us/blogs/2009/10/12/the-path-to-a-better-world-is-paved-through-informatics-european-computer-science-conference-2009-paris/</link>
		<comments>http://software.intel.com/en-us/blogs/2009/10/12/the-path-to-a-better-world-is-paved-through-informatics-european-computer-science-conference-2009-paris/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 07:31:30 +0000</pubDate>
		<dc:creator>Beverly Bachmayer (Intel)</dc:creator>
		
		<category><![CDATA[Academic]]></category>

		<category><![CDATA[Parallel Prog. &amp; Multi-Core]]></category>

		<category><![CDATA[academic community]]></category>

		<category><![CDATA[Computer Science]]></category>

		<category><![CDATA[education]]></category>

		<category><![CDATA[ multi-processor]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2009/10/12/the-path-to-a-better-world-is-paved-through-informatics-european-computer-science-conference-2009-paris/</guid>
		<description><![CDATA[It was a sunny day last Thursday in Paris after a very stormy night,  I was sitting in the sun filled conference room with 80 deans and Rectors of the top universities in Europe attending the European Computer Science Summit where the first Keynote speaker Dr. Mark Harris, Intel GMBh highlighted how science addresses many [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="Calibri;">It was a<span style="yes;"> </span>sunny day last Thursday in<span style="yes;"> </span>Paris after a very stormy night,<span style="yes;">  </span>I was sitting in the sun filled conference room with 80 deans and Rectors of the top universities in Europe attending the European Computer Science Summit where the first Keynote speaker Dr. Mark Harris, Intel GMBh highlighted how science addresses many of the urgent global issues.<span style="yes;">  </span>Examining global warming Mark talked about the effect of the increase in temperature, such as coastal flooding, increasing incidences of malaria and<span style="yes;">  </span>hunger,<span style="yes;">  </span>the effects of the changing age of world population,<span style="yes;">  </span>increased water scarcity and how these issues will affect our future.<span style="yes;">    </span><span style="yes;">  </span></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="Calibri;">The theme of this conference is ‘</span><span style="&quot;Verdana&quot;,&quot;sans-serif&quot;;">Informatics among the Sciences - Scientific principles in Informatics’<span style="yes;">  </span>focusing </span><span style="small;"><span style="Calibri;">on the multidisciplinary approach of combining research,<span style="yes;">  </span>curricula and teaching.<span style="yes;">  </span>By combining efforts of other engineering diciplines with Computer Science we can move forward on tackling<span style="yes;">  </span>the global issues and challenges facing us today.<span style="yes;">  </span></span></span></p>
<div id="attachment_10628" class="wp-caption alignnone" style="width: 310px"><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/sept-079web1.jpg"><img class="size-medium wp-image-10628" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2009/10/sept-079web1-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Dame Wendy Hall addresses the European Computer Science Conference</p></div>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="small;"><span style="Calibri;">Despite the many issues facing us in the Informatics domain,<span style="yes;">  </span>including declining enrollments ,<span style="yes;">  </span>demand for informatics skills is increasing and students who can understand and create solutions collaboratively with other engineering disciplines will be the new leaders and will solve the toughest challenges.<span style="yes;">    </span></span></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="small;"><span style="Calibri;"><span style="yes;">The big c</span>hallenge in ICT is the rapidly changing environment , <span style="yes;"> </span>new technologies such as the shift to massive computing parallelism in even commodity devices is one example.<span style="yes;">   Every year </span>1.3 million students complete their baccalaureate studies,<span style="yes;">  </span>very few of these graduating students have studied the issues of concurrency and parallel programs during their courses,  a needed skill when every device runs parallel programs.  <span style="yes;"> </span>In addition to this huge gap every year,  you must also address the programmers already in the workforce who also were not  taught about concurrent systems during their studies.<span style="yes;"> </span></span></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"><span style="small;"><span style="Calibri;"><span style="yes;">Educators must address t</span>he challenge of educating students that are successful in this new world with the needed skillsets which address the new technology of today. <span style="yes;">  S</span>tudents who have worked accross have multiple competencies,  who delve into leading edge technology, and who are given the opportunity to excel with changing technology.  Those are the students that will be solving our global problems in the future.  </span></span></p>
<p class="MsoNormal" style="0cm 0cm 0pt;"> </p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2009/10/12/the-path-to-a-better-world-is-paved-through-informatics-european-computer-science-conference-2009-paris/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
