<?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 Please suggest a good book that teaches ... in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Please-suggest-a-good-book-that-teaches/m-p/857633#M2174</link>
    <description>&lt;P&gt;&lt;BR /&gt;Srinivas Nayak wrote in comp.programming.threads: &lt;BR /&gt;&amp;gt;Dear All, &lt;BR /&gt;&amp;gt;Please suggest a good book that teaches in great details about the &lt;BR /&gt;&amp;gt;theories behind the followings. &lt;BR /&gt;&amp;gt;1. shared memory concurrent systems. &lt;BR /&gt;&amp;gt;2. message passing concurrent systems. &lt;BR /&gt;&amp;gt;3. mutual exclusion. &lt;BR /&gt;&amp;gt;4. synchronization. &lt;BR /&gt;&amp;gt;5. safety property. &lt;BR /&gt;&amp;gt;6. liveness property. &lt;BR /&gt;&amp;gt;7. fairness property. &lt;BR /&gt;&amp;gt;8. systems with code interleaving (virtual concurrency). &lt;BR /&gt;&amp;gt;9. systems with no code interleaving (true concurrency). &lt;BR /&gt;&amp;gt;10. atomic operations. &lt;BR /&gt;&amp;gt;11. critical sections. &lt;BR /&gt;&amp;gt;12. how to code a concurrent system (about programming language &lt;BR /&gt;&amp;gt;constructs available for it). &lt;BR /&gt;&amp;gt;13. how to mathematically proof the properties. &lt;BR /&gt;&amp;gt;14. how to mechanically verify the properties. &lt;BR /&gt;&amp;gt;15. blocking synchronization. &lt;BR /&gt;&amp;gt;16. non-blocking synchronization. &lt;BR /&gt;&amp;gt;17. lock-freedom. &lt;BR /&gt;&amp;gt;18. wait-freedom. &lt;BR /&gt;&amp;gt;19. deadlock-freedom. &lt;BR /&gt;&amp;gt;20. starvation-freedom. &lt;BR /&gt;&amp;gt;21. livelock-freedom. &lt;BR /&gt;&amp;gt;22. obstruction-freedom. &lt;BR /&gt;&amp;gt;Not only the concepts but also that teaches with very simple &lt;BR /&gt;&amp;gt;mathematical treatment; axiomatic or linear temporal logic. &lt;BR /&gt;&amp;gt;Many of the books I came across are either emphasize one or two topic &lt;BR /&gt;&amp;gt;or just provides a conceptual treatment, without mentioning how to &lt;BR /&gt;&amp;gt;code a concurrent system, check if it is mathematically or manually &lt;BR /&gt;&amp;gt;correct. &lt;BR /&gt;&amp;gt;Please suggest any book or paper where these topics are &lt;BR /&gt;&amp;gt;comprehensively covered in great details. Better if all these are &lt;BR /&gt;&amp;gt;under a single cover that will be easy to understand under the roof of &lt;BR /&gt;&amp;gt;a unifying theory. &lt;BR /&gt;&amp;gt;Survey papers of these are also welcome. &lt;BR /&gt;&amp;gt;With regards, &lt;BR /&gt;&amp;gt;Srinivas Nayak&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;For boundedness and deadlocks... - one of &lt;BR /&gt;the most important properties .. you can use petri nets &lt;BR /&gt;and reason about place invariants equations that you &lt;BR /&gt;extract from the resolution of the following equation:&lt;/P&gt;
