[ANN] Squeak 5

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

[ANN] Squeak 5

Chris Muller-4
In the 17 months since Squeak 4.5 was released, a huge development
effort took place to create the next generation virtual-machine for
the Squeak / Pharo / Newspeak family of programming systems.  Squeak
is the modern incarnation of the Smalltalk-80 programming environment
originally developed at the Xerox PARC.

"Squeak 5" introduces this new VM and associated new memory model,
collectively referred to as "Spur".  Presented [1] by Eliot Miranda
and Clément Béra at the 2015 International Symposium on Memory
Management, this new VM affords Squeak applications a significant
boost in performance and memory management.  Among other
optimizations, the #become operation no longer requires a memory scan.
Object pinning and ephemerons are also now supported.  The release
notes [2] provide more details.

The new memory model requires a new image file format.  Although this
new format results in about a 15% increased memory requirement for the
same number of 4.x objects, a new segmented heap allows memory to be
given back to the OS when its no longer needed, a great benefit for
application servers.

As forward compatibility is as important to the Squeak community as
backward compatibility, Squeak 5 is delivers an image with identical
content as the recent 4.6 release.  Although this new Squeak 5 VM
cannot open images saved under the prior 4.x Cog format, objects and
code can be easily exported from the 4.x image and then imported into
Squeak 5.  Applications whose code runs strictly above the Smalltalk
meta layer will prove remarkably compatible with the new format, most
applications will require no changes whatsotever.

Squeak 5 is the result of monumental effort by a tiny group of very
talented people, but its also just the beginning of yet a new effort;
Spur is just a stepping stone to a more ambitious goals planned over
the next five years.

[1] -- A Partial Read Barrier for Efficient Support of Live
Object-oriented Programming
http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming

[2] -- Squeak 5 Release Notes
http://wiki.squeak.org/squeak/6207

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Squeak 5

Eliot Miranda-2
Hi All,

    who will update http://squeak.org/downloads/ to include the 5.0 release?

a) I suggest that the 5.0 all-in-one have a line in the left-hand table that includes the 4.6 release and that it precede the 4.6 release in the list.  

b) the Trunk link points to TrunkImage.zip which contains a non-Spur image.

c) Spur VMs need to be linked to by an added line in the Virtual Machines list.

d) Spur imagers need to be included in the Image and Changes list under Custom Installation

e) The SqueakV50.sources file also needs to be included in the Current Sources list.

f) we could start a History list for the 5.0 line

So there are a few things to fix before 5.0 is freely downloadable.

On Tue, Aug 11, 2015 at 8:23 PM, Chris Muller <[hidden email]> wrote:
In the 17 months since Squeak 4.5 was released, a huge development
effort took place to create the next generation virtual-machine for
the Squeak / Pharo / Newspeak family of programming systems.  Squeak
is the modern incarnation of the Smalltalk-80 programming environment
originally developed at the Xerox PARC.

"Squeak 5" introduces this new VM and associated new memory model,
collectively referred to as "Spur".  Presented [1] by Eliot Miranda
and Clément Béra at the 2015 International Symposium on Memory
Management, this new VM affords Squeak applications a significant
boost in performance and memory management.  Among other
optimizations, the #become operation no longer requires a memory scan.
Object pinning and ephemerons are also now supported.  The release
notes [2] provide more details.

The new memory model requires a new image file format.  Although this
new format results in about a 15% increased memory requirement for the
same number of 4.x objects, a new segmented heap allows memory to be
given back to the OS when its no longer needed, a great benefit for
application servers.

As forward compatibility is as important to the Squeak community as
backward compatibility, Squeak 5 is delivers an image with identical
content as the recent 4.6 release.  Although this new Squeak 5 VM
cannot open images saved under the prior 4.x Cog format, objects and
code can be easily exported from the 4.x image and then imported into
Squeak 5.  Applications whose code runs strictly above the Smalltalk
meta layer will prove remarkably compatible with the new format, most
applications will require no changes whatsotever.

Squeak 5 is the result of monumental effort by a tiny group of very
talented people, but its also just the beginning of yet a new effort;
Spur is just a stepping stone to a more ambitious goals planned over
the next five years.

[1] -- A Partial Read Barrier for Efficient Support of Live
Object-oriented Programming
http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming

[2] -- Squeak 5 Release Notes
http://wiki.squeak.org/squeak/6207




--
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

re: [ANN] Squeak 5

ccrraaiigg

Hi Eliot--

> who will update http://squeak.org/downloads/ to include the 5.0
> release?

     Fabio Niephaus at HPI made the most recent changes; I've asked him
about this.


     thanks again,

-C

--
Craig Latta
netjam.org
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Squeak 5

fniephaus
In reply to this post by Eliot Miranda-2
Hi Eliot,
Unfortunately, I'm having technical difficulties with my personal MacBook, but I will update the download section accordingly within the next few hours.

Best,
Fabio

On Wed 12 Aug 2015 at 04:51 Eliot Miranda <[hidden email]> wrote:
Hi All,

    who will update http://squeak.org/downloads/ to include the 5.0 release?

a) I suggest that the 5.0 all-in-one have a line in the left-hand table that includes the 4.6 release and that it precede the 4.6 release in the list.  

b) the Trunk link points to TrunkImage.zip which contains a non-Spur image.

c) Spur VMs need to be linked to by an added line in the Virtual Machines list.

d) Spur imagers need to be included in the Image and Changes list under Custom Installation

e) The SqueakV50.sources file also needs to be included in the Current Sources list.

f) we could start a History list for the 5.0 line

So there are a few things to fix before 5.0 is freely downloadable.

