On 21 September 2013 15:41, commits@source.squeak.org wrote:
Eliot Miranda uploaded a new version of Cog to project VM Maker: http://source.squeak.org/VMMaker/Cog-eem.98.mcz
==================== Summary ====================
Name: Cog-eem.98 Author: eem Time: 21 September 2013, 7:41:44.069 am UUID: 8027e935-f7b0-417a-be44-954c5765582d Ancestors: Cog-eem.97
fix a couple of comments
=============== Diff against Cog-eem.97 ===============
Item was changed: ----- Method: SpurBootstrap class>>SmalltalkImagePROTOTYPEsetGCParameters (in category 'method prototypes') ----- SmalltalkImagePROTOTYPEsetGCParameters "Adjust the VM's default GC parameters to avoid too much tenuring. Maybe this should be left to the VM?"
| proportion edenSize survivorSize averageObjectSize numObjects | proportion := 0.9. "tenure when 90% of pastSpace is full" edenSize := SmalltalkImage current vmParameterAt: 44.
survivorSize := edenSize / 5.0. "David's paper uses 140Kb eden + 2 x 28kb survivor spaces; Spur uses the same ratios :-)"
survivorSize := edenSize / 5.0. "David's paper uses 140Kb eden + 2 x 28kb survivor spaces; Spur does the same :-)" averageObjectSize := 8 * self wordSize. "a good approximation" numObjects := (proportion * survivorSize / averageObjectSize) rounded. SmalltalkImage current vmParameterAt: 6 put: numObjects "tenure when more than this many objects survive the GC"!
Item was changed: ----- Method: SpurBootstrap class>>SystemDictionaryPROTOTYPEsetGCParameters (in category 'method prototypes') ----- SystemDictionaryPROTOTYPEsetGCParameters "Adjust the VM's default GC parameters to avoid too much tenuring. Maybe this should be left to the VM?"
| proportion edenSize survivorSize averageObjectSize numObjects | proportion := 0.9. "tenure when 90% of pastSpace is full" edenSize := SmalltalkImage current vmParameterAt: 44.
survivorSize := edenSize / 5.0. "David's paper uses 140Kb eden + 2 x 28kb survivor spaces; Spur uses the same ratios :-)"
I presume that's David Ungar? Which paper is it?
Thanks!
frank
Nice to be reference in the code. Thanks!
- David (from iPad, typos likely)
On Sep 21, 2013, at 7:50 AM, Frank Shearar frank.shearar@gmail.com wrote:
On 21 September 2013 15:41, commits@source.squeak.org wrote:
Eliot Miranda uploaded a new version of Cog to project VM Maker: http://source.squeak.org/VMMaker/Cog-eem.98.mcz
==================== Summary ====================
Name: Cog-eem.98 Author: eem Time: 21 September 2013, 7:41:44.069 am UUID: 8027e935-f7b0-417a-be44-954c5765582d Ancestors: Cog-eem.97
fix a couple of comments
=============== Diff against Cog-eem.97 ===============
Item was changed: ----- Method: SpurBootstrap class>>SmalltalkImagePROTOTYPEsetGCParameters (in category 'method prototypes') ----- SmalltalkImagePROTOTYPEsetGCParameters "Adjust the VM's default GC parameters to avoid too much tenuring. Maybe this should be left to the VM?"
| proportion edenSize survivorSize averageObjectSize numObjects | proportion := 0.9. "tenure when 90% of pastSpace is full" edenSize := SmalltalkImage current vmParameterAt: 44.
survivorSize := edenSize / 5.0. "David's paper uses 140Kb eden + 2 x 28kb survivor spaces; Spur uses the same ratios :-)"
survivorSize := edenSize / 5.0. "David's paper uses 140Kb eden + 2 x 28kb survivor spaces; Spur does the same :-)" averageObjectSize := 8 * self wordSize. "a good approximation" numObjects := (proportion * survivorSize / averageObjectSize) rounded. SmalltalkImage current vmParameterAt: 6 put: numObjects "tenure when more than this many objects survive the GC"!
Item was changed: ----- Method: SpurBootstrap class>>SystemDictionaryPROTOTYPEsetGCParameters (in category 'method prototypes') ----- SystemDictionaryPROTOTYPEsetGCParameters "Adjust the VM's default GC parameters to avoid too much tenuring. Maybe this should be left to the VM?"
| proportion edenSize survivorSize averageObjectSize numObjects | proportion := 0.9. "tenure when 90% of pastSpace is full" edenSize := SmalltalkImage current vmParameterAt: 44.
survivorSize := edenSize / 5.0. "David's paper uses 140Kb eden + 2 x 28kb survivor spaces; Spur uses the same ratios :-)"
I presume that's David Ungar? Which paper is it?
Thanks!
frank
On 21-09-2013, at 8:50 AM, David Ungar ungar@me.com wrote:
Nice to be reference in the code. Thanks!
- David (from iPad, typos likely)
All hail Tpyos, Goddesss of spilling misteaks!
See also damnyouautocorrect.com
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Error 13: Illegal brain function. Process terminated.
Yes, love that site.
- David Sent from my iPhone, tap tap
On Sep 21, 2013, at 10:16 AM, tim Rowledge tim@rowledge.org wrote:
On 21-09-2013, at 8:50 AM, David Ungar ungar@me.com wrote:
Nice to be reference in the code. Thanks!
- David (from iPad, typos likely)
All hail Tpyos, Goddesss of spilling misteaks!
See also damnyouautocorrect.com
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Error 13: Illegal brain function. Process terminated.
Generation Scavenging, A Non-disruptive, High-Performance Storage Reclamation Algorithm David Ungar
find attached.
The other papers that I've looked at in writing this are
An Adaptive Tenuring Policy for Generation Scavengers
David Ungar & Frank Jackson
and
Modeling, Analysis and Throughput Optimization of a Generational Garbage Collector
David Vengerov
the latter gives a mathematical model useful for tuning the approach presented in David & Frank's Adaptive Tenuring paper.
On Sat, Sep 21, 2013 at 7:50 AM, Frank Shearar frank.shearar@gmail.comwrote:
On 21 September 2013 15:41, commits@source.squeak.org wrote:
Eliot Miranda uploaded a new version of Cog to project VM Maker: http://source.squeak.org/VMMaker/Cog-eem.98.mcz
==================== Summary ====================
Name: Cog-eem.98 Author: eem Time: 21 September 2013, 7:41:44.069 am UUID: 8027e935-f7b0-417a-be44-954c5765582d Ancestors: Cog-eem.97
fix a couple of comments
=============== Diff against Cog-eem.97 ===============
Item was changed: ----- Method: SpurBootstrap
class>>SmalltalkImagePROTOTYPEsetGCParameters (in category 'method prototypes') -----
SmalltalkImagePROTOTYPEsetGCParameters "Adjust the VM's default GC parameters to avoid too much
tenuring.
Maybe this should be left to the VM?" | proportion edenSize survivorSize averageObjectSize numObjects | proportion := 0.9. "tenure when 90% of pastSpace is full" edenSize := SmalltalkImage current vmParameterAt: 44.
survivorSize := edenSize / 5.0. "David's paper uses 140Kb eden +
2 x 28kb survivor spaces; Spur uses the same ratios :-)"
survivorSize := edenSize / 5.0. "David's paper uses 140Kb eden +
2 x 28kb survivor spaces; Spur does the same :-)"
averageObjectSize := 8 * self wordSize. "a good approximation" numObjects := (proportion * survivorSize / averageObjectSize)
rounded.
SmalltalkImage current vmParameterAt: 6 put: numObjects "tenure
when more than this many objects survive the GC"!
Item was changed: ----- Method: SpurBootstrap
class>>SystemDictionaryPROTOTYPEsetGCParameters (in category 'method prototypes') -----
SystemDictionaryPROTOTYPEsetGCParameters "Adjust the VM's default GC parameters to avoid too much
tenuring.
Maybe this should be left to the VM?" | proportion edenSize survivorSize averageObjectSize numObjects | proportion := 0.9. "tenure when 90% of pastSpace is full" edenSize := SmalltalkImage current vmParameterAt: 44.
survivorSize := edenSize / 5.0. "David's paper uses 140Kb eden +
2 x 28kb survivor spaces; Spur uses the same ratios :-)"
I presume that's David Ungar? Which paper is it?
Thanks!
frank
vm-dev@lists.squeakfoundation.org