Recommended VM on Raspberry Pi ?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Recommended VM on Raspberry Pi ?

Sven Van Caekenberghe-2
Hi,

I have been using the PharoS VM for a Pharo 4 based app on Raspberry Pi (Rasbian).

This VM is quite slow.

Now that Pharo 5 is Spur based, what is the recommended VM on that platform ?

I was hoping to use a faster VM, if that is available.

Is anyone having some concrete experience in this area ?

Thx,

Sven


Reply | Threaded
Open this post in threaded view
|

Re: Recommended VM on Raspberry Pi ?

Clément Béra
Hello Sven,

You can use the VM with the JIT on the Pie now (Spur Cog VM). It is deployed by default on the recent raspberry pis and has millions of users for Squeak and Scratch since August 2015 (the raspberry pie fondation paid Tim for the ARM JIT on the Cog because of the size of their user base).

As far as I know there is no way to build it in the Pharo VM branch. Just pick a version compiled from the trunk, that should work fine with the latest Pharo 5 (note that it requires a Spur image, so it needs one of the latest Pharo 5). Here is where you can get it:

Now even with performance improvement of the VM, some people reported that the UI of the Pharo image is too slow to be usable on the raspberry pi 1 (Nautilus takes *many* seconds to open for example, same for GT tools). Try and report your experience.

On many benchs, the JIT VM for the pie has been reported on average 3 to 5x faster than the Stack VM. Note that the new FFI, even if it reuses the VM FFI backend, is dependent on x86, hence you need to use the old FFI syntax to have it working on the raspberry pie (there is some code to load in the image to do so). 

Have fun and report your experience with the raspberry pi and Pharo please,

Clement


2016-02-12 23:05 GMT+01:00 Sven Van Caekenberghe <[hidden email]>:
Hi,

I have been using the PharoS VM for a Pharo 4 based app on Raspberry Pi (Rasbian).

This VM is quite slow.

Now that Pharo 5 is Spur based, what is the recommended VM on that platform ?

I was hoping to use a faster VM, if that is available.

Is anyone having some concrete experience in this area ?

Thx,

Sven




Screen Shot 2015-12-17 at 10.21.48 AM.png (39K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Recommended VM on Raspberry Pi ?

Sven Van Caekenberghe-2
Here is what I did (on a fresh Raspberry Pi 2 B)

$ uname -a
Linux raspberrypi 4.1.13-v7+ #826 SMP PREEMPT Fri Nov 13 20:19:03 GMT 2015 armv7l GNU/Linux

$ curl get.pharo.org/50 | bash
$ wget http://files.pharo.org/sources/PharoV40.sources.zip
$ wget http://files.pharo.org/vm/pharoS/raspbian/latest.zip

Both the PharoS and squeak VM that comes with Raspbian 7 fail (not Spur compatible):

$ squeak -nodisplay Pharo.image printVersion
found gettext in path
/home/pi/Pharo
This interpreter (vers. 0) cannot read image file (vers. 6521).
Press CR to quit...
pi@raspberrypi ~/Pharo $ ./pharosvm/PharoS -nodisplay Pharo.image printVersion
unknown option: -nodisplay

$ ./pharosvm/PharoS --nodisplay Pharo.image printVersion
This interpreter (vers. 6505) cannot read image file (vers. 6521).
Press CR to quit...

The Cog VM does work:

$ ./cogspurlinuxhtARM/lib/squeak/5.0-3427/squeak -nodisplay Pharo.image printVersion
[version] 5.0 #50581

It is way faster than PharoS on an older B+.

But it does have an annoying slowdown in shutting down: it starts up OK, executes its eval expression immediately, but then seems to wait a couple of seconds before shutting down:

pi@raspberrypi ~/Pharo $ echo `date`; time ./cogspurlinuxhtARM/lib/squeak/5.0-3427/squeak -nodisplay Pharo.image eval 'DateAndTime now'; echo `date`
Sat Feb 13 15:45:44 UTC 2016
2016-02-13T15:45:44.860574+00:00

real 0m7.415s
user 0m7.210s
sys 0m0.250s
Sat Feb 13 15:45:51 UTC 2016

This takes 7 seconds, while the DateAndTime now is printed just .86 seconds after starting.

Running an HTTP server worked fine. I will try to get my actual app running and then test OS(Sub)Process.

Sven

PS: it is a bit odd that the latest Cog VM was published in August, nothing new since then.

> On 13 Feb 2016, at 09:46, Clément Bera <[hidden email]> wrote:
>
> Hello Sven,
>
> You can use the VM with the JIT on the Pie now (Spur Cog VM). It is deployed by default on the recent raspberry pis and has millions of users for Squeak and Scratch since August 2015 (the raspberry pie fondation paid Tim for the ARM JIT on the Cog because of the size of their user base).
>
> As far as I know there is no way to build it in the Pharo VM branch. Just pick a version compiled from the trunk, that should work fine with the latest Pharo 5 (note that it requires a Spur image, so it needs one of the latest Pharo 5). Here is where you can get it:
> http://www.mirandabanda.org/files/Cog/VM/VM.r3427/cogspurlinuxhtARM-15.33.3427.tgz 
>
> Now even with performance improvement of the VM, some people reported that the UI of the Pharo image is too slow to be usable on the raspberry pi 1 (Nautilus takes *many* seconds to open for example, same for GT tools). Try and report your experience.
>
> On many benchs, the JIT VM for the pie has been reported on average 3 to 5x faster than the Stack VM. Note that the new FFI, even if it reuses the VM FFI backend, is dependent on x86, hence you need to use the old FFI syntax to have it working on the raspberry pie (there is some code to load in the image to do so).
>
> Have fun and report your experience with the raspberry pi and Pharo please,
>
> Clement
>
>
> 2016-02-12 23:05 GMT+01:00 Sven Van Caekenberghe <[hidden email]>:
> Hi,
>
> I have been using the PharoS VM for a Pharo 4 based app on Raspberry Pi (Rasbian).
>
> This VM is quite slow.
>
> Now that Pharo 5 is Spur based, what is the recommended VM on that platform ?
>
> I was hoping to use a faster VM, if that is available.
>
> Is anyone having some concrete experience in this area ?
>
> Thx,
>
> Sven
>
>
>
> <Screen Shot 2015-12-17 at 10.21.48 AM.png>