On Tue, Aug 11, 2015 at 8:23 PM, Chris Muller <[hidden email]> wrote:
In the 17 months since Squeak 4.5 was released, a huge development
effort took place to create the next generation virtual-machine for
the Squeak / Pharo / Newspeak family of programming systems.  Squeak
is the modern incarnation of the Smalltalk-80 programming environment
originally developed at the Xerox PARC.

"Squeak 5" introduces this new VM and associated new memory model,
collectively referred to as "Spur".  Presented [1] by Eliot Miranda
and Clément Béra at the 2015 International Symposium on Memory
Management, this new VM affords Squeak applications a significant
boost in performance and memory management.  Among other
optimizations, the #become operation no longer requires a memory scan.
Object pinning and ephemerons are also now supported.  The release
notes [2] provide more details.

The new memory model requires a new image file format.  Although this
new format results in about a 15% increased memory requirement for the
same number of 4.x objects, a new segmented heap allows memory to be
given back to the OS when its no longer needed, a great benefit for
application servers.

As forward compatibility is as important to the Squeak community as
backward compatibility, Squeak 5 is delivers an image with identical
content as the recent 4.6 release.  Although this new Squeak 5 VM
cannot open images saved under the prior 4.x Cog format, objects and
code can be easily exported from the 4.x image and then imported into
Squeak 5.  Applications whose code runs strictly above the Smalltalk
meta layer will prove remarkably compatible with the new format, most
applications will require no changes whatsotever.

Squeak 5 is the result of monumental effort by a tiny group of very
talented people, but its also just the beginning of yet a new effort;
Spur is just a stepping stone to a more ambitious goals planned over
the next five years.

[1] -- A Partial Read Barrier for Efficient Support of Live
Object-oriented Programming
http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming

[2] -- Squeak 5 Release Notes
http://wiki.squeak.org/squeak/6207




--
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Squeak 5

Casey Ransberger-2
In reply to this post by Chris Muller-4
I had some trouble parsing this message. For the most part, though, I get it.

--C

> On Aug 11, 2015, at 8:23 PM, Chris Muller <[hidden email]> wrote:
>
> In the 17 months since Squeak 4.5 was released, a huge development
> effort took place to create the next generation virtual-machine for
> the Squeak / Pharo / Newspeak family of programming systems.  Squeak
> is the modern incarnation of the Smalltalk-80 programming environment
> originally developed at the Xerox PARC.
>
> "Squeak 5" introduces this new VM and associated new memory model,
> collectively referred to as "Spur".  Presented [1] by Eliot Miranda
> and Clément Béra at the 2015 International Symposium on Memory
> Management, this new VM affords Squeak applications a significant
> boost in performance and memory management.  Among other
> optimizations, the #become operation no longer requires a memory scan.
> Object pinning and ephemerons are also now supported.  The release
> notes [2] provide more details.
>
> The new memory model requires a new image file format.  Although this
> new format results in about a 15% increased memory requirement for the
> same number of 4.x objects, a new segmented heap allows memory to be
> given back to the OS when its no longer needed, a great benefit for
> application servers.
>
> As forward compatibility is as important to the Squeak community as
> backward compatibility, Squeak 5 is delivers an image with identical
> content as the recent 4.6 release.  Although this new Squeak 5 VM
> cannot open images saved under the prior 4.x Cog format, objects and
> code can be easily exported from the 4.x image and then imported into
> Squeak 5.  Applications whose code runs strictly above the Smalltalk
> meta layer will prove remarkably compatible with the new format, most
> applications will require no changes whatsotever.
>
> Squeak 5 is the result of monumental effort by a tiny group of very
> talented people, but its also just the beginning of yet a new effort;
> Spur is just a stepping stone to a more ambitious goals planned over
> the next five years.
>
> [1] -- A Partial Read Barrier for Efficient Support of Live
> Object-oriented Programming
> http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming
>
> [2] -- Squeak 5 Release Notes
> http://wiki.squeak.org/squeak/6207
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Squeak 5

Ben Coman
In reply to this post by Chris Muller-4
On Wed, Aug 12, 2015 at 11:23 AM, Chris Muller <[hidden email]> wrote:

> In the 17 months since Squeak 4.5 was released, a huge development
> effort took place to create the next generation virtual-machine for
> the Squeak / Pharo / Newspeak family of programming systems.  Squeak
> is the modern incarnation of the Smalltalk-80 programming environment
> originally developed at the Xerox PARC.
>
> "Squeak 5" introduces this new VM and associated new memory model,
> collectively referred to as "Spur".  Presented [1] by Eliot Miranda
> and Clément Béra at the 2015 International Symposium on Memory
> Management, this new VM affords Squeak applications a significant
> boost in performance and memory management.  Among other
> optimizations, the #become operation no longer requires a memory scan.
> Object pinning and ephemerons are also now supported.  The release
> notes [2] provide more details.
>
> The new memory model requires a new image file format.  Although this
> new format results in about a 15% increased memory requirement for the
> same number of 4.x objects, a new segmented heap allows memory to be
> given back to the OS when its no longer needed, a great benefit for
> application servers.
>
> As forward compatibility is as important to the Squeak community as
> backward compatibility, Squeak 5 is delivers an image with identical
> content as the recent 4.6 release.  Although this new Squeak 5 VM
> cannot open images saved under the prior 4.x Cog format, objects and
> code can be easily exported from the 4.x image and then imported into
> Squeak 5.  Applications whose code runs strictly above the Smalltalk
> meta layer will prove remarkably compatible with the new format, most
> applications will require no changes whatsotever.
>
> Squeak 5 is the result of monumental effort by a tiny group of very
> talented people, but its also just the beginning of yet a new effort;
> Spur is just a stepping stone to a more ambitious goals planned over
> the next five years.

