<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Multicore: It&#8217;s the Software</title>
	<atom:link href="http://www.cccblog.org/2008/10/07/multicore-its-the-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cccblog.org/2008/10/07/multicore-its-the-software/</link>
	<description>The Computing Community Consortium</description>
	<lastBuildDate>Tue, 02 Mar 2010 18:21:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Chitoor V. Srinivasan</title>
		<link>http://www.cccblog.org/2008/10/07/multicore-its-the-software/comment-page-1/#comment-209</link>
		<dc:creator>Chitoor V. Srinivasan</dc:creator>
		<pubDate>Tue, 28 Oct 2008 14:41:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.cccblog.org/?p=23#comment-209</guid>
		<description>My company, EDSS, Inc. has developed a parallel programming paradigm that is ideally well suited to build formally verified parallel software that may run in a diversity of multi-core chips.  Abstract of a manuscript on this is given below. 

Abstract:  This paper introduces a way of implementing parallel programs which can be formally verified.   It uses ideas from OO-programming, Pi-Calculus, CSP, and Actor systems, together with a new way of organizing communications among parallel processes.  The interesting feature is, it allows programs to be developed from an initial abstract statement of interactions among parallel computing units, called cells, and progressively refine them to their final implementation.  At each stage of refinement  a formal description of patterns of events that computations generate is derived automatically from implementation specifications.  This formal description is used for two purposes:  The first is to prove properties of the implementation, such as correctness, progress, mutual exclusion, and freedom from deadlocks/livelocks, etc, stated in a CTL-language.  The second is to automatically incorporate into each application implementation, a Self-Monitoring System (SMS) that constantly monitors the application in parallel while it is running, throughout its life time, with little or no interference with its timings, in order to identify errors in performance, pending errors, and patterns of critical behavior, and generate timely reports.  
The message passing paradigm is called TICC™ and the Parallel Program Development and Execution platform is called TICC™-Ppde.   A prototype of TICC™ and TICC™-Ppde without the formal proof methods but with the infrastructure for SMS has been implemented and tested for parallel program development and execution.  
TICC™-Ppde requires and can efficiently use large numbers of CPUs. The programming abstractions and tools it provides are ideally well suited to develop  parallel software that may run in a diversity of multicore chips with integrated TICCNET™, fully exploiting their performance capabilities.
This paper introduces through a series of examples, principles of program organization, automatic derivation of models from implementations and model based proof generation, and defines mechanisms that implement dynamic model based SMS.  Part II defines the denotational semantics and proof theory.

 Those interested please contact the author at the above email address:

