how can I build a sista spur 64 vm?

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

how can I build a sista spur 64 vm?

Robert Withers-2
 
I understand that Sista is operational. I would like to try. How can I
build a Sista vm? I went to linux64x64/squeak.sista.spur and there is a
file there NotYetImplemented.

I appreciate any guidance.

--
Kindly,
Robert


Reply | Threaded
Open this post in threaded view
|

Re: how can I build a sista spur 64 vm?

Clément Béra
 
Hi Robert,

I worked on sista and I don't think I have ever tried it on 64 bits. I run my experiments on x86. My expectation for 64 bits is that you have to write build files inspired from the 32 bits 
sista.spur and the 64 bits cog.spur files. Then you have to run it in the VM simulator and fix the various few problems you see (likely a few instructions are not implemented in the 
x64 back-end). Then you can build a system. It's not so much work.

There was a released alpha version of Sista [1], which I used to run the benchmark of a research paper [2]. If you compile a VM with sources from that time (recent sources have difference 
that will break it), and follow the guidelines from the blog post [1], you should be able to reproduce the benchmark results from the paper. 

As I remember it, most benchmarks run without crashes at 1.5x and the development tools could be run for a while without crashes. Debugging and on-the-fly code changes in sista are 
only partially implemented (there's the potential to do it, but one has to implement it). I would say it is currently in a similar state as the strongtalk VM [3], while being compatible with 
Squeak and other Cog clients. 

I don't know what you mean by operational. If you're looking to experiment with it, tweak it to run some benchmarks, then you should be able to do it. If you're looking to deploy an application 
on a production VM, then significant work is left to do so (discuss directly with Eliot if that is the case). 

Have fun with the project :-)

On Mon, Mar 23, 2020 at 3:43 PM Robert <[hidden email]> wrote:
 
I understand that Sista is operational. I would like to try. How can I
build a Sista vm? I went to linux64x64/squeak.sista.spur and there is a
file there NotYetImplemented.

I appreciate any guidance.

--
Kindly,
Robert




--
Reply | Threaded
Open this post in threaded view
|

Re: how can I build a sista spur 64 vm?

Robert Withers-2
 

Bonjour Clément, quoi de neuf? Eliot?

This is all very interesting news. I am sad to hear that 64-bit will need to be built. Then I decide not to be sad, that it is an opportunity to build a good foundation. Therefore, I request of the vm-dev list, who is a part of the Sista Team? Lots of good work to be done. Let us get it on! PortPortPort.

I bring Eliot to the email to mention that yes indeed I would like to deploy ParrotTalk/Raven upon a Sista 64-bit vm. I believe the first step is to form a team of interested parties. I am willing to spend some time, though my focus is porting SSL, ATM.

Which way is which what?

Kindly,
mumbles

On 3/24/20 1:58 PM, Clément Béra wrote:
Hi Robert,

I worked on sista and I don't think I have ever tried it on 64 bits. I run my experiments on x86. My expectation for 64 bits is that you have to write build files inspired from the 32 bits 
sista.spur and the 64 bits cog.spur files. Then you have to run it in the VM simulator and fix the various few problems you see (likely a few instructions are not implemented in the 
x64 back-end). Then you can build a system. It's not so much work.

There was a released alpha version of Sista [1], which I used to run the benchmark of a research paper [2]. If you compile a VM with sources from that time (recent sources have difference 
that will break it), and follow the guidelines from the blog post [1], you should be able to reproduce the benchmark results from the paper. 

As I remember it, most benchmarks run without crashes at 1.5x and the development tools could be run for a while without crashes. Debugging and on-the-fly code changes in sista are 
only partially implemented (there's the potential to do it, but one has to implement it). I would say it is currently in a similar state as the strongtalk VM [3], while being compatible with 
Squeak and other Cog clients. 

I don't know what you mean by operational. If you're looking to experiment with it, tweak it to run some benchmarks, then you should be able to do it. If you're looking to deploy an application 
on a production VM, then significant work is left to do so (discuss directly with Eliot if that is the case). 

Have fun with the project :-)

On Mon, Mar 23, 2020 at 3:43 PM Robert <[hidden email]> wrote:
 
I understand that Sista is operational. I would like to try. How can I
build a Sista vm? I went to linux64x64/squeak.sista.spur and there is a
file there NotYetImplemented.

I appreciate any guidance.

--
Kindly,
Robert