> [1] -- A Partial Read Barrier for Efficient Support of Live
> Object-oriented Programming
> http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming
> [2] -- Squeak 5 Release Notes
> http://wiki.squeak.org/squeak/6207

Congratulation guys.
Love figure 4 in the paper. Sub millisecond pause for garbage
collection of GB size images.
cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Squeak 5

Eliot Miranda-2
Hi Ben,

On Wed, Aug 12, 2015 at 8:46 AM, Ben Coman <[hidden email]> wrote:
On Wed, Aug 12, 2015 at 11:23 AM, Chris Muller <[hidden email]> wrote:
> In the 17 months since Squeak 4.5 was released, a huge development
> effort took place to create the next generation virtual-machine for
> the Squeak / Pharo / Newspeak family of programming systems.  Squeak
> is the modern incarnation of the Smalltalk-80 programming environment
> originally developed at the Xerox PARC.
>
> "Squeak 5" introduces this new VM and associated new memory model,
> collectively referred to as "Spur".  Presented [1] by Eliot Miranda
> and Clément Béra at the 2015 International Symposium on Memory
> Management, this new VM affords Squeak applications a significant
> boost in performance and memory management.  Among other
> optimizations, the #become operation no longer requires a memory scan.
> Object pinning and ephemerons are also now supported.  The release
> notes [2] provide more details.
>
> The new memory model requires a new image file format.  Although this
> new format results in about a 15% increased memory requirement for the
> same number of 4.x objects, a new segmented heap allows memory to be
> given back to the OS when its no longer needed, a great benefit for
> application servers.
>
> As forward compatibility is as important to the Squeak community as
> backward compatibility, Squeak 5 is delivers an image with identical
> content as the recent 4.6 release.  Although this new Squeak 5 VM
> cannot open images saved under the prior 4.x Cog format, objects and
> code can be easily exported from the 4.x image and then imported into
> Squeak 5.  Applications whose code runs strictly above the Smalltalk
> meta layer will prove remarkably compatible with the new format, most
> applications will require no changes whatsotever.
>
> Squeak 5 is the result of monumental effort by a tiny group of very
> talented people, but its also just the beginning of yet a new effort;
> Spur is just a stepping stone to a more ambitious goals planned over
> the next five years.

> [1] -- A Partial Read Barrier for Efficient Support of Live
> Object-oriented Programming
> http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming
> [2] -- Squeak 5 Release Notes
> http://wiki.squeak.org/squeak/6207

Congratulation guys.
Love figure 4 in the paper. Sub millisecond pause for garbage
collection of GB size images.

Not on your life!  :-).  What we achieve is sub-millisecond pauses for become: in GB sized heaps.  But the point of Spur is that it *doesn't* do the compaction phase of a GC to implement become:, unlike  the standard VM.  We do achieve millisecond pause times for scavenging (collecting the young generation) in large heaps, but that's no great shakes.  However, we do have plans to incrementalize global mark-sweep GC, and then the time taken will be amortized into pauses that should indeed be of the order of a millisecond.

cheers -ben
 
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Squeak 5

Ben Coman
On Thu, Aug 13, 2015 at 12:30 AM, Eliot Miranda <[hidden email]> wrote:

> Hi Ben,
>
> On Wed, Aug 12, 2015 at 8:46 AM, Ben Coman <[hidden email]> wrote:
>>
>> On Wed, Aug 12, 2015 at 11:23 AM, Chris Muller <[hidden email]>
>> wrote:
>> > In the 17 months since Squeak 4.5 was released, a huge development
>> > effort took place to create the next generation virtual-machine for
>> > the Squeak / Pharo / Newspeak family of programming systems.  Squeak
>> > is the modern incarnation of the Smalltalk-80 programming environment
>> > originally developed at the Xerox PARC.
>> >
>> > "Squeak 5" introduces this new VM and associated new memory model,
>> > collectively referred to as "Spur".  Presented [1] by Eliot Miranda
>> > and Clément Béra at the 2015 International Symposium on Memory
>> > Management, this new VM affords Squeak applications a significant
>> > boost in performance and memory management.  Among other
>> > optimizations, the #become operation no longer requires a memory scan.
>> > Object pinning and ephemerons are also now supported.  The release
>> > notes [2] provide more details.
>> >
>> > The new memory model requires a new image file format.  Although this
>> > new format results in about a 15% increased memory requirement for the
>> > same number of 4.x objects, a new segmented heap allows memory to be
>> > given back to the OS when its no longer needed, a great benefit for
>> > application servers.
>> >
>> > As forward compatibility is as important to the Squeak community as
>> > backward compatibility, Squeak 5 is delivers an image with identical
>> > content as the recent 4.6 release.  Although this new Squeak 5 VM
>> > cannot open images saved under the prior 4.x Cog format, objects and
>> > code can be easily exported from the 4.x image and then imported into
>> > Squeak 5.  Applications whose code runs strictly above the Smalltalk
>> > meta layer will prove remarkably compatible with the new format, most
>> > applications will require no changes whatsotever.
>> >
>> > Squeak 5 is the result of monumental effort by a tiny group of very
>> > talented people, but its also just the beginning of yet a new effort;
>> > Spur is just a stepping stone to a more ambitious goals planned over
>> > the next five years.
>>
>> > [1] -- A Partial Read Barrier for Efficient Support of Live
>> > Object-oriented Programming
>> >
>> > http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming
>> > [2] -- Squeak 5 Release Notes
>> > http://wiki.squeak.org/squeak/6207
>>
>> Congratulation guys.
>> Love figure 4 in the paper. Sub millisecond pause for garbage
>> collection of GB size images.
>
>
> Not on your life!  :-).  What we achieve is sub-millisecond pauses for
> become: in GB sized heaps.  But the point of Spur is that it *doesn't* do
> the compaction phase of a GC to implement become:, unlike  the standard VM.
> We do achieve millisecond pause times for scavenging (collecting the young
> generation) in large heaps, but that's no great shakes.  However, we do have
> plans to incrementalize global mark-sweep GC, and then the time taken will
> be amortized into pauses that should indeed be of the order of a
> millisecond.
>
>> cheers -ben
>
>
> _,,,^..^,,,_
> best, Eliot
>
>
>