Srinivasan</description>
		<content:encoded><![CDATA[<p>My company, EDSS, Inc. has developed a parallel programming paradigm that is ideally well suited to build formally verified parallel software that may run in a diversity of multi-core chips.  Abstract of a manuscript on this is given below. </p>
<p>Abstract:  This paper introduces a way of implementing parallel programs which can be formally verified.   It uses ideas from OO-programming, Pi-Calculus, CSP, and Actor systems, together with a new way of organizing communications among parallel processes.  The interesting feature is, it allows programs to be developed from an initial abstract statement of interactions among parallel computing units, called cells, and progressively refine them to their final implementation.  At each stage of refinement  a formal description of patterns of events that computations generate is derived automatically from implementation specifications.  This formal description is used for two purposes:  The first is to prove properties of the implementation, such as correctness, progress, mutual exclusion, and freedom from deadlocks/livelocks, etc, stated in a CTL-language.  The second is to automatically incorporate into each application implementation, a Self-Monitoring System (SMS) that constantly monitors the application in parallel while it is running, throughout its life time, with little or no interference with its timings, in order to identify errors in performance, pending errors, and patterns of critical behavior, and generate timely reports.<br />
The message passing paradigm is called TICC™ and the Parallel Program Development and Execution platform is called TICC™-Ppde.   A prototype of TICC™ and TICC™-Ppde without the formal proof methods but with the infrastructure for SMS has been implemented and tested for parallel program development and execution.<br />
TICC™-Ppde requires and can efficiently use large numbers of CPUs. The programming abstractions and tools it provides are ideally well suited to develop  parallel software that may run in a diversity of multicore chips with integrated TICCNET™, fully exploiting their performance capabilities.<br />
This paper introduces through a series of examples, principles of program organization, automatic derivation of models from implementations and model based proof generation, and defines mechanisms that implement dynamic model based SMS.  Part II defines the denotational semantics and proof theory.</p>
<p> Those interested please contact the author at the above email address:</p>
<p>Srinivasan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andras</title>
		<link>http://www.cccblog.org/2008/10/07/multicore-its-the-software/comment-page-1/#comment-178</link>
		<dc:creator>Andras</dc:creator>
		<pubDate>Thu, 09 Oct 2008 06:37:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.cccblog.org/?p=23#comment-178</guid>
		<description>Isn&#039;t the whole thing around multi-core programming a bit of hype?!
If you avoid shared state, you can fall back to asynchronously communicating many-threaded approaches which proved to be a robust approach in many fields; if you use shared state, you may fix it with locks, TM etc - but you will face scaling issues.
Cheers, 
Andras

http://www.a-vajda.eu/blog</description>
		<content:encoded><![CDATA[<p>Isn&#8217;t the whole thing around multi-core programming a bit of hype?!<br />
If you avoid shared state, you can fall back to asynchronously communicating many-threaded approaches which proved to be a robust approach in many fields; if you use shared state, you may fix it with locks, TM etc &#8211; but you will face scaling issues.<br />
Cheers,<br />
Andras</p>
<p><a href="http://www.a-vajda.eu/blog" rel="nofollow">http://www.a-vajda.eu/blog</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reiner Hartenstein</title>
		<link>http://www.cccblog.org/2008/10/07/multicore-its-the-software/comment-page-1/#comment-177</link>
		<dc:creator>Reiner Hartenstein</dc:creator>
		<pubDate>Thu, 09 Oct 2008 05:42:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.cccblog.org/?p=23#comment-177</guid>
		<description>Dan,

Because of the von Neumann syndrome many von-Neumann-only cores cannot be the solution because of extreme inefficiency. Hetero is the way to go. Massive software to configware migration is the only possible way to maintain growth of performance - replacing the ending free ride on Moore&#039;s law.</description>
		<content:encoded><![CDATA[<p>Dan,</p>
<p>Because of the von Neumann syndrome many von-Neumann-only cores cannot be the solution because of extreme inefficiency. Hetero is the way to go. Massive software to configware migration is the only possible way to maintain growth of performance &#8211; replacing the ending free ride on Moore&#8217;s law.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Louis Savain</title>
		<link>http://www.cccblog.org/2008/10/07/multicore-its-the-software/comment-page-1/#comment-175</link>
		<dc:creator>Louis Savain</dc:creator>
		<pubDate>Wed, 08 Oct 2008 20:40:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.cccblog.org/?p=23#comment-175</guid>
		<description>Dan,

The multicore research community is just spinning its wheels. The solution to the parallel programming crisis has been around for decades. The academic research community is blind to it because of its enfatuation with Turing machines and multithreading. There is a way to design and program parallel computers that does not involve the use of threads at all. It is a method that programmers have been using to simulate parallelism in such applications as neural networks, cellular automata, simulations, video games and even VHDL. It is not rocket science.</description>
		<content:encoded><![CDATA[<p>Dan,</p>
<p>The multicore research community is just spinning its wheels. The solution to the parallel programming crisis has been around for decades. The academic research community is blind to it because of its enfatuation with Turing machines and multithreading. There is a way to design and program parallel computers that does not involve the use of threads at all. It is a method that programmers have been using to simulate parallelism in such applications as neural networks, cellular automata, simulations, video games and even VHDL. It is not rocket science.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hwright</title>
		<link>http://www.cccblog.org/2008/10/07/multicore-its-the-software/comment-page-1/#comment-169</link>
		<dc:creator>hwright</dc:creator>
		<pubDate>Tue, 07 Oct 2008 20:02:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.cccblog.org/?p=23#comment-169</guid>
		<description>Ken Strandberg wrote an interesting three part series about how to approach development of future Terascale-on-a-Chip over at the Intel Multi-core blog.  He predicts &quot;a near future where applications can run on hundreds of cores, processing terabytes of data per second using a single processor.&quot;

His series can be found here:
http://software.intel.com/en-us/articles/developing-for-terascale-on-a-chip-first-article-in-the-series

HWright
www.pervasivedatarush.com</description>
		<content:encoded><![CDATA[<p>Ken Strandberg wrote an interesting three part series about how to approach development of future Terascale-on-a-Chip over at the Intel Multi-core blog.  He predicts &#8220;a near future where applications can run on hundreds of cores, processing terabytes of data per second using a single processor.&#8221;</p>
<p>His series can be found here:<br />
<a href="http://software.intel.com/en-us/articles/developing-for-terascale-on-a-chip-first-article-in-the-series" rel="nofollow">http://software.intel.com/en-us/articles/developing-for-terascale-on-a-chip-first-article-in-the-series</a></p>
<p>HWright<br />
<a href="http://www.pervasivedatarush.com" rel="nofollow">http://www.pervasivedatarush.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Multicore: It’s the Software</title>
		<link>http://www.cccblog.org/2008/10/07/multicore-its-the-software/comment-page-1/#comment-168</link>
		<dc:creator>Multicore: It’s the Software</dc:creator>
		<pubDate>Tue, 07 Oct 2008 11:24:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.cccblog.org/?p=23#comment-168</guid>
		<description>[...] Full Story [...]</description>
		<content:encoded><![CDATA[<p>[...] Full Story [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