&lt;P&gt;Transpose(vector) * Incidence matrix = 0&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;and find your vectors...on wich you wil base your reasonning...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;you can do the same - place invariants equations... - &lt;BR /&gt;and reason about lock and lock-free algorithms...&lt;/P&gt;
&lt;P&gt;And you can use also graph reduction techniques...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;As an example , suppose that you resolve &lt;BR /&gt;your equation Transpose(vector) * Incidence matrix = 0 &lt;BR /&gt;and find the following equations&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;P,Q,S,R are all the places in the system...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;2 * M(P) M(Q) + M(S) is constant&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;and&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;M(P) + M + M(S) is too equal to a constant&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Note also that vector f * M0 (initial marking) = 0&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;So, it follows - from the equations - that since &lt;BR /&gt;M(P) + M + M(S) = C1 , it means that &lt;BR /&gt;M(P) &amp;lt;= C1 and M &amp;lt;= C1 and M(S) &amp;lt;= C1&lt;/P&gt;
&lt;P&gt;and, from the second invariant equation , we have &lt;BR /&gt;that M(Q) &amp;lt;= C2 , this IMPLY that the system is &lt;BR /&gt;structuraly bounded.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;That's the same thing for deadlocks , you reason &lt;BR /&gt;about invariants equations to proove that there is &lt;BR /&gt;no deadlock in the system...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Now, if you follow good patterns , that's also good...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;And what's a good pattern ?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;It's like a THEOREM that we apply in programming...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;As an example:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Suppose that or IF - we have two threads that want to aquire &lt;BR /&gt;crtitical sections, IF the first thread try to aquire critical section A and &lt;BR /&gt;after that critical section B, and the second threads try to &lt;BR /&gt;aquire B and A THEN you can have a deadlock in this system.&lt;/P&gt;
&lt;P&gt;you see ? it's look like this: IF predicates are meet THEN somethings ...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Now suppose there is many criticals sections... and the first &lt;BR /&gt;thread try to aquire A ,B ,C ,D,E,F,G and second thread try to &lt;BR /&gt;aquire A,G,C,D,E,F,B that's also a problem ... you can &lt;BR /&gt;easily notice it by APPLYING the theorems that we call &lt;BR /&gt;'good patterns'.&lt;/P&gt;
&lt;P&gt;You see why good patterns - that looks like theorems - &lt;BR /&gt;are also very powerfull ?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;That's what we call a good pattern - it's like a theorem ,&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;and it looks like this: IF predicates are meet THEN somethings ...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;There is also good patterns - like theorems - to follow for false &lt;BR /&gt;sharing etc.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Do you understand why I and others follow also good patterns &lt;BR /&gt;- that look like theorems - ?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Think about it...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Take care...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Sincerely, &lt;BR /&gt;Amine Moulay Ramdane.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 30 Mar 2010 22:31:41 GMT</pubDate>
    <dc:creator>aminer10</dc:creator>
    <dc:date>2010-03-30T22:31:41Z</dc:date>
    <item>
      <title>Please suggest a good book that teaches ...</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Please-suggest-a-good-book-that-teaches/m-p/857633#M2174</link>
      <description>&lt;P&gt;&lt;BR /&gt;Srinivas Nayak wrote in comp.programming.threads: &lt;BR /&gt;&amp;gt;Dear All, &lt;BR /&gt;&amp;gt;Please suggest a good book that teaches in great details about the &lt;BR /&gt;&amp;gt;theories behind the followings. &lt;BR /&gt;&amp;gt;1. shared memory concurrent systems. &lt;BR /&gt;&amp;gt;2. message passing concurrent systems. &lt;BR /&gt;&amp;gt;3. mutual exclusion. &lt;BR /&gt;&amp;gt;4. synchronization. &lt;BR /&gt;&amp;gt;5. safety property. &lt;BR /&gt;&amp;gt;6. liveness property. &lt;BR /&gt;&amp;gt;7. fairness property. &lt;BR /&gt;&amp;gt;8. systems with code interleaving (virtual concurrency). &lt;BR /&gt;&amp;gt;9. systems with no code interleaving (true concurrency). &lt;BR /&gt;&amp;gt;10. atomic operations. &lt;BR /&gt;&amp;gt;11. critical sections. &lt;BR /&gt;&amp;gt;12. how to code a concurrent system (about programming language &lt;BR /&gt;&amp;gt;constructs available for it). &lt;BR /&gt;&amp;gt;13. how to mathematically proof the properties. &lt;BR /&gt;&amp;gt;14. how to mechanically verify the properties. &lt;BR /&gt;&amp;gt;15. blocking synchronization. &lt;BR /&gt;&amp;gt;16. non-blocking synchronization. &lt;BR /&gt;&amp;gt;17. lock-freedom. &lt;BR /&gt;&amp;gt;18. wait-freedom. &lt;BR /&gt;&amp;gt;19. deadlock-freedom. &lt;BR /&gt;&amp;gt;20. starvation-freedom. &lt;BR /&gt;&amp;gt;21. livelock-freedom. &lt;BR /&gt;&amp;gt;22. obstruction-freedom. &lt;BR /&gt;&amp;gt;Not only the concepts but also that teaches with very simple &lt;BR /&gt;&amp;gt;mathematical treatment; axiomatic or linear temporal logic. &lt;BR /&gt;&amp;gt;Many of the books I came across are either emphasize one or two topic &lt;BR /&gt;&amp;gt;or just provides a conceptual treatment, without mentioning how to &lt;BR /&gt;&amp;gt;code a concurrent system, check if it is mathematically or manually &lt;BR /&gt;&amp;gt;correct. &lt;BR /&gt;&amp;gt;Please suggest any book or paper where these topics are &lt;BR /&gt;&amp;gt;comprehensively covered in great details. Better if all these are &lt;BR /&gt;&amp;gt;under a single cover that will be easy to understand under the roof of &lt;BR /&gt;&amp;gt;a unifying theory. &lt;BR /&gt;&amp;gt;Survey papers of these are also welcome. &lt;BR /&gt;&amp;gt;With regards, &lt;BR /&gt;&amp;gt;Srinivas Nayak&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;For boundedness and deadlocks... - one of &lt;BR /&gt;the most important properties .. you can use petri nets &lt;BR /&gt;and reason about place invariants equations that you &lt;BR /&gt;extract from the resolution of the following equation:&lt;/P&gt;