Ahh, got it. I misread. Thanks for the correction.
cheers -ben

Reply | Threaded
Open this post in threaded view
|

A question about #become: (was: Re: [squeak-dev] [ANN] Squeak 5)

Levente Uzonyi-2
In reply to this post by Eliot Miranda-2
I wonder if you're creating two forwarders in case of #become:, with
objects of different size, or just one forwarder for the larger object
while copying the smaller object over the larger one (when possible).

Levente

On Tue, 11 Aug 2015, Eliot Miranda wrote:

> Hi All,
>     who will update http://squeak.org/downloads/ to include the 5.0 release?
>
> a) I suggest that the 5.0 all-in-one have a line in the left-hand table that includes the 4.6 release and that it precede the 4.6 release in the
> list.  
>
> b) the Trunk link points to TrunkImage.zip which contains a non-Spur image.
>
> c) Spur VMs need to be linked to by an added line in the Virtual Machines list.
>
> d) Spur imagers need to be included in the Image and Changes list under Custom Installation
>
> e) The SqueakV50.sources file also needs to be included in the Current Sources list.
>
> f) we could start a History list for the 5.0 line
>
> So there are a few things to fix before 5.0 is freely downloadable.
>
> On Tue, Aug 11, 2015 at 8:23 PM, Chris Muller <[hidden email]> wrote:
>       In the 17 months since Squeak 4.5 was released, a huge development
>       effort took place to create the next generation virtual-machine for
>       the Squeak / Pharo / Newspeak family of programming systems.  Squeak
>       is the modern incarnation of the Smalltalk-80 programming environment
>       originally developed at the Xerox PARC.
>
>       "Squeak 5" introduces this new VM and associated new memory model,
>       collectively referred to as "Spur".  Presented [1] by Eliot Miranda
>       and Clément Béra at the 2015 International Symposium on Memory
>       Management, this new VM affords Squeak applications a significant
>       boost in performance and memory management.  Among other
>       optimizations, the #become operation no longer requires a memory scan.
>       Object pinning and ephemerons are also now supported.  The release
>       notes [2] provide more details.
>
>       The new memory model requires a new image file format.  Although this
>       new format results in about a 15% increased memory requirement for the
>       same number of 4.x objects, a new segmented heap allows memory to be
>       given back to the OS when its no longer needed, a great benefit for
>       application servers.
>
>       As forward compatibility is as important to the Squeak community as
>       backward compatibility, Squeak 5 is delivers an image with identical
>       content as the recent 4.6 release.  Although this new Squeak 5 VM
>       cannot open images saved under the prior 4.x Cog format, objects and
>       code can be easily exported from the 4.x image and then imported into
>       Squeak 5.  Applications whose code runs strictly above the Smalltalk
>       meta layer will prove remarkably compatible with the new format, most
>       applications will require no changes whatsotever.
>
>       Squeak 5 is the result of monumental effort by a tiny group of very
>       talented people, but its also just the beginning of yet a new effort;
>       Spur is just a stepping stone to a more ambitious goals planned over
>       the next five years.
>
>       [1] -- A Partial Read Barrier for Efficient Support of Live
>       Object-oriented Programming
>       http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming
>
>       [2] -- Squeak 5 Release Notes
>       http://wiki.squeak.org/squeak/6207
>
>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>
>

Reply | Threaded
Open this post in threaded view
|

Re: A question about #become: (was: Re: [squeak-dev] [ANN] Squeak 5)

Eliot Miranda-2


On Wed, Aug 12, 2015 at 11:09 AM, Levente Uzonyi <[hidden email]> wrote:
I wonder if you're creating two forwarders in case of #become:, with objects of different size, or just one forwarder for the larger object while copying the smaller object over the larger one (when possible).

Right now it's the simplest thing that could possibly work.  I think this is a great idea though.  It would potentially eliminate the post-become stack scan if all objects can be becomed either by exchanging contents or (in one-way) shortening.  Alas I don't have time for this right now.  Any volunteers interested?

Levente

On Tue, 11 Aug 2015, Eliot Miranda wrote:

Hi All,
    who will update http://squeak.org/downloads/ to include the 5.0 release?

a) I suggest that the 5.0 all-in-one have a line in the left-hand table that includes the 4.6 release and that it precede the 4.6 release in the
list.  

b) the Trunk link points to TrunkImage.zip which contains a non-Spur image.

c) Spur VMs need to be linked to by an added line in the Virtual Machines list.

d) Spur imagers need to be included in the Image and Changes list under Custom Installation

e) The SqueakV50.sources file also needs to be included in the Current Sources list.

f) we could start a History list for the 5.0 line

So there are a few things to fix before 5.0 is freely downloadable.