--
-- 
Kindly,
Robert
Reply | Threaded
Open this post in threaded view
|

Re: how can I build a sista spur 64 vm?

David T. Lewis
In reply to this post by Clément Béra
 
Hi Cl??ment,

Sista works fine on 64 bits :-)

Eliot added the necessary image support to Squeak, based on your eariler
Pharo implementation. We switched Squeak trunk over to Sista in trunk
a few weeks ago, and have had no problems at all. All Squeak development
is proceeding with Sista as the default bytecode, and most of us are
on 64-bits.

So thank you!
Dave


On Tue, Mar 24, 2020 at 06:58:37PM +0100, Cl??ment B??ra wrote:

>  
> Hi Robert,
>
> I worked on sista and I don't think I have ever tried it on 64 bits. I run
> my experiments on x86. My expectation for 64 bits is that you have to write
> build files inspired from the 32 bits
> sista.spur and the 64 bits cog.spur files. Then you have to run it in the
> VM simulator and fix the various few problems you see (likely a few
> instructions are not implemented in the
> x64 back-end). Then you can build a system. It's not so much work.
>
> There was a released alpha version of Sista [1], which I used to run the
> benchmark of a research paper [2]. If you compile a VM with sources from
> that time (recent sources have difference
> that will break it), and follow the guidelines from the blog post [1], you
> should be able to reproduce the benchmark results from the paper.
>
> As I remember it, most benchmarks run without crashes at 1.5x and the
> development tools could be run for a while without crashes. Debugging and
> on-the-fly code changes in sista are
> only partially implemented (there's the potential to do it, but one has to
> implement it). I would say it is currently in a similar state as the
> strongtalk VM [3], while being compatible with
> Squeak and other Cog clients.
>
> I don't know what you mean by operational. If you're looking to experiment
> with it, tweak it to run some benchmarks, then you should be able to do it.
> If you're looking to deploy an application
> on a production VM, then significant work is left to do so (discuss
> directly with Eliot if that is the case).
>
> Have fun with the project :-)
>
> [1] https://clementbera.wordpress.com/2017/07/19/sista-open-alpha-release/
> [2] https://hal.inria.fr/hal-01596321/
> [3] http://strongtalk.org/
>
> On Mon, Mar 23, 2020 at 3:43 PM Robert <[hidden email]> wrote:
>
> >
> > I understand that Sista is operational. I would like to try. How can I
> > build a Sista vm? I went to linux64x64/squeak.sista.spur and there is a
> > file there NotYetImplemented.
> >
> > I appreciate any guidance.
> >
> > --
> > Kindly,
> > Robert
> >
> >
> >
>
> --
> Cl??ment B??ra
> https://clementbera.github.io/
> https://clementbera.wordpress.com/

Reply | Threaded
Open this post in threaded view
|

Re: how can I build a sista spur 64 vm?

Robert Withers-2
 

Hi Dave,

I thought I saw something about it. This is great! I'm git stupid, how can I force merge with git to pull the latest vm code, to overwrite my locally generated files? Which version of VMMaker is appropriate?

quotar@ganymede:~/tribe/opensmalltalk-vm$ git pull
remote: Enumerating objects: 619, done.
remote: Counting objects: 100% (619/619), done.
remote: Compressing objects: 100% (61/61), done.
remote: Total 645 (delta 523), reused 617 (delta 521), pack-reused 26
Receiving objects: 100% (645/645), 8.11 MiB | 2.30 MiB/s, done.
Resolving deltas: 100% (526/526), completed with 117 local objects.
From https://github.com/OpenSmalltalk/opensmalltalk-vm
   1861db582..00de58438  Cog        -> origin/Cog
 * [new tag]             202003021730 -> 202003021730
Updating 1861db582..00de58438
error: Your local changes to the following files would be overwritten by merge:

I'm excited!

Kindly,
mumbles

On 3/24/20 2:40 PM, David T. Lewis wrote:

Hi Cl??ment,

Sista works fine on 64 bits :-)

Eliot added the necessary image support to Squeak, based on your eariler
Pharo implementation. We switched Squeak trunk over to Sista in trunk
a few weeks ago, and have had no problems at all. All Squeak development
is proceeding with Sista as the default bytecode, and most of us are
on 64-bits.

So thank you!
Dave


On Tue, Mar 24, 2020 at 06:58:37PM +0100, Cl??ment B??ra wrote:
Hi Robert,

