<?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; Smalltalk</title>
	<atom:link href="http://soft.vub.ac.be/~smarr/tag/smalltalk/feed/" rel="self" type="application/rss+xml" />
	<link>http://soft.vub.ac.be/~smarr</link>
	<description>personal and research notes</description>
	<lastBuildDate>Wed, 04 Aug 2010 14:28:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<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/</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[Uncategorized]]></category>
		<category><![CDATA[Actors]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[Manycore]]></category>
		<category><![CDATA[multicore]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[Research]]></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>
		<item>
		<title>How to use Pharo/Squeak from the Command-line</title>
		<link>http://soft.vub.ac.be/~smarr/2009/09/how-to-use-pharosqueak-from-the-command-line/</link>
		<comments>http://soft.vub.ac.be/~smarr/2009/09/how-to-use-pharosqueak-from-the-command-line/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 07:54:15 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Benchmarks]]></category>
		<category><![CDATA[Command-line]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[Language Shootout]]></category>
		<category><![CDATA[Pharo]]></category>
		<category><![CDATA[Smalltalk]]></category>
		<category><![CDATA[Squeak]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://soft.vub.ac.be/~smarr/?p=254</guid>
		<description><![CDATA[Along the way to measure the performance of a Smalltalk implementation for commodity multi-core systems, I tried to use Pharo as a more convenient development platform. Well, and I failed in the first attempt&#8230; To remind myself and document some of the necessary steps in this environment, I wrote up the following tutorial. Command-line Scripts [...]]]></description>
			<content:encoded><![CDATA[<p>Along the way to measure the performance of a Smalltalk implementation for commodity multi-core systems, I tried to use Pharo as a more convenient development platform. Well, and I failed in the first attempt&#8230;</p>
<p>To remind myself and document some of the necessary steps in this environment, I wrote up the following tutorial.</p>

<h1>Command-line Scripts with a Headless Pharo</h1>


<p>For some tasks like benchmarking and automated testing, an integration
with other tools comes in handy.
For such use cases, Pharo can be used headless, i.e., without its  
graphical
user interface.</p>

<p>This brief tutorial will demonstrate how to use the Debian Language  
Shootout
benchmarks with a fresh Pharo image.</p>

<h2>Step 1: Setup Pharo and a Fresh Image</h2>

<ul>
  <li>download a Pharo image, the sources file, and a VM from the
    <a href="http://www.pharo-project.org/pharo-download">download page</a></li>
  <li> extract all archives in the same folder</li>
  <li> start Pharo, from the commandline, on a MacOSX it should look  
like this:
<code>"Squeak 4.2.1beta1U.app/Contents/MacOS/Squeak VM Opt" \
          pharo1.0-10418-BETAdev09.08.3.image
    </code></li></ul>

<h2>Step 2: Load OSProcess</h2>

<p>For output on the shell, we need an extra package from the SqueakSource
repository.</p>

<p>It can be loaded by simply executing the following code in a workspace  
window:
<br/>
<pre>
ScriptLoader loadLatestPackage: 'OSProcess' from:
'http://www.squeaksource.com/OSProcess'
</pre>

<p>To execute this code snippet, select it and press cmd+d or use the &#8220;do  
it&#8221;
item in the context menu.</p>

<h2>Step 3: Load Common Benchmark Code</h2>

<p>Now we can load the common parts of all shootout benchmarks into our  
image.</p>
<ul>
<li>On way to do this is to grab the code shown <a href="http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;lang=squeak&amp;lang2=squeak">here</a></li> and save it to a file called <code>common.st</code>.</li>
  <li>Open the file browser from the Menu -&gt; Tools -&gt; File Browser.</li>
  <li>Select <code>common.st</code> and press <code>filein</code> to load the code.</li></ul>

<p>Now you can close all windows in your image and save and quit it.</p>

<h2>Step 4: Run a Benchmark</h2>
<ul>
<li>Grab the code of a benchmark like <a href="http://shootout.alioth.debian.org/gp4/benchmark.php?test=fannkuch&amp;lang=squeak&amp;id=1">Fannkuch</a></li>
  <li>Save it to a file named like <code>fannkuch.st</code></li>
  <li>Add a run script to the end of the code in <code>fannkuch.st</code>, like  
this:<br/>
<pre>
    Tests fannkuch.
    SmalltalkImage current snapshot: false andQuit: true.
</pre></li>
  <li>Run it with a headless Pharo:<br/>
<pre>
    "Squeak 4.2.1beta1U.app/Contents/MacOS/Squeak VM Opt" \
        -headless pharo1.0-10418-BETAdev09.08.3.image \
        $PWD/fannkuch.st 6
</pre><br/>
important is here the absolute path to the script, clearly inconvenient and uncommon on the command-line.</li></ul>
]]></content:encoded>
			<wfw:commentRss>http://soft.vub.ac.be/~smarr/2009/09/how-to-use-pharosqueak-from-the-command-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