On Tue, Aug 11, 2015 at 8:23 PM, Chris Muller <[hidden email]> wrote:
      In the 17 months since Squeak 4.5 was released, a huge development
      effort took place to create the next generation virtual-machine for
      the Squeak / Pharo / Newspeak family of programming systems.  Squeak
      is the modern incarnation of the Smalltalk-80 programming environment
      originally developed at the Xerox PARC.

      "Squeak 5" introduces this new VM and associated new memory model,
      collectively referred to as "Spur".  Presented [1] by Eliot Miranda
      and Clément Béra at the 2015 International Symposium on Memory
      Management, this new VM affords Squeak applications a significant
      boost in performance and memory management.  Among other
      optimizations, the #become operation no longer requires a memory scan.
      Object pinning and ephemerons are also now supported.  The release
      notes [2] provide more details.

      The new memory model requires a new image file format.  Although this
      new format results in about a 15% increased memory requirement for the
      same number of 4.x objects, a new segmented heap allows memory to be
      given back to the OS when its no longer needed, a great benefit for
      application servers.

      As forward compatibility is as important to the Squeak community as
      backward compatibility, Squeak 5 is delivers an image with identical
      content as the recent 4.6 release.  Although this new Squeak 5 VM
      cannot open images saved under the prior 4.x Cog format, objects and
      code can be easily exported from the 4.x image and then imported into
      Squeak 5.  Applications whose code runs strictly above the Smalltalk
      meta layer will prove remarkably compatible with the new format, most
      applications will require no changes whatsotever.

      Squeak 5 is the result of monumental effort by a tiny group of very
      talented people, but its also just the beginning of yet a new effort;
      Spur is just a stepping stone to a more ambitious goals planned over
      the next five years.

      [1] -- A Partial Read Barrier for Efficient Support of Live
      Object-oriented Programming
      http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming

      [2] -- Squeak 5 Release Notes
      http://wiki.squeak.org/squeak/6207




--
_,,,^..^,,,_
best, Eliot







--
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Squeak 5

Eliot Miranda-2
In reply to this post by Eliot Miranda-2
Hi All,


    Fabio's kindly done most of the changes.  But some questions remain for more general discussion.  See below.

Fabio,  thanks so much for doing this, and so quickly!

On Tue, Aug 11, 2015 at 8:51 PM, Eliot Miranda <[hidden email]> wrote:
Hi All,

    who will update http://squeak.org/downloads/ to include the 5.0 release?

a) I suggest that the 5.0 all-in-one have a line in the left-hand table that includes the 4.6 release and that it precede the 4.6 release in the list.  

Done.
 

b) the Trunk link points to TrunkImage.zip which contains a non-Spur image.

So this is the biggie.  What should we do?

- add a Trunk 5.0 build with a different link?  (Noooooo)

- change  http://build.squeak.org/job/SqueakTrunk to build what it says (Yessss please, who can do this?)

- add a Squeak 4.6 build job?  Is that even worth it any more considering 4.6 is released and stable?  If it is then what should it build?  David?


c) Spur VMs need to be linked to by an added line in the Virtual Machines list.

Not applicable.  the VM links point to the root of my site so they effectively point to both old and Spur VMs.
 

d) Spur imagers need to be included in the Image and Changes list under Custom Installation

Done.

 

e) The SqueakV50.sources file also needs to be included in the Current Sources list.

Done.

 
f) we could start a History list for the 5.0 line

This is probably quite a big reorg on the page and not urgent.
 

So there are a few things to fix before 5.0 is freely downloadable.

On Tue, Aug 11, 2015 at 8:23 PM, Chris Muller <[hidden email]> wrote:
In the 17 months since Squeak 4.5 was released, a huge development
effort took place to create the next generation virtual-machine for
the Squeak / Pharo / Newspeak family of programming systems.  Squeak
is the modern incarnation of the Smalltalk-80 programming environment
originally developed at the Xerox PARC.

"Squeak 5" introduces this new VM and associated new memory model,
collectively referred to as "Spur".  Presented [1] by Eliot Miranda
and Clément Béra at the 2015 International Symposium on Memory
Management, this new VM affords Squeak applications a significant
boost in performance and memory management.  Among other
optimizations, the #become operation no longer requires a memory scan.
Object pinning and ephemerons are also now supported.  The release
notes [2] provide more details.

The new memory model requires a new image file format.  Although this
new format results in about a 15% increased memory requirement for the
same number of 4.x objects, a new segmented heap allows memory to be
given back to the OS when its no longer needed, a great benefit for
application servers.

As forward compatibility is as important to the Squeak community as
backward compatibility, Squeak 5 is delivers an image with identical
content as the recent 4.6 release.  Although this new Squeak 5 VM
cannot open images saved under the prior 4.x Cog format, objects and
code can be easily exported from the 4.x image and then imported into
Squeak 5.  Applications whose code runs strictly above the Smalltalk
meta layer will prove remarkably compatible with the new format, most
applications will require no changes whatsotever.

Squeak 5 is the result of monumental effort by a tiny group of very
talented people, but its also just the beginning of yet a new effort;
Spur is just a stepping stone to a more ambitious goals planned over
the next five years.

[1] -- A Partial Read Barrier for Efficient Support of Live
Object-oriented Programming
http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming

[2] -- Squeak 5 Release Notes
http://wiki.squeak.org/squeak/6207




--
_,,,^..^,,,_
best, Eliot



--
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: A question about #become: (was: Re: [squeak-dev] [ANN] Squeak 5)

timrowledge
In reply to this post by Eliot Miranda-2

On 12-08-2015, at 11:20 AM, Eliot Miranda <[hidden email]> wrote:

>
>
> On Wed, Aug 12, 2015 at 11:09 AM, Levente Uzonyi <[hidden email]> wrote:
> I wonder if you're creating two forwarders in case of #become:, with objects of different size, or just one forwarder for the larger object while copying the smaller object over the larger one (when possible).
>
> Right now it's the simplest thing that could possibly work.  I think this is a great idea though.  It would potentially eliminate the post-become stack scan if all objects can be becomed either by exchanging contents or (in one-way) shortening.  Alas I don't have time for this right now.  Any volunteers interested?