I worked on sista and I don't think I have ever tried it on 64 bits. I run
my experiments on x86. My expectation for 64 bits is that you have to write
build files inspired from the 32 bits
sista.spur and the 64 bits cog.spur files. Then you have to run it in the
VM simulator and fix the various few problems you see (likely a few
instructions are not implemented in the
x64 back-end). Then you can build a system. It's not so much work.

There was a released alpha version of Sista [1], which I used to run the
benchmark of a research paper [2]. If you compile a VM with sources from
that time (recent sources have difference
that will break it), and follow the guidelines from the blog post [1], you
should be able to reproduce the benchmark results from the paper.

As I remember it, most benchmarks run without crashes at 1.5x and the
development tools could be run for a while without crashes. Debugging and
on-the-fly code changes in sista are
only partially implemented (there's the potential to do it, but one has to
implement it). I would say it is currently in a similar state as the
strongtalk VM [3], while being compatible with
Squeak and other Cog clients.

I don't know what you mean by operational. If you're looking to experiment
with it, tweak it to run some benchmarks, then you should be able to do it.
If you're looking to deploy an application
on a production VM, then significant work is left to do so (discuss
directly with Eliot if that is the case).

Have fun with the project :-)

[1] https://clementbera.wordpress.com/2017/07/19/sista-open-alpha-release/
[2] https://hal.inria.fr/hal-01596321/
[3] http://strongtalk.org/

On Mon, Mar 23, 2020 at 3:43 PM Robert [hidden email] wrote:

I understand that Sista is operational. I would like to try. How can I
build a Sista vm? I went to linux64x64/squeak.sista.spur and there is a
file there NotYetImplemented.

I appreciate any guidance.

--
Kindly,
Robert



--
Cl??ment B??ra
https://clementbera.github.io/
https://clementbera.wordpress.com/

    
-- 
Kindly,
Robert
Reply | Threaded
Open this post in threaded view
|

Re: how can I build a sista spur 64 vm?

Robert Withers-2
 

An update.

I fetched and merged the changes in opensmalltalk-vm.
I go to the image directory.
I run updatespur64SistaV1image.sh
Then, as there is no vmmaker script for Sista, I launch # squeak trunk6-sista-64.image &
Goto file list and select the file BuildSqueakSpurTrunkVMMakerImage.st and filein.
An error occurs from MultiByteFileStream(PositionalStream)>>#skipStyleChunk with this error:

#primGetPosition: failed. I think it is in the middle of reading in the BuildSqueakSpurTrunkVMMakerImage.st, as in that is what the MultiByteFileStream is opened upon.

So what do I need to do Sista? Get a VMMaker image with Sista loaded, which is what I thought BuildSqueakSpurTrunkVMMakerImage.st does. But it fails.

k, m

On 3/24/20 2:46 PM, Robert wrote:

Hi Dave,

I thought I saw something about it. This is great! I'm git stupid, how can I force merge with git to pull the latest vm code, to overwrite my locally generated files? Which version of VMMaker is appropriate?

quotar@ganymede:~/tribe/opensmalltalk-vm$ git pull
remote: Enumerating objects: 619, done.
remote: Counting objects: 100% (619/619), done.
remote: Compressing objects: 100% (61/61), done.
remote: Total 645 (delta 523), reused 617 (delta 521), pack-reused 26
Receiving objects: 100% (645/645), 8.11 MiB | 2.30 MiB/s, done.
Resolving deltas: 100% (526/526), completed with 117 local objects.
From https://github.com/OpenSmalltalk/opensmalltalk-vm
   1861db582..00de58438  Cog        -> origin/Cog
 * [new tag]             202003021730 -> 202003021730
Updating 1861db582..00de58438
error: Your local changes to the following files would be overwritten by merge:

I'm excited!

Kindly,
mumbles

On 3/24/20 2:40 PM, David T. Lewis wrote:
Hi Cl??ment,

Sista works fine on 64 bits :-)

Eliot added the necessary image support to Squeak, based on your eariler
Pharo implementation. We switched Squeak trunk over to Sista in trunk
a few weeks ago, and have had no problems at all. All Squeak development
is proceeding with Sista as the default bytecode, and most of us are
on 64-bits.

So thank you!
Dave


On Tue, Mar 24, 2020 at 06:58:37PM +0100, Cl??ment B??ra wrote:
Hi Robert,

