<?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; VMIL</title>
	<atom:link href="http://soft.vub.ac.be/~smarr/tag/vmil/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>Workshops at SPLASH 2010</title>
		<link>http://soft.vub.ac.be/~smarr/2010/10/workshops-at-splash-2010/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=workshops-at-splash-2010</link>
		<comments>http://soft.vub.ac.be/~smarr/2010/10/workshops-at-splash-2010/#comments</comments>
		<pubDate>Sat, 30 Oct 2010 08:54:03 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[SPLASH]]></category>
		<category><![CDATA[VM]]></category>
		<category><![CDATA[VMIL]]></category>

		<guid isPermaLink="false">http://soft.vub.ac.be/~smarr/?p=362</guid>
		<description><![CDATA[As usual I will write about a few of my personal highlights of SPLASH and the co-located workshops. That is mostly from my spotty notes, and from memory, so I don&#8217;t guarantee 100% accuracy, especially with respect to what other people might have said. For an impression on the location itself, I will just cite [...]]]></description>
			<content:encoded><![CDATA[<p>As usual I will write about a few of my personal highlights of SPLASH and the co-located workshops. That is mostly from my spotty notes, and from memory, so I don&#8217;t guarantee 100% accuracy, especially with respect to what other people might have said.</p>
<p>For an impression on the location itself, I will just cite and refer to what <a href="http://blog.jot.fm/2010/10/25/first-impressions-of-reno-and-oopslasplash/">Nick wrote on the JOT blog</a>:<br />&#8220;Reno airport was like a gateway into hell, slot machines everywhere [...] The conference venue is almost comically grim. The main floor is a sea of slot machines and haggard looking people.&#8221;<br />So, it was definitely not the most exciting place ever, and I was already worried that my colleagues start to shoot at those zombies <img src='http://soft.vub.ac.be/~smarr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Anyway, from the content point of view, it was actually a nice conference for me.</p>
<p>On Sunday the <a href="http://www.cs.iastate.edu/~design/vmil/2010/">Virtual Machine Intermediate Languages workshop</a> took place. As last year, that is the most relevant workshop with respect to VMs I came across so far. This year, especially the invited talks were very interesting.</p>
<h2><a href="http://www.cs.iastate.edu/~design/vmil/2010/papers/p01-click.txt">A JVM Does What????</a></h2>
<p><a href="http://www.azulsystems.com/blogs/cliff">Cliff Click</a> started with reporting on his perception of JVMs and the illusions they provide to the developers. My take away from his talk are the following points.</p>
<p>First, garbage collection is still the major issue, and people are willing to pay for better performance here. He kind of implied that JIT compilers are nice to have, but not as high on the list of priorities for his typical customers.</p>
<p>Second, he wants people to explore alternative concurrency models on top of the VM. From his perspective, the JVM is a great platform and things like locks are cheap. He agrees that things like Erlang-like Actors need deeper hocks into the Java Memory Model and possibly the JIT compiler, but in general I understood that he would rather prefer something on top instead of another thing integrated into the VM. Well, lets see how <a href="http://www.stefan-marr.de/2010/07/doctoral-symposium-at-splash-2010/">my ideas</a> work out.</p>
<p>Related to my ideas we had a small discussion afterwards with David. I was surprised that Azul uses a Uniform Memory Access model for its systems but apparently the problem is that current business applications exhibit random access patterns all over the heap. Thus, if you have a system with 16 chips and 16 memory controller, 15/16 of the access are going remote anyway. That is why the optimize for that case instead of optimizing local performance. Interesting, but perhaps just the consequence of not having appropriate languages which take locality into account in the first place.</p>
<h2><a href="http://www.cs.iastate.edu/~design/vmil/2010/papers/p03-tillmann.txt">SPUR: A Trace-Based JIT Compiler for CIL</a></h2>
<p><a href="http://research.microsoft.com/en-us/people/nikolait/">Nikolai Tillmann</a> reported on the SPUR project at Microsoft Research. He gave a introduction to tracing-based just-in-time compilation and also present some benchmarks. The interesting part about SPUR is that they actually JIT .NET but experiment mainly with JavaScript.</p>
<p>For me the most interesting aspect of his talk was the future work section were he mentioned a few attempts on parallelizing code by the tracing JIT. Their ideas mainly focus on vectorization which is kind of not so exciting, hope they will also look into speculative execution, even so Nikolai asks for more hardware support for such an idea.</p>
<h2><a href="http://www.cs.iastate.edu/~design/vmil/2010/papers/p05-durelli.pdf">A Systematic Mapping Study on High-level Language Virtual Machines</a></h2>
<p>The first research paper I am going to mention here was meta research on VM research.</p>
<p>The authors surveyed the body of literature on VMs to find out what people are doing research on. Well, the scope was a bit to narrow to actually cover all interesting papers, but it is a very nice first step. David was a bit disappointed that his Self and other Smalltalk papers were not covered and that the literature that was identified as being relevant only started in the 90&#8242;ies or so. Well, the authors were already aware of those limitations, but beside this definitely constructive criticism, the audience also came up with proposals to get us as the community involved. There is serious interest in such research and people would be happy with helping classifying (and certainly promoting their own research) if that could happen on a wiki or so&#8230;</p>
<h2><a href="http://www.cs.iastate.edu/~design/vmil/2010/papers/p07-bieniusa.pdf">The Architecture of DecentVM &#8211; Towards a Decentralized Virtual Machine for Many-Core Computing</a></h2>
<p>&nbsp;</p>

<div>The second research paper with high relevance for myself was about DecentVM. The DecentVM is based on the distributed DecentSTM. It implements a JVM currently running on a distributed system. However, they also want to look into how to make it run on Intel&#8217;s Single-chip Cloud Computer. So, some interesting work coming up there.</div>
<h2><a href="http://www.cs.iastate.edu/~design/vmil/2010/papers/p08-mckinley.txt">How&#8217;s the Parallel Computing Revolution Going? Towards Parallel Scalable Virtual Machine Services</a></h2>
<p><a href="http://www.cs.iastate.edu/~design/vmil/2010/papers/p08-mckinley.txt"></a>Kathryn McKinley reported on experiments her students did to compare the speed and power consumption of CPUs over the last few years. Turns out, the power consumption seems to rise faster than the performance, especially since the benchmarks do not scale perfectly for multicore applications. However, there is quite a bit of progress with respect to saving energy instead of increasing performance with Intel&#8217;s Atom and related architectures.</p>
<p>Interesting was her proposal to parallelize the VM in itself. Something Theo always asks for, too. However, Cliff Click basically said that HotSpot is already at that point for most parts. So, at least from his perspective, that is not a field where major breakthroughs will come from&#8230;</p>
<p>Monday, the second day of workshops was less interesting. I started in the day with giving my presentation at the<a href="http://www.stefan-marr.de/2010/07/doctoral-symposium-at-splash-2010/"> Doctoral Symposium</a>. Did not get more than meta-feedback, unfortunately. I guess, it was just to early for that. What I have is an idea (perhaps with to many open design options) and a plan to validate it. But it was obviously still too fluffy&#8230; On the other hand, that meant I was missing great workshops like for instance Evaluate 2010 and the Dynamic Languages Symposium *sigh*</p>
]]></content:encoded>
			<wfw:commentRss>http://soft.vub.ac.be/~smarr/2010/10/workshops-at-splash-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intermediate Language Design of High-level Language Virtual Machines: Towards Comprehensive Concurrency Support</title>
		<link>http://soft.vub.ac.be/~smarr/2010/02/intermediate-language-design-of-high-level-language-virtual-machines-towards-comprehensive-concurrency-support/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=intermediate-language-design-of-high-level-language-virtual-machines-towards-comprehensive-concurrency-support</link>
		<comments>http://soft.vub.ac.be/~smarr/2010/02/intermediate-language-design-of-high-level-language-virtual-machines-towards-comprehensive-concurrency-support/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 21:38:21 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Bytecode]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Instruction Set]]></category>
		<category><![CDATA[Intermediate Language]]></category>
		<category><![CDATA[OOPSLA]]></category>
		<category><![CDATA[Survey]]></category>
		<category><![CDATA[Virtual Machines]]></category>
		<category><![CDATA[VMIL]]></category>

		<guid isPermaLink="false">http://soft.vub.ac.be/~smarr/?p=285</guid>
		<description><![CDATA[My second workshop paper got published at the ACM Digital Library. This is actually only an abstract, but nonetheless, it might be interesting for people looking into the design of virtual machines and especially bytecodes/intermediate languages. Abstract Today&#8217;s major high-level language virtual machines (VMs) are becoming successful in being multi-language execution platforms, hosting a wide [...]]]></description>
			<content:encoded><![CDATA[<p>My second workshop paper got published at the ACM Digital Library. This is actually only an abstract, but nonetheless, it might be interesting for people looking into the design of virtual machines and especially bytecodes/intermediate languages.</p>
<h3>Abstract</h3>
<blockquote>
<p>Today&#8217;s major high-level language virtual machines (VMs) are becoming successful in being multi-language execution platforms, hosting a wide range of languages. With the transition from few-core to many-core processors, we argue that VMs will also have to abstract from concrete concurrency models at the hardware level, to be able to support a wide range of abstract concurrency models on a language level. To overcome the lack of sufficient abstractions for concurrency concepts in  VMs, we proposed earlier to extend VM intermediate languages by special  concurrency constructs[<a href="http://www.stefan-marr.de/2010/02/virtual-machine-support-for-many-core-architectures-decoupling-abstract-from-concrete-concurrency-models/">PLACES09</a>].</p>
<p>As a first step towards this goal, we try to fill a gap in the current literature and survey the intermediate language design of VMs.  Our goal is to identify currently used techniques and principles as well as to gain an overview over the available concurrency related features in intermediate languages.</p>
<p>Another aspect of interest is the influence of the particular target language, for which the VM is originally intended, on the intermediate language.</p></blockquote>
<ul>
	<li>Paper: <a title="Intermediate Language Design of High-level Language Virtual Machines: Towards Comprehensive Concurrency Support" href="http://soft.vub.ac.be/~smarr/downloads/vmil09-smarr.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 VMIL&#8217;09, October 25, 2009. <a href="http://doi.acm.org/10.1145/1711506.1711509">http://doi.acm.org/10.1145/1711506.1711509</a></li>
	<li>BibTex: <a href="http://www.bibsonomy.org/bibtex/24cadae2ab990d54d761d2233f8a21505/gron">BibSonomy</a></li>
</ul>
<h3>Slides of the Talk at VMIL09/OOPSLA</h3>
<div id="__ss_2357339" style="width: 425px; text-align: left;"><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=vmil09-005-091027084911-phpapp01&amp;rel=0&amp;stripped_title=intermediate-language-design-of-highlevel-language-vms-towards-comprehensive-concurrency-support" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=vmil09-005-091027084911-phpapp01&amp;rel=0&amp;stripped_title=intermediate-language-design-of-highlevel-language-vms-towards-comprehensive-concurrency-support" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
]]></content:encoded>
			<wfw:commentRss>http://soft.vub.ac.be/~smarr/2010/02/intermediate-language-design-of-high-level-language-virtual-machines-towards-comprehensive-concurrency-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