Huh; I thought you had done that ages ago. I recall suggesting it really early in your spur work and could have sworn you did it right then.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Futuristic: It will only run on a next generation supercomputer.



Reply | Threaded
Open this post in threaded view
|

Re: A question about #become: (was: Re: [squeak-dev] [ANN] Squeak 5)

Eliot Miranda-2


On Wed, Aug 12, 2015 at 11:57 AM, tim Rowledge <[hidden email]> wrote:

On 12-08-2015, at 11:20 AM, Eliot Miranda <[hidden email]> wrote:

>
>
> On Wed, Aug 12, 2015 at 11:09 AM, Levente Uzonyi <[hidden email]> wrote:
> I wonder if you're creating two forwarders in case of #become:, with objects of different size, or just one forwarder for the larger object while copying the smaller object over the larger one (when possible).
>
> Right now it's the simplest thing that could possibly work.  I think this is a great idea though.  It would potentially eliminate the post-become stack scan if all objects can be becomed either by exchanging contents or (in one-way) shortening.  Alas I don't have time for this right now.  Any volunteers interested?

Huh; I thought you had done that ages ago. I recall suggesting it really early in your spur work and could have sworn you did it right then.

I think I did exchange of contents when the objects are of the same size, at your prompting, but I definitely know I /didn't/ do shortening in one-way as per Levente's suggestion.

_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: A question about #become: (was: Re: [squeak-dev] [ANN] Squeak 5)

Eliot Miranda-2


On Wed, Aug 12, 2015 at 11:58 AM, Eliot Miranda <[hidden email]> wrote:


On Wed, Aug 12, 2015 at 11:57 AM, tim Rowledge <[hidden email]> wrote:

On 12-08-2015, at 11:20 AM, Eliot Miranda <[hidden email]> wrote:

>
>
> On Wed, Aug 12, 2015 at 11:09 AM, Levente Uzonyi <[hidden email]> wrote:
> I wonder if you're creating two forwarders in case of #become:, with objects of different size, or just one forwarder for the larger object while copying the smaller object over the larger one (when possible).
>
> Right now it's the simplest thing that could possibly work.  I think this is a great idea though.  It would potentially eliminate the post-become stack scan if all objects can be becomed either by exchanging contents or (in one-way) shortening.  Alas I don't have time for this right now.  Any volunteers interested?

Huh; I thought you had done that ages ago. I recall suggesting it really early in your spur work and could have sworn you did it right then.

I think I did exchange of contents when the objects are of the same size, at your prompting, but I definitely know I /didn't/ do shortening in one-way as per Levente's suggestion.

_,,,^..^,,,_
 
Note that there are a fair few potential cases to cover here.  An object may be the last object in eden, or the survivor spaces and may have room beyond it to lengthen it, so it could become a larger object by stretching and copying.  It may be in old space and followed by a free object and so again be amenable to stretching.  I suggest that someone collect data on how often shrinking and/or stretching is an option before expending effort here.

_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: A question about #become: (was: Re: [squeak-dev] [ANN] Squeak 5)

timrowledge
In reply to this post by Eliot Miranda-2

On 12-08-2015, at 11:58 AM, Eliot Miranda <[hidden email]> wrote:
> I think I did exchange of contents when the objects are of the same size, at your prompting, but I definitely know I /didn't/ do shortening in one-way as per Levente's suggestion.

D’oh! It’s such an obvious optimisation. And to really make it funny, I’m fairly sure you originally suggested it to *me* a gazillion years ago.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Liability: a valuable political skill



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Squeak 5

Tobias Pape
In reply to this post by Eliot Miranda-2

On 12.08.2015, at 20:55, Eliot Miranda <[hidden email]> wrote:

> Hi All,
>
>
>     Fabio's kindly done most of the changes.  But some questions remain for more general discussion.  See below.
>
> Fabio,  thanks so much for doing this, and so quickly!
>
> On Tue, Aug 11, 2015 at 8:51 PM, Eliot Miranda <[hidden email]> wrote:
> Hi All,
>
>     who will update http://squeak.org/downloads/ to include the 5.0 release?
>
> a) I suggest that the 5.0 all-in-one have a line in the left-hand table that includes the 4.6 release and that it precede the 4.6 release in the list.  
>
> Done.
>  
>
> b) the Trunk link points to TrunkImage.zip which contains a non-Spur image.
>
> So this is the biggie.  What should we do?
>
> - add a Trunk 5.0 build with a different link?  (Noooooo)
>
> - change  http://build.squeak.org/job/SqueakTrunk to build what it says (Yessss please, who can do this?)

Done: build.squeak.org/job/Trunk/
But as I said several times, Spur/trunk test just crash for month…