I worked on sista and I don't think I have ever tried it on 64 bits. I run
my experiments on x86. My expectation for 64 bits is that you have to write
build files inspired from the 32 bits
sista.spur and the 64 bits cog.spur files. Then you have to run it in the
VM simulator and fix the various few problems you see (likely a few
instructions are not implemented in the
x64 back-end). Then you can build a system. It's not so much work.

There was a released alpha version of Sista [1], which I used to run the
benchmark of a research paper [2]. If you compile a VM with sources from
that time (recent sources have difference
that will break it), and follow the guidelines from the blog post [1], you
should be able to reproduce the benchmark results from the paper.

As I remember it, most benchmarks run without crashes at 1.5x and the
development tools could be run for a while without crashes. Debugging and
on-the-fly code changes in sista are
only partially implemented (there's the potential to do it, but one has to
implement it). I would say it is currently in a similar state as the
strongtalk VM [3], while being compatible with
Squeak and other Cog clients.

I don't know what you mean by operational. If you're looking to experiment
with it, tweak it to run some benchmarks, then you should be able to do it.
If you're looking to deploy an application
on a production VM, then significant work is left to do so (discuss
directly with Eliot if that is the case).

Have fun with the project :-)

[1] https://clementbera.wordpress.com/2017/07/19/sista-open-alpha-release/
[2] https://hal.inria.fr/hal-01596321/
[3] http://strongtalk.org/

On Mon, Mar 23, 2020 at 3:43 PM Robert [hidden email] wrote:

I understand that Sista is operational. I would like to try. How can I
build a Sista vm? I went to linux64x64/squeak.sista.spur and there is a
file there NotYetImplemented.

I appreciate any guidance.

--
Kindly,
Robert



--
Cl??ment B??ra
https://clementbera.github.io/
https://clementbera.wordpress.com/
-- 
Kindly,
Robert
-- 
Kindly,
Robert
Reply | Threaded
Open this post in threaded view
|

Re: how can I build a sista spur 64 vm?

David T. Lewis
 
Hi Robert,

You do not need to build a VM to get Sista. Eliot put all of the
Sista support into the VM a long time ago, so if you are any VM
from the last year or two, it will have the necessary Sista support.

To activate Sista in your Squeak image, start with a Squeak 5.3 image,
set the update URL preference to point to http://source.squeak.org/trunk,
and update your image. The update will switch your image over to use
Sista.

Dave


On Tue, Mar 24, 2020 at 08:55:09PM +0000, Robert wrote:

> An update.
>
> I fetched and merged the changes in opensmalltalk-vm.
> I go to the image directory.
> I run updatespur64SistaV1image.sh
> Then, as there is no vmmaker script for Sista, I launch # squeak trunk6-sista-64.image &
> Goto file list and select the file BuildSqueakSpurTrunkVMMakerImage.st and filein.
> An error occurs from MultiByteFileStream(PositionalStream)>>#skipStyleChunk with this error:
>
> #primGetPosition: failed. I think it is in the middle of reading in the BuildSqueakSpurTrunkVMMakerImage.st, as in that is what the MultiByteFileStream is opened upon.
>
> So what do I need to do Sista? Get a VMMaker image with Sista loaded, which is what I thought BuildSqueakSpurTrunkVMMakerImage.st does. But it fails.
>
> k, m
>
> On 3/24/20 2:46 PM, Robert wrote:
>
> > Hi Dave,
> >
> > I thought I saw something about it. This is great! I'm git stupid, how can I force merge with git to pull the latest vm code, to overwrite my locally generated files? Which version of VMMaker is appropriate?
> >
> > quotar@ganymede:~/tribe/opensmalltalk-vm$ git pull
> > remote: Enumerating objects: 619, done.
> > remote: Counting objects: 100% (619/619), done.
> > remote: Compressing objects: 100% (61/61), done.
> > remote: Total 645 (delta 523), reused 617 (delta 521), pack-reused 26
> > Receiving objects: 100% (645/645), 8.11 MiB | 2.30 MiB/s, done.
> > Resolving deltas: 100% (526/526), completed with 117 local objects.
> > From https://github.com/OpenSmalltalk/opensmalltalk-vm
> >    1861db582..00de58438  Cog        -> origin/Cog
> >  * [new tag]             202003021730 -> 202003021730
> > Updating 1861db582..00de58438
> > error: Your local changes to the following files would be overwritten by merge:
> >
> > I'm excited!
> >
> > Kindly,
> > mumbles
> >
> > On 3/24/20 2:40 PM, David T. Lewis wrote:
> >
> >> Hi Cl??ment,
> >>
> >> Sista works fine on 64 bits :-)
> >>
> >> Eliot added the necessary image support to Squeak, based on your eariler
> >> Pharo implementation. We switched Squeak trunk over to Sista in trunk
> >> a few weeks ago, and have had no problems at all. All Squeak development
> >> is proceeding with Sista as the default bytecode, and most of us are
> >> on 64-bits.
> >>
> >> So thank you!
> >> Dave
> >>
> >> On Tue, Mar 24, 2020 at 06:58:37PM +0100, Cl??ment B??ra wrote:
> >>
> >>> Hi Robert,
> >>>
> >>> I worked on sista and I don't think I have ever tried it on 64 bits. I run
> >>> my experiments on x86. My expectation for 64 bits is that you have to write
> >>> build files inspired from the 32 bits
> >>> sista.spur and the 64 bits cog.spur files. Then you have to run it in the
> >>> VM simulator and fix the various few problems you see (likely a few
> >>> instructions are not implemented in the
> >>> x64 back-end). Then you can build a system. It's not so much work.
> >>>
> >>> There was a released alpha version of Sista [1], which I used to run the
> >>> benchmark of a research paper [2]. If you compile a VM with sources from
> >>> that time (recent sources have difference
> >>> that will break it), and follow the guidelines from the blog post [1], you
> >>> should be able to reproduce the benchmark results from the paper.
> >>>
> >>> As I remember it, most benchmarks run without crashes at 1.5x and the
> >>> development tools could be run for a while without crashes. Debugging and
> >>> on-the-fly code changes in sista are
> >>> only partially implemented (there's the potential to do it, but one has to
> >>> implement it). I would say it is currently in a similar state as the
> >>> strongtalk VM [3], while being compatible with
> >>> Squeak and other Cog clients.
> >>>
> >>> I don't know what you mean by operational. If you're looking to experiment
> >>> with it, tweak it to run some benchmarks, then you should be able to do it.
> >>> If you're looking to deploy an application
> >>> on a production VM, then significant work is left to do so (discuss
> >>> directly with Eliot if that is the case).
> >>>
> >>> Have fun with the project :-)
> >>>
> >>> [1]
> >>> https://clementbera.wordpress.com/2017/07/19/sista-open-alpha-release/
> >>> [2]
> >>> https://hal.inria.fr/hal-01596321/
> >>> [3]
> >>> http://strongtalk.org/
> >>> On Mon, Mar 23, 2020 at 3:43 PM Robert
> >>> [<[hidden email]>](mailto:[hidden email])
> >>> wrote:
> >>>
> >>>> I understand that Sista is operational. I would like to try. How can I
> >>>> build a Sista vm? I went to linux64x64/squeak.sista.spur and there is a
> >>>> file there NotYetImplemented.
> >>>>
> >>>> I appreciate any guidance.
> >>>>
> >>>> --
> >>>> Kindly,
> >>>> Robert
> >>>
> >>> --
> >>> Cl??ment B??ra
> >>> https://clementbera.github.io/
> >>>
> >>> https://clementbera.wordpress.com/
> >
> > --
> > Kindly,
> > Robert
>
> --
> Kindly,
> Robert
Reply | Threaded
Open this post in threaded view
|

Re: how can I build a sista spur 64 vm?

Robert Withers-2
 
Awesome, I guess I am running Sista now. That's what the bytecode set
is. Thanks for making this such a breeze!

K, m

On 3/24/20 6:25 PM, David T. Lewis wrote:

> Hi Robert,
>
> You do not need to build a VM to get Sista. Eliot put all of the
> Sista support into the VM a long time ago, so if you are any VM
> from the last year or two, it will have the necessary Sista support.
>
> To activate Sista in your Squeak image, start with a Squeak 5.3 image,
> set the update URL preference to point to http://source.squeak.org/trunk,
> and update your image. The update will switch your image over to use
> Sista.
>
> Dave
>
>
> On Tue, Mar 24, 2020 at 08:55:09PM +0000, Robert wrote:
>> An update.
>>
>> I fetched and merged the changes in opensmalltalk-vm.
>> I go to the image directory.
>> I run updatespur64SistaV1image.sh
>> Then, as there is no vmmaker script for Sista, I launch # squeak trunk6-sista-64.image &
>> Goto file list and select the file BuildSqueakSpurTrunkVMMakerImage.st and filein.
>> An error occurs from MultiByteFileStream(PositionalStream)>>#skipStyleChunk with this error:
>>
>> #primGetPosition: failed. I think it is in the middle of reading in the BuildSqueakSpurTrunkVMMakerImage.st, as in that is what the MultiByteFileStream is opened upon.
>>
>> So what do I need to do Sista? Get a VMMaker image with Sista loaded, which is what I thought BuildSqueakSpurTrunkVMMakerImage.st does. But it fails.
>>
>> k, m
>>
>> On 3/24/20 2:46 PM, Robert wrote:
>>
>>> Hi Dave,
>>>
>>> I thought I saw something about it. This is great! I'm git stupid, how can I force merge with git to pull the latest vm code, to overwrite my locally generated files? Which version of VMMaker is appropriate?
>>>
>>> quotar@ganymede:~/tribe/opensmalltalk-vm$ git pull
>>> remote: Enumerating objects: 619, done.
>>> remote: Counting objects: 100% (619/619), done.
>>> remote: Compressing objects: 100% (61/61), done.
>>> remote: Total 645 (delta 523), reused 617 (delta 521), pack-reused 26
>>> Receiving objects: 100% (645/645), 8.11 MiB | 2.30 MiB/s, done.
>>> Resolving deltas: 100% (526/526), completed with 117 local objects.
>>>  From https://github.com/OpenSmalltalk/opensmalltalk-vm
>>>     1861db582..00de58438  Cog        -> origin/Cog
>>>   * [new tag]             202003021730 -> 202003021730
>>> Updating 1861db582..00de58438
>>> error: Your local changes to the following files would be overwritten by merge:
>>>
>>> I'm excited!
>>>
>>> Kindly,
>>> mumbles
>>>
>>> On 3/24/20 2:40 PM, David T. Lewis wrote:
>>>
>>>> Hi Cl??ment,
>>>>
>>>> Sista works fine on 64 bits :-)
>>>>
>>>> Eliot added the necessary image support to Squeak, based on your eariler
>>>> Pharo implementation. We switched Squeak trunk over to Sista in trunk
>>>> a few weeks ago, and have had no problems at all. All Squeak development
>>>> is proceeding with Sista as the default bytecode, and most of us are
>>>> on 64-bits.
>>>>
>>>> So thank you!
>>>> Dave
>>>>
>>>> On Tue, Mar 24, 2020 at 06:58:37PM +0100, Cl??ment B??ra wrote:
>>>>
>>>>> Hi Robert,
>>>>>
>>>>> I worked on sista and I don't think I have ever tried it on 64 bits. I run
>>>>> my experiments on x86. My expectation for 64 bits is that you have to write
>>>>> build files inspired from the 32 bits
>>>>> sista.spur and the 64 bits cog.spur files. Then you have to run it in the
>>>>> VM simulator and fix the various few problems you see (likely a few
>>>>> instructions are not implemented in the
>>>>> x64 back-end). Then you can build a system. It's not so much work.
>>>>>
>>>>> There was a released alpha version of Sista [1], which I used to run the
>>>>> benchmark of a research paper [2]. If you compile a VM with sources from
>>>>> that time (recent sources have difference
>>>>> that will break it), and follow the guidelines from the blog post [1], you
>>>>> should be able to reproduce the benchmark results from the paper.
>>>>>
>>>>> As I remember it, most benchmarks run without crashes at 1.5x and the
>>>>> development tools could be run for a while without crashes. Debugging and
>>>>> on-the-fly code changes in sista are
>>>>> only partially implemented (there's the potential to do it, but one has to
>>>>> implement it). I would say it is currently in a similar state as the
>>>>> strongtalk VM [3], while being compatible with
>>>>> Squeak and other Cog clients.
>>>>>
>>>>> I don't know what you mean by operational. If you're looking to experiment
>>>>> with it, tweak it to run some benchmarks, then you should be able to do it.
>>>>> If you're looking to deploy an application
>>>>> on a production VM, then significant work is left to do so (discuss
>>>>> directly with Eliot if that is the case).
>>>>>
>>>>> Have fun with the project :-)
>>>>>
>>>>> [1]
>>>>> https://clementbera.wordpress.com/2017/07/19/sista-open-alpha-release/
>>>>> [2]
>>>>> https://hal.inria.fr/hal-01596321/
>>>>> [3]
>>>>> http://strongtalk.org/
>>>>> On Mon, Mar 23, 2020 at 3:43 PM Robert
>>>>> [<[hidden email]>](mailto:[hidden email])
>>>>> wrote:
>>>>>
>>>>>> I understand that Sista is operational. I would like to try. How can I
>>>>>> build a Sista vm? I went to linux64x64/squeak.sista.spur and there is a
>>>>>> file there NotYetImplemented.
>>>>>>
>>>>>> I appreciate any guidance.
>>>>>>
>>>>>> --
>>>>>> Kindly,
>>>>>> Robert
>>>>> --
>>>>> Cl??ment B??ra
>>>>> https://clementbera.github.io/
>>>>>
>>>>> https://clementbera.wordpress.com/
>>> --
>>> Kindly,
>>> Robert
>> --
>> Kindly,
>> Robert