&lt;P&gt;Transpose(vector) * Incidence matrix = 0&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;and find your vectors...on wich you wil base your reasonning...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;you can do the same - place invariants equations... - &lt;BR /&gt;and reason about lock and lock-free algorithms...&lt;/P&gt;
&lt;P&gt;And you can use also graph reduction techniques...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;As an example , suppose that you resolve &lt;BR /&gt;your equation Transpose(vector) * Incidence matrix = 0 &lt;BR /&gt;and find the following equations&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;P,Q,S,R are all the places in the system...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;2 * M(P) M(Q) + M(S) is constant&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;and&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;M(P) + M + M(S) is too equal to a constant&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Note also that vector f * M0 (initial marking) = 0&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;So, it follows - from the equations - that since &lt;BR /&gt;M(P) + M + M(S) = C1 , it means that &lt;BR /&gt;M(P) &amp;lt;= C1 and M &amp;lt;= C1 and M(S) &amp;lt;= C1&lt;/P&gt;
&lt;P&gt;and, from the second invariant equation , we have &lt;BR /&gt;that M(Q) &amp;lt;= C2 , this IMPLY that the system is &lt;BR /&gt;structuraly bounded.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;That's the same thing for deadlocks , you reason &lt;BR /&gt;about invariants equations to proove that there is &lt;BR /&gt;no deadlock in the system...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Now, if you follow good patterns , that's also good...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;And what's a good pattern ?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;It's like a THEOREM that we apply in programming...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;As an example:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Suppose that or IF - we have two threads that want to aquire &lt;BR /&gt;crtitical sections, IF the first thread try to aquire critical section A and &lt;BR /&gt;after that critical section B, and the second threads try to &lt;BR /&gt;aquire B and A THEN you can have a deadlock in this system.&lt;/P&gt;
&lt;P&gt;you see ? it's look like this: IF predicates are meet THEN somethings ...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Now suppose there is many criticals sections... and the first &lt;BR /&gt;thread try to aquire A ,B ,C ,D,E,F,G and second thread try to &lt;BR /&gt;aquire A,G,C,D,E,F,B that's also a problem ... you can &lt;BR /&gt;easily notice it by APPLYING the theorems that we call &lt;BR /&gt;'good patterns'.&lt;/P&gt;
&lt;P&gt;You see why good patterns - that looks like theorems - &lt;BR /&gt;are also very powerfull ?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;That's what we call a good pattern - it's like a theorem ,&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;and it looks like this: IF predicates are meet THEN somethings ...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;There is also good patterns - like theorems - to follow for false &lt;BR /&gt;sharing etc.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Do you understand why I and others follow also good patterns &lt;BR /&gt;- that look like theorems - ?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Think about it...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Take care...&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Sincerely, &lt;BR /&gt;Amine Moulay Ramdane.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 30 Mar 2010 22:31:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Please-suggest-a-good-book-that-teaches/m-p/857633#M2174</guid>
      <dc:creator>aminer10</dc:creator>
      <dc:date>2010-03-30T22:31:41Z</dc:date>
    </item>
  </channel>
</rss>