>
> - add a Squeak 4.6 build job?  Is that even worth it any more considering 4.6 is released and stable?  If it is then what should it build?  David?
>
>
> c) Spur VMs need to be linked to by an added line in the Virtual Machines list.
>
> Not applicable.  the VM links point to the root of my site so they effectively point to both old and Spur VMs.
>  
>
> d) Spur imagers need to be included in the Image and Changes list under Custom Installation
>
> Done.
>
>  
>
> e) The SqueakV50.sources file also needs to be included in the Current Sources list.
>
> Done.
>
>  
> f) we could start a History list for the 5.0 line
>
> This is probably quite a big reorg on the page and not urgent.
>  
>
> So there are a few things to fix before 5.0 is freely downloadable.
>
> On Tue, Aug 11, 2015 at 8:23 PM, Chris Muller <[hidden email]> wrote:
> In the 17 months since Squeak 4.5 was released, a huge development
> effort took place to create the next generation virtual-machine for
> the Squeak / Pharo / Newspeak family of programming systems.  Squeak
> is the modern incarnation of the Smalltalk-80 programming environment
> originally developed at the Xerox PARC.
>
> "Squeak 5" introduces this new VM and associated new memory model,
> collectively referred to as "Spur".  Presented [1] by Eliot Miranda
> and Clément Béra at the 2015 International Symposium on Memory
> Management, this new VM affords Squeak applications a significant
> boost in performance and memory management.  Among other
> optimizations, the #become operation no longer requires a memory scan.
> Object pinning and ephemerons are also now supported.  The release
> notes [2] provide more details.
>
> The new memory model requires a new image file format.  Although this
> new format results in about a 15% increased memory requirement for the
> same number of 4.x objects, a new segmented heap allows memory to be
> given back to the OS when its no longer needed, a great benefit for
> application servers.
>
> As forward compatibility is as important to the Squeak community as
> backward compatibility, Squeak 5 is delivers an image with identical
> content as the recent 4.6 release.  Although this new Squeak 5 VM
> cannot open images saved under the prior 4.x Cog format, objects and
> code can be easily exported from the 4.x image and then imported into
> Squeak 5.  Applications whose code runs strictly above the Smalltalk
> meta layer will prove remarkably compatible with the new format, most
> applications will require no changes whatsotever.
>
> Squeak 5 is the result of monumental effort by a tiny group of very
> talented people, but its also just the beginning of yet a new effort;
> Spur is just a stepping stone to a more ambitious goals planned over
> the next five years.
>
> [1] -- A Partial Read Barrier for Efficient Support of Live
> Object-oriented Programming
> http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming
>
> [2] -- Squeak 5 Release Notes
> http://wiki.squeak.org/squeak/6207




Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Squeak 5

David T. Lewis
In reply to this post by Eliot Miranda-2
> Hi All,
>
>
>     Fabio's kindly done most of the changes.  But some questions remain
> for
> more general discussion.  See below.
>
> Fabio,  thanks so much for doing this, and so quickly!
>
> On Tue, Aug 11, 2015 at 8:51 PM, Eliot Miranda <[hidden email]>
> wrote:
>
>> Hi All,
>>
>>     who will update http://squeak.org/downloads/ to include the 5.0
>> release?
>>
>> a) I suggest that the 5.0 all-in-one have a line in the left-hand table
>> that includes the 4.6 release and that it precede the 4.6 release in the
>> list.
>>
>
> Done.
>
>
>>
>> b) the Trunk link points to TrunkImage.zip which contains a non-Spur
>> image.
>>
>
> So this is the biggie.  What should we do?
>
> - add a Trunk 5.0 build with a different link?  (Noooooo)
>
> - change  http://build.squeak.org/job/SqueakTrunk to build what it says
> (Yessss please, who can do this?)
>
> - add a Squeak 4.6 build job?  Is that even worth it any more considering
> 4.6 is released and stable?  If it is then what should it build?  David?

I think that if we have a job called "SqueakTrunk" then it should be
building the actual current trunk image, which is a 5.0 Spur image.

Ideally I would suggest renaming the current "SqueakTrunk" job to
something like "SqueakTrunk_Old". Leave it disabled until it gets fixed,
and if it does not get fixed in a reasonable time (say a month or two)
then delete it. Meanwhile get new new job up and running for the real
SqueakTrunk builds.

I do not know how that Jenkins job is maintained (it's done in a Ruby make
system, which is over my head), so treat this just as an opinion.

Dave

>
>
>> c) Spur VMs need to be linked to by an added line in the Virtual
>> Machines
>> list.
>>
>
> Not applicable.  the VM links point to the root of my site so they
> effectively point to both old and Spur VMs.
>
>
>>
>> d) Spur imagers need to be included in the Image and Changes list under
>> Custom Installation
>>
>
> Done.
>
>
>
>>
>> e) The SqueakV50.sources file also needs to be included in the Current
>> Sources list.
>>
>
> Done.
>
>
>
>> f) we could start a History list for the 5.0 line
>>
>
> This is probably quite a big reorg on the page and not urgent.
>
>
>>
>> So there are a few things to fix before 5.0 is freely downloadable.
>>
>> On Tue, Aug 11, 2015 at 8:23 PM, Chris Muller <[hidden email]>
>> wrote:
>>
>>> In the 17 months since Squeak 4.5 was released, a huge development
>>> effort took place to create the next generation virtual-machine for
>>> the Squeak / Pharo / Newspeak family of programming systems.  Squeak
>>> is the modern incarnation of the Smalltalk-80 programming environment
>>> originally developed at the Xerox PARC.
>>>
>>> "Squeak 5" introduces this new VM and associated new memory model,
>>> collectively referred to as "Spur".  Presented [1] by Eliot Miranda
>>> and Clément Béra at the 2015 International Symposium on Memory
>>> Management, this new VM affords Squeak applications a significant
>>> boost in performance and memory management.  Among other
>>> optimizations, the #become operation no longer requires a memory scan.
>>> Object pinning and ephemerons are also now supported.  The release
>>> notes [2] provide more details.
>>>
>>> The new memory model requires a new image file format.  Although this
>>> new format results in about a 15% increased memory requirement for the
>>> same number of 4.x objects, a new segmented heap allows memory to be
>>> given back to the OS when its no longer needed, a great benefit for
>>> application servers.
>>>
>>> As forward compatibility is as important to the Squeak community as
>>> backward compatibility, Squeak 5 is delivers an image with identical
>>> content as the recent 4.6 release.  Although this new Squeak 5 VM
>>> cannot open images saved under the prior 4.x Cog format, objects and
>>> code can be easily exported from the 4.x image and then imported into
>>> Squeak 5.  Applications whose code runs strictly above the Smalltalk
>>> meta layer will prove remarkably compatible with the new format, most
>>> applications will require no changes whatsotever.
>>>
>>> Squeak 5 is the result of monumental effort by a tiny group of very
>>> talented people, but its also just the beginning of yet a new effort;
>>> Spur is just a stepping stone to a more ambitious goals planned over
>>> the next five years.
>>>
>>> [1] -- A Partial Read Barrier for Efficient Support of Live
>>> Object-oriented Programming
>>>
>>> http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming
>>>
>>> [2] -- Squeak 5 Release Notes
>>> http://wiki.squeak.org/squeak/6207
>>>
>>>
>>
>>
>> --
>> _,,,^..^,,,_
>> best, Eliot
>>
>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>
>



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Squeak 5

