<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Thread/process synchronisation in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Thread-process-synchronisation/m-p/800467#M569</link>
    <description>The OS should be rock solid and take anything an application can throw at it (either intended or unintended).Should an application crashan OS, or cause corrupted results, then the OS is buggy. Since you are a newbie, I will assume you are not writing or supporting an OS. Therefore, let's address the issues relating to an application.&lt;BR /&gt;&lt;BR /&gt;You should review the synchronization and interference avoidancefunctions provided by:&lt;BR /&gt;&lt;BR /&gt; the OS&lt;BR /&gt;the threading toolkit (e.g. OpenMP, TBB, pthreads, Windows threads, ...)&lt;BR /&gt; the run-time system library&lt;BR /&gt; tips and tricks gleaned from web searches&lt;BR /&gt; inventions of your own&lt;BR /&gt;&lt;BR /&gt;I suggest you begin with OpenMP. The coding samples in OpenMP cover most of the initial concepts you will need to learn about multi-threading programming.&lt;BR /&gt;&lt;BR /&gt;Do this research &lt;EM&gt;before&lt;/EM&gt; you attempt to tackle your application. The time spent runing through the sample programs will save you time and aggravation in conversion of your application.&lt;BR /&gt;&lt;BR /&gt;In a manner similar to general coding design follows bottom-up or top-down, the parallelization effort can follow hot spots-out (bottom-up) or data/function-flow-in (top-down) methodology. The better strategy will depend on your application.&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;</description>
    <pubDate>Wed, 16 Jun 2010 12:55:30 GMT</pubDate>
    <dc:creator>jimdempseyatthecove</dc:creator>
    <dc:date>2010-06-16T12:55:30Z</dc:date>
    <item>
      <title>Thread/process synchronisation</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Thread-process-synchronisation/m-p/800465#M567</link>
      <description>Hi All,&lt;BR /&gt;&lt;BR /&gt;A general, newbie question: say I'm using a shared memory and multiple threads and processes accessing it. If they implement some very secure data validation (or say I don't care about my app stability), do they need any access synchronisation mechanism at all (e.g. mutex)? Is lack of synchronisation dangerous only for my apps or for an OS as well, eg. two processes accesing the same memory will crash the OS?&lt;BR /&gt;&lt;BR /&gt;Thanks very much in advance for any replies.&lt;BR /&gt;&lt;BR /&gt;Mario</description>
      <pubDate>Mon, 14 Jun 2010 11:31:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Thread-process-synchronisation/m-p/800465#M567</guid>
      <dc:creator>rfvujm</dc:creator>
      <dc:date>2010-06-14T11:31:40Z</dc:date>
    </item>
    <item>
      <title>Thread/process synchronisation</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Thread-process-synchronisation/m-p/800466#M568</link>
      <description>In general, that should not compromise OS security, just like any other application programming error. Think of synchronization errors as of buffer overruns of something similar.&lt;BR /&gt;&lt;BR /&gt;However, I heard of some precedents (can't find references now) of compromising OS security by exploiting data races inside of a kernel. I guess this area (data races baked up by multicore hardware) is a kind of "dark side of The Moon" for now, some time is required to polish all the quirks related to data races in OS kernels.&lt;BR /&gt;</description>
      <pubDate>Tue, 15 Jun 2010 15:25:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Thread-process-synchronisation/m-p/800466#M568</guid>
      <dc:creator>Dmitry_Vyukov</dc:creator>
      <dc:date>2010-06-15T15:25:23Z</dc:date>
    </item>
    <item>
      <title>Thread/process synchronisation</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Thread-process-synchronisation/m-p/800467#M569</link>
      <description>The OS should be rock solid and take anything an application can throw at it (either intended or unintended).Should an application crashan OS, or cause corrupted results, then the OS is buggy. Since you are a newbie, I will assume you are not writing or supporting an OS. Therefore, let's address the issues relating to an application.&lt;BR /&gt;&lt;BR /&gt;You should review the synchronization and interference avoidancefunctions provided by:&lt;BR /&gt;&lt;BR /&gt; the OS&lt;BR /&gt;the threading toolkit (e.g. OpenMP, TBB, pthreads, Windows threads, ...)&lt;BR /&gt; the run-time system library&lt;BR /&gt; tips and tricks gleaned from web searches&lt;BR /&gt; inventions of your own&lt;BR /&gt;&lt;BR /&gt;I suggest you begin with OpenMP. The coding samples in OpenMP cover most of the initial concepts you will need to learn about multi-threading programming.&lt;BR /&gt;&lt;BR /&gt;Do this research &lt;EM&gt;before&lt;/EM&gt; you attempt to tackle your application. The time spent runing through the sample programs will save you time and aggravation in conversion of your application.&lt;BR /&gt;&lt;BR /&gt;In a manner similar to general coding design follows bottom-up or top-down, the parallelization effort can follow hot spots-out (bottom-up) or data/function-flow-in (top-down) methodology. The better strategy will depend on your application.&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;</description>
      <pubDate>Wed, 16 Jun 2010 12:55:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Thread-process-synchronisation/m-p/800467#M569</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2010-06-16T12:55:30Z</dc:date>
    </item>
    <item>
      <title>Thread/process synchronisation</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Thread-process-synchronisation/m-p/800468#M570</link>
      <description>.NET 4 offers a default task scheduler for Task Parallel Library and 
PLINQ. This scheduler uses the improved .NET 4 pool of threads to queue 
and execute work for tasks and parallelized queries. It is also possible
 to create a custom scheduler for specific tasks or queries.&lt;BR /&gt;______________________________________________________&lt;BR /&gt;&lt;A href="http://www.panamastays.com/Panama-Apartamentos" target="_blank"&gt; apartamentos amueblados panama&lt;/A&gt;</description>
      <pubDate>Thu, 01 Jul 2010 07:47:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Thread-process-synchronisation/m-p/800468#M570</guid>
      <dc:creator>infotechproximity8</dc:creator>
      <dc:date>2010-07-01T07:47:00Z</dc:date>
    </item>
  </channel>
</rss>

