<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Stefan-Marr.de &#187; workshop</title>
	<atom:link href="http://soft.vub.ac.be/~smarr/tag/workshop/feed/" rel="self" type="application/rss+xml" />
	<link>http://soft.vub.ac.be/~smarr</link>
	<description>personal and research notes</description>
	<lastBuildDate>Tue, 24 Jan 2012 18:41:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>DLS&#8217;11 and VMIL&#8217;11 @SPLASH2011</title>
		<link>http://soft.vub.ac.be/~smarr/2011/10/dls11-and-vmil11-splash2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dls11-and-vmil11-splash2011</link>
		<comments>http://soft.vub.ac.be/~smarr/2011/10/dls11-and-vmil11-splash2011/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 20:31:28 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[DLS]]></category>
		<category><![CDATA[SPLASH]]></category>
		<category><![CDATA[Virtual Machines]]></category>
		<category><![CDATA[VM]]></category>
		<category><![CDATA[VMIL]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://soft.vub.ac.be/~smarr/?p=482</guid>
		<description><![CDATA[The second conference day was unfortunately full of “conflicts of interest”… It was pretty hard to choose between all the talks on the schedule. Beside DLS and VMIL, there was also a workshop on Actor systems. However, I did not make it to this one. Cherry picking between DLS and VMIL was already hard enough [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.stefan-marr.de/2011/10/transitioning-to-multicore-splash2011/">second conference day</a> was unfortunately full of “conflicts of interest”… It was pretty hard to choose between all the talks on the schedule.</p>

<p>Beside <a href="http://www.dynamic-languages-symposium.org/dls-11/program/index.html">DLS</a> and <a href="http://www.cs.iastate.edu/~design/vmil/2011/program.shtml">VMIL</a>, there was also a <a href="http://apice.unibo.it/xwiki/bin/view/AGERE/">workshop on Actor systems</a>. However, I did not make it to this one. Cherry picking between DLS and VMIL was already hard enough and worked out only partially.</p>
<p>The two DLS keynotes were certainly highlights of the whole SPLASH conference. Gilad’s talk, on Dart was not just interesting but quite entertaining; especially their take on the optional type system looks useful. I like the reasoning behind their approach a lot. Who needs sound type systems anyway? Well, then again, I had a few bugs were a complete type system could have notified me earlier to make me aware that I am doing something stupid. So, I wonder whether it would be hard to have another optional type system in addition, which could be enabled on demand for certain modules to check a more strict set of constraints?</p>

<p>The second DLS keynote was David’s presentation with the title: <a href="http://splashcon.org/2011/program/dls/245-invited-talk-2">“Everything You Know (About Parallel Programming) is Wrong!: A Wild Screed About the Future”</a>. The main conclusion is certainly that <a href="http://en.wikipedia.org/wiki/Romeo_and_Juliet">Romeo</a> would not have died when there would have been synchronization to avoid the race condition. What a nerdy example <img src='http://soft.vub.ac.be/~smarr/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>In the end, the parallel revolution will need to find the balance between performance and correctness, since correctness is always bought by introducing delays and thus hampers performance. Another point he made more implicitly is that programming these systems becomes not only harder because of the parallel aspect, but also because of the ever-growing complexity of the underlying hardware. We just do not know anymore what is going on and why the performance is not as expected.</p>

<p>The VMIL workshop started with Eliot’s presentation. But, well, if you know how Eliot presents his work on the Cog VM then you know, that it is likely that people not acquainted with the details of Smalltalk VMs have a very hard time to follow. His <a href="http://www.cs.iastate.edu/~design/vmil/2011/papers/p03-miranda.pdf">paper</a> made the message a bit clearer, I think. His main point was the VM integration of the Bochs processor emulator for debugging.</p>


<p>After the first break, Lars talked a bit too much about Dart as a language, and the VM details were rather scarce. They said that they are going for simplicity, and the one aspect that I remember was that they do not have any static initialization to avoid ‘spontaneous’ executions. And well, their Smalltalk and Java history certainly shows between the lines.</p>

<p>The talk titled <a href="http://www.cs.iastate.edu/~design/vmil/2011/papers/p02-kell.pdf">“Virtual machines should be invisible”</a> was essentially about how to build a VM that reuses the standard systems ABI to integrate better with the surrounding system. They use the DWARF debugging format and dynamic linking techniques to reach that goal. Interesting but not platform-independent and I do not really see why that would be desirable or necessary for what I consider a VM.</p>

<p>I unfortunately missed the talk on <a href="http://www.cs.iastate.edu/~design/vmil/2011/papers/p06-gil.pdf">“A Microbenchmark Case Study and Lessons Learned”</a>. From the comments made later in the workshop, it seemed to have been an interesting and very relevant talk.</p>

<p>The talk titled <a href="http://www.cs.iastate.edu/~design/vmil/2011/papers/p07-zhao.pdf">“Intermediate Language Extensions for Parallelism”</a> was interesting, but I found that this IL is rather language dependent and is only applicable for a X10 or Habanero-ish language. Sure, the Cilk-style seems to be useful for a number of parallel problems, but it is not the only paradigm out there, so I wonder how that IL would look like if it would be designed for a multi-language VM.</p>

<p>The last talk of the workshop was mine: <a href="http://soft.vub.ac.be/~smarr/2011/09/which-problems-does-a-multi-language-virtual-machine-need-to-solve-in-the-multicoremanycore-era/">Which Problems Does a Multi-Language Virtual Machine Need to Solve in the Multicore/Manycore Era?</a> So, if you have any answers or thoughts on that topic, please leave me a note.</p>
]]></content:encoded>
			<wfw:commentRss>http://soft.vub.ac.be/~smarr/2011/10/dls11-and-vmil11-splash2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transitioning to Multicore @SPLASH2011</title>
		<link>http://soft.vub.ac.be/~smarr/2011/10/transitioning-to-multicore-splash2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=transitioning-to-multicore-splash2011</link>
		<comments>http://soft.vub.ac.be/~smarr/2011/10/transitioning-to-multicore-splash2011/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 01:13:40 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Manycore]]></category>
		<category><![CDATA[multicore]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[SPLASH]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://soft.vub.ac.be/~smarr/?p=477</guid>
		<description><![CDATA[And here we go again: SPLASH 2011 has started with its first day of workshops. I attended the Transitioning to Multicore workshop. For me the most interesting talks were two empirical studies presented by Fernando Castor. The first talk was about a controlled experiment with students using coarse-grained locks (or actually MVars) and STM in [...]]]></description>
			<content:encoded><![CDATA[<p>And here we go again: SPLASH 2011 has started with its first day of workshops.</p>
<p>I attended the <a href="http://tmc.supertriceratops.com/">Transitioning to Multicore workshop</a>.</p>
<p>For me the most interesting talks were two empirical studies presented by Fernando Castor. The first talk was about a <a href="http://tmc.supertriceratops.com/papers/tmc2011-7-Castor.pdf">controlled experiment with students using coarse-grained locks (or actually MVars) and STM in Haskell</a>. While such experiments are usually biased in some way or another, he presented an interesting set of anecdotes along with the actual results. Notably, he observed similar mistakes done by the students as we observed as part of our <a href="http://soft.vub.ac.be/~tvcutsem/multicore/">Multicore Programming</a> course. It seems to be hard to define the right granularity of atomicity, especially when an all-inclusive atomic section is not applicable. His second talk was about analyzing the use of <a href="http://tmc.supertriceratops.com/papers/tmc2011-1-Torres.pdf">concurrency constructs in open source software</a>. While this was still very early work, it shows how gradual the adoption of libraries like java.util.concurrent is in such software projects.</p>
<p>The other presentations included approaches to <a href="http://tmc.supertriceratops.com/papers/tmc2011-6-Pina.pdf">minimize conflicts in transactional systems</a>, <a href="http://tmc.supertriceratops.com/papers/tmc2011-2-Rito.pdf">automated support for memorization</a> on top of STM, and how Intel’s TBB can be used to express <a href="http://tmc.supertriceratops.com/papers/tmc2011-3-Reed.pdf">parallel pipelined programs</a> with a focus on which kind of pipelines can be easily expressed.</p>
<p>For me, the workshop ended with a panel discussion featuring Doug Lea, Matt Sottlie, Suresh Srinivas, and Tucker Taft. The most interesting point made was that one of the goals should be to facilitate all kind of different flavors of parallel programming (<a title="Which Problems Does a Multi-Language Virtual Machine Need to Solve in the Multicore/Manycore Era?" href="http://www.stefan-marr.de/2011/09/which-problems-does-a-multi-language-virtual-machine-need-to-solve-in-the-multicoremanycore-era/">of course! <img src='http://soft.vub.ac.be/~smarr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </a>) Matt pointed out in his introduction that parallel programming models are all good and well, and that being able to spilt up a problem in threads is important, but that the memory wall is often not discussed and that feeding enough data to the threads to keep them busy is becoming increasingly harder. Another point made in different variations is the importance of tools, their accessibility to developers, and their integration with runtimes and hardware. Doug mentioned also that the hardware vendors are making life harder for everyone without apparent reason by not using standards for instance to number cores. Especially since they do not provide the mechanisms to query the cache design properties and core arrangements that inhibits portable and reliable performance for mechanism like work-stealing schedulers.</p>
]]></content:encoded>
			<wfw:commentRss>http://soft.vub.ac.be/~smarr/2011/10/transitioning-to-multicore-splash2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Towards an Actor-based Concurrent Machine Model</title>
		<link>http://soft.vub.ac.be/~smarr/2010/02/towards-an-actor-based-concurrent-machine-model/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=towards-an-actor-based-concurrent-machine-model</link>
		<comments>http://soft.vub.ac.be/~smarr/2010/02/towards-an-actor-based-concurrent-machine-model/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 23:19:08 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Actors]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[Manycore]]></category>
		<category><![CDATA[multicore]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[Smalltalk]]></category>
		<category><![CDATA[Virtual Machines]]></category>
		<category><![CDATA[VMs]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://soft.vub.ac.be/~smarr/?p=289</guid>
		<description><![CDATA[Already quite a while ago, I was involved in writing a workshop paper about an actor model for virtual machines. Actually, the main idea was to find a concurrency model for a VM which supports multi-dimensional separation of concerns. However, AOP is not that interesting for me at the moment, so I am focussing on [...]]]></description>
			<content:encoded><![CDATA[<p>Already quite a while ago, I was involved in writing a workshop paper about an actor model for virtual machines. Actually, the main idea was to find a concurrency model for a VM which supports multi-dimensional separation of concerns. However, AOP is not that interesting for me at the moment, so I am focussing on the concurrency, especially the actor-based VM model.</p>
<p>After one year, I am back looking at that paper, and it still looks like a great model. Think, I will incorporate it into my manycore VM now <img src='http://soft.vub.ac.be/~smarr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Abstract</h3>
<blockquote>
<p>In this position paper we propose to extend an existing delegation-based machine model with concurrency primitives. The original machine model which is built on the concepts of objects, messages, and delegation, provides support for languages enabling multi-dimensional separation of concerns (MDSOC). We propose to extend this model with an actor-based concurrency model, allowing for both true parallelism as well as lightweight concurrency primitives such as coroutines. In order to demonstrate its expressiveness, we informally describe how three high-level languages supporting different concurrency models can be mapped onto our extended machine model. We also provide an outlook on the extended model&#8217;s potential to support concurrency-related MDSOC features.</p></blockquote>
<ul>
	<li>Towards an Actor-based Concurrent Machine Model, <em>Hans Schippers, Tom Van Cutsem, Stefan Marr, Michael Haupt, Robert Hirschfeld</em>, Proceedings of the fourth workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS), New York, NY, USA, ACM (2009), p. 4&#8211;9.</li>
	<li>Paper: <a title="Towards an Actor-based Concurrent Machine Model" href="http://soft.vub.ac.be/~smarr/downloads/icooolps09-schippers.pdf">PDF</a><br /> ©ACM, 2009. This is the author&#8217;s version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ICOOOLPS’09 July 6, 2009, Genova, Italy. <a href="http://doi.acm.org/10.1145/1565824.1565825">http://doi.acm.org/10.1145/1565824.1565825</a></li>
	<li>BibTex: <a href="http://www.bibsonomy.org/bibtex/243d4b86261eac5a70d28160c493e70d1/gron">BibSonomy</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://soft.vub.ac.be/~smarr/2010/02/towards-an-actor-based-concurrent-machine-model/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