Stephan Eggermont-3
In reply to this post by Chris Muller-4
On 12/08/15 05:23, Chris Muller wrote:

> [1] -- A Partial Read Barrier for Efficient Support of Live
> Object-oriented Programming
> http://conf.researchr.org/event/ismm-2015/ismm-2015-papers-a-partial-read-barrier-for-efficient-support-of-live-object-oriented-programming

For the paywall-free version:
https://hal.inria.fr/hal-01152610

Stephan



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Squeak 5

Ben Coman
In reply to this post by David T. Lewis
On Thu, Aug 13, 2015 at 4:15 AM, David T. Lewis <[hidden email]> wrote:

>> Hi All,
>>
>>
>>     Fabio's kindly done most of the changes.  But some questions remain
>> for
>> more general discussion.  See below.
>>
>> Fabio,  thanks so much for doing this, and so quickly!
>>
>> On Tue, Aug 11, 2015 at 8:51 PM, Eliot Miranda <[hidden email]>
>> wrote:
>>
>>> Hi All,
>>>
>>>     who will update http://squeak.org/downloads/ to include the 5.0
>>> release?
>>>
>>> a) I suggest that the 5.0 all-in-one have a line in the left-hand table
>>> that includes the 4.6 release and that it precede the 4.6 release in the
>>> list.
>>>
>>
>> Done.
>>
>>
>>>
>>> b) the Trunk link points to TrunkImage.zip which contains a non-Spur
>>> image.
>>>
>>
>> So this is the biggie.  What should we do?
>>
>> - add a Trunk 5.0 build with a different link?  (Noooooo)
>>
>> - change  http://build.squeak.org/job/SqueakTrunk to build what it says
>> (Yessss please, who can do this?)
>>
>> - add a Squeak 4.6 build job?  Is that even worth it any more considering
>> 4.6 is released and stable?  If it is then what should it build?  David?
>
> I think that if we have a job called "SqueakTrunk" then it should be
> building the actual current trunk image, which is a 5.0 Spur image.
>
> Ideally I would suggest renaming the current "SqueakTrunk" job to
> something like "SqueakTrunk_Old".


"Old" things sometimes get mistreated (e.g. accidental deletion,
confused with other "old" things over years.)
How about something topical like SqueakTrunk_V3Legacy?
cheers -ben


> Leave it disabled until it gets fixed,
> and if it does not get fixed in a reasonable time (say a month or two)
> then delete it. Meanwhile get new new job up and running for the real
> SqueakTrunk builds.
>
> I do not know how that Jenkins job is maintained (it's done in a Ruby make
> system, which is over my head), so treat this just as an opinion.
>
> Dave

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Squeak 5

Eliot Miranda-2


On Wed, Aug 12, 2015 at 4:50 PM, Ben Coman <[hidden email]> wrote:
On Thu, Aug 13, 2015 at 4:15 AM, David T. Lewis <[hidden email]> wrote:
>> Hi All,
>>
>>
>>     Fabio's kindly done most of the changes.  But some questions remain
>> for
>> more general discussion.  See below.
>>
>> Fabio,  thanks so much for doing this, and so quickly!
>>
>> On Tue, Aug 11, 2015 at 8:51 PM, Eliot Miranda <[hidden email]>
>> wrote:
>>
>>> Hi All,
>>>
>>>     who will update http://squeak.org/downloads/ to include the 5.0
>>> release?
>>>
>>> a) I suggest that the 5.0 all-in-one have a line in the left-hand table
>>> that includes the 4.6 release and that it precede the 4.6 release in the
>>> list.
>>>
>>
>> Done.
>>
>>
>>>
>>> b) the Trunk link points to TrunkImage.zip which contains a non-Spur
>>> image.
>>>
>>
>> So this is the biggie.  What should we do?
>>
>> - add a Trunk 5.0 build with a different link?  (Noooooo)
>>
>> - change  http://build.squeak.org/job/SqueakTrunk to build what it says
>> (Yessss please, who can do this?)
>>
>> - add a Squeak 4.6 build job?  Is that even worth it any more considering
>> 4.6 is released and stable?  If it is then what should it build?  David?
>
> I think that if we have a job called "SqueakTrunk" then it should be
> building the actual current trunk image, which is a 5.0 Spur image.
>
> Ideally I would suggest renaming the current "SqueakTrunk" job to
> something like "SqueakTrunk_Old".


"Old" things sometimes get mistreated (e.g. accidental deletion,
confused with other "old" things over years.)
How about something topical like SqueakTrunk_V3Legacy?
cheers -ben

+1

Or SqueakTrunkV46?
 


> Leave it disabled until it gets fixed,
> and if it does not get fixed in a reasonable time (say a month or two)
> then delete it. Meanwhile get new new job up and running for the real
> SqueakTrunk builds.
>
> I do not know how that Jenkins job is maintained (it's done in a Ruby make
> system, which is over my head), so treat this just as an opinion.
>
> Dave




--
_,,,^..^,,,_
best, Eliot


12