--
Kindly,
Robert


Reply | Threaded
Open this post in threaded view
|

Re: how can I build a sista spur 64 vm?

Eliot Miranda-2
In reply to this post by Robert Withers-2
 
Hi Robert, Hi Clément, Hi interested folks,


On Mar 24, 2020, at 11:28 AM, Robert <[hidden email]> wrote:



Bonjour Clément, quoi de neuf? Eliot?

This is all very interesting news. I am sad to hear that 64-bit will need to be built. Then I decide not to be sad, that it is an opportunity to build a good foundation. Therefore, I request of the vm-dev list, who is a part of the Sista Team? Lots of good work to be done. Let us get it on! PortPortPort.

I bring Eliot to the email to mention that yes indeed I would like to deploy ParrotTalk/Raven upon a Sista 64-bit vm. I believe the first step is to form a team of interested parties. I am willing to spend some time, though my focus is porting SSL, ATM.

Which way is which what?

I don’t think Sista is anywhere near production.  For me three major pieces of work need to be done:

a) porting it to Squeak; this is a personal requirement; I’m productive in Squeak and the simulator.  This is one half of that.

b) refactoring the system so it runs alongside the simulator. In Sista/Scorch the Scorch optimizer lives in the image, alongside applications, and above the VM.  The base Sista JIT inserts performance counters in conditional branches.  When these counters trip a send back into the image is generated, just like a doesNotUnderstand: or aboutToReturn:through:. In a production deployment the send-back invokes the Scorch optimizer, which analyzes the code around the counter send-back, optimizes, generates and installs a new optimized method into the relevant method dictionary, and continues execution.  The problem here is one of reliability.  If there are bugs in the Scorch optimizer, just as if there are bugs in the bytecode compiler, ones image can break.  The problem is much more challenging for Scorch since it Is a much more sophisticated compiler, and because it is invoked asynchronously, based on image activity.  It is however straight-forward to restructure things so that 
- the vm simulator delivers the send back not within the simulation but to an instance of Scorch living in the current image alongside the simulator,
- Scorch uses mirrors to access the class hierarchy, and a set of mirrors is writtten which access the simulated image, not the current image (of which Svorch would be none the wiser)
Now Scorch can be developed against the simulation, and hence not damage the current image; it can be profiled without affecting actual performance, and repeatability is much more easily achieved.

c) the JIT should be extended to do much better register allocation (this is work in progress)

So what I’m interested in is people good at compilers who find this interesting to join me in this work.  Taking this route should get us to a reliable Scorch/Sista more quickly than the develop-in-image approach Clément (& I) were taking previously.

Robert, please wait until we’ve made more progress.

_,,,^..^,,,_ (phone)

Kindly,
mumbles

On 3/24/20 1:58 PM, Clément Béra wrote:
Hi Robert,

I worked on sista and I don't think I have ever tried it on 64 bits. I run my experiments on x86. My expectation for 64 bits is that you have to write build files inspired from the 32 bits 
sista.spur and the 64 bits cog.spur files. Then you have to run it in the VM simulator and fix the various few problems you see (likely a few instructions are not implemented in the 
x64 back-end). Then you can build a system. It's not so much work.

There was a released alpha version of Sista [1], which I used to run the benchmark of a research paper [2]. If you compile a VM with sources from that time (recent sources have difference 
that will break it), and follow the guidelines from the blog post [1], you should be able to reproduce the benchmark results from the paper. 

As I remember it, most benchmarks run without crashes at 1.5x and the development tools could be run for a while without crashes. Debugging and on-the-fly code changes in sista are 
only partially implemented (there's the potential to do it, but one has to implement it). I would say it is currently in a similar state as the strongtalk VM [3], while being compatible with 
Squeak and other Cog clients. 

I don't know what you mean by operational. If you're looking to experiment with it, tweak it to run some benchmarks, then you should be able to do it. If you're looking to deploy an application 
on a production VM, then significant work is left to do so (discuss directly with Eliot if that is the case). 

Have fun with the project :-)

On Mon, Mar 23, 2020 at 3:43 PM Robert <[hidden email]> wrote:
 
I understand that Sista is operational. I would like to try. How can I
build a Sista vm? I went to linux64x64/squeak.sista.spur and there is a
file there NotYetImplemented.

I appreciate any guidance.

--
Kindly,
Robert




--
-- 
Kindly,
Robert
Reply | Threaded
Open this post in threaded view
|

Re: how can I build a sista spur 64 vm?

Eliot Miranda-2
In reply to this post by David T. Lewis
 
Hi David,


> On Mar 24, 2020, at 11:40 AM, David T. Lewis <[hidden email]> wrote:
>
> 
> Hi Cl??ment,
>
> Sista works fine on 64 bits :-)
>
> Eliot added the necessary image support to Squeak, based on your eariler
> Pharo implementation. We switched Squeak trunk over to Sista in trunk
> a few weeks ago, and have had no problems at all. All Squeak development
> is proceeding with Sista as the default bytecode, and most of us are
> on 64-bits.

Using the non-optimizing standard part of the bytecode set is one thing and a long way from having a functional Scorch adaptive optimizer editing the system behind the scenes.  Clément has this working in 32-bits in Pharo.  I want it working in both 32 and 64 bits in Squeak, and as I just explained I want it working in the simulator first.  Of course having the Sista bytecode art and full blocks as the default is good progress in the right direction toon, but there’s a ways to go yet.

>
> So thank you!
> Dave
>
>
>> On Tue, Mar 24, 2020 at 06:58:37PM +0100, Cl??ment B??ra wrote:
>>
>> Hi Robert,
>>
>> I worked on sista and I don't think I have ever tried it on 64 bits. I run
>> my experiments on x86. My expectation for 64 bits is that you have to write
>> build files inspired from the 32 bits
>> sista.spur and the 64 bits cog.spur files. Then you have to run it in the
>> VM simulator and fix the various few problems you see (likely a few
>> instructions are not implemented in the
>> x64 back-end). Then you can build a system. It's not so much work.
>>
>> There was a released alpha version of Sista [1], which I used to run the
>> benchmark of a research paper [2]. If you compile a VM with sources from
>> that time (recent sources have difference
>> that will break it), and follow the guidelines from the blog post [1], you
>> should be able to reproduce the benchmark results from the paper.
>>
>> As I remember it, most benchmarks run without crashes at 1.5x and the
>> development tools could be run for a while without crashes. Debugging and
>> on-the-fly code changes in sista are
>> only partially implemented (there's the potential to do it, but one has to
>> implement it). I would say it is currently in a similar state as the
>> strongtalk VM [3], while being compatible with
>> Squeak and other Cog clients.
>>
>> I don't know what you mean by operational. If you're looking to experiment
>> with it, tweak it to run some benchmarks, then you should be able to do it.
>> If you're looking to deploy an application
>> on a production VM, then significant work is left to do so (discuss
>> directly with Eliot if that is the case).
>>
>> Have fun with the project :-)
>>
>> [1] https://clementbera.wordpress.com/2017/07/19/sista-open-alpha-release/
>> [2] https://hal.inria.fr/hal-01596321/
>> [3] http://strongtalk.org/
>>
>>> On Mon, Mar 23, 2020 at 3:43 PM Robert <[hidden email]> wrote:
>>>
>>>
>>> I understand that Sista is operational. I would like to try. How can I
>>> build a Sista vm? I went to linux64x64/squeak.sista.spur and there is a
>>> file there NotYetImplemented.
>>>
>>> I appreciate any guidance.
>>>
>>> --
>>> Kindly,
>>> Robert
>>>
>>>
>>>
>>
>> --
>> Cl??ment B??ra
>> https://clementbera.github.io/
>> https://clementbera.wordpress.com/
>