VM 64 Bits

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

VM 64 Bits

Leonardo Oillataguerre
Hi Instantiations

Are there some estimated date to release 64-bit VM  ?

And what about roadmap page update ?

Thanks

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: VM 64 Bits

Seth Berman
Hello Leonardo,

The new 32-bit and 64-bit VM for Windows is scheduled for early 2017.
The roadmap page will be updated in August.

-- Seth

On Monday, July 25, 2016 at 5:34:59 PM UTC-4, Leonardo Oillataguerre wrote:
Hi Instantiations

Are there some estimated date to release 64-bit VM  ?

And what about roadmap page update ?

Thanks

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: VM 64 Bits

Leonardo Oillataguerre
In reply to this post by Leonardo Oillataguerre
Seth, 
Thanks for this data !


El lunes, 25 de julio de 2016, 18:34:59 (UTC-3), Leonardo Oillataguerre escribió:
Hi Instantiations

Are there some estimated date to release 64-bit VM  ?

And what about roadmap page update ?

Thanks

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: VM 64 Bits

Richard Sargent
Administrator
In reply to this post by Seth Berman
On Tuesday, July 26, 2016 at 6:50:08 AM UTC-7, Seth Berman wrote:
Hello Leonardo,

The new 32-bit and 64-bit VM for Windows is scheduled for early 2017.
The roadmap page will be updated in August.

Hi Seth,

Are you in a position to offer any comment on the relative performance of the 64-bit VM versus the corresponding 32-bit one or to the existing version 4.0/IBM VM?

Inquiring minds want to know! :-)




-- Seth

On Monday, July 25, 2016 at 5:34:59 PM UTC-4, Leonardo Oillataguerre wrote:
Hi Instantiations

Are there some estimated date to release 64-bit VM  ?

And what about roadmap page update ?

Thanks

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: VM 64 Bits

Seth Berman
Hello Richard,

Hard question...it's always a moving target for us:)  Other than maintaining full compatibility with no "known" breakage with existing VM, this is the second reason it is such a long term project.
I'll provide what information I can.

I can't comment on the JIT performance comparison just yet, but I can give some insight into the basic vm engine performance (Interpreter/Primitives/Memory Management...)
The current production vm JIT is pretty good, but the bytecode interpreter and *most* optimized primitives are extremely performant, and our goal has always been *at least* as good performance for 32-bit....and willing to accept a little bit of a hit for 64-bit.

What we have had working for a long time now are the C-Interpreters (and C prim impls).  I use the plural form because the first one we built was way too slow.  The next one we built was considerable faster.  We got the primitives on par with the production VM for 32-bit.  And the 64-bit version could out-perform the production VM for most optimized primitives....sometimes considerably.
However, the bytecode interpreter and message send speed lagged behind.  Maybe only about 70-85% production speed which is unfortunate because I like working with the C VM much better than I like working with the production VM.  In this case, the 64-bit VM ended up being faster than its 32-bit counterpart.  We understand why we hit this performance wall, but there wasn't much we could do about it in the C implementation.  If Smalltalk had no message sends....then the C interpreter would be great:)

The good news is we solved our performance problem by building (3rd times a charm:) a smalltalk front-end on top of LLVM IR (a kind of SSA abstract assembler that generates native machine code).
I don't have the 64-bit benchmarks, but plenty of 32-bit benchmarks show about 95-100% bytecode performance, 105% message send performance, and EXTREMELY performant optimized prims.
There are a lot of places where the old vm called out to C to actually implement the primitive....we do it directly in LLVM IR....these situations typically yield 3x - 4x performance increases which is fantastic.  Other places where the old vm described it directly in assembler...we usually see @20% performance increases for the LLVM counterpart.

I expect the 64-bit vm core to be a little bit slower than the 32-bit...but overall...I think it will still end up being faster than the current production version.  But time will tell...

-- Seth

On Wednesday, July 27, 2016 at 3:24:09 PM UTC-4, Richard Sargent wrote:
On Tuesday, July 26, 2016 at 6:50:08 AM UTC-7, Seth Berman wrote:
Hello Leonardo,

The new 32-bit and 64-bit VM for Windows is scheduled for early 2017.
The roadmap page will be updated in August.

Hi Seth,

Are you in a position to offer any comment on the relative performance of the 64-bit VM versus the corresponding 32-bit one or to the existing version 4.0/IBM VM?

Inquiring minds want to know! :-)




-- Seth

On Monday, July 25, 2016 at 5:34:59 PM UTC-4, Leonardo Oillataguerre wrote:
Hi Instantiations

Are there some estimated date to release 64-bit VM  ?

And what about roadmap page update ?

Thanks

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: VM 64 Bits

Richard Sargent
Administrator
On Wednesday, July 27, 2016 at 1:04:53 PM UTC-7, Seth Berman wrote:
Hello Richard,

Hard question...it's always a moving target for us:)  Other than maintaining full compatibility with no "known" breakage with existing VM, this is the second reason it is such a long term project.
I'll provide what information I can.

Umm. That's a lot of information! :-)
Thank you for all the details. It's very informative (and interesting)!

 

I can't comment on the JIT performance comparison just yet, but I can give some insight into the basic vm engine performance (Interpreter/Primitives/Memory Management...)
The current production vm JIT is pretty good, but the bytecode interpreter and *most* optimized primitives are extremely performant, and our goal has always been *at least* as good performance for 32-bit....and willing to accept a little bit of a hit for 64-bit.

What we have had working for a long time now are the C-Interpreters (and C prim impls).  I use the plural form because the first one we built was way too slow.  The next one we built was considerable faster.  We got the primitives on par with the production VM for 32-bit.  And the 64-bit version could out-perform the production VM for most optimized primitives....sometimes considerably.
However, the bytecode interpreter and message send speed lagged behind.  Maybe only about 70-85% production speed which is unfortunate because I like working with the C VM much better than I like working with the production VM.  In this case, the 64-bit VM ended up being faster than its 32-bit counterpart.  We understand why we hit this performance wall, but there wasn't much we could do about it in the C implementation.  If Smalltalk had no message sends....then the C interpreter would be great:)

The good news is we solved our performance problem by building (3rd times a charm:) a smalltalk front-end on top of LLVM IR (a kind of SSA abstract assembler that generates native machine code).
I don't have the 64-bit benchmarks, but plenty of 32-bit benchmarks show about 95-100% bytecode performance, 105% message send performance, and EXTREMELY performant optimized prims.
There are a lot of places where the old vm called out to C to actually implement the primitive....we do it directly in LLVM IR....these situations typically yield 3x - 4x performance increases which is fantastic.  Other places where the old vm described it directly in assembler...we usually see @20% performance increases for the LLVM counterpart.

I expect the 64-bit vm core to be a little bit slower than the 32-bit...but overall...I think it will still end up being faster than the current production version.  But time will tell...

-- Seth

On Wednesday, July 27, 2016 at 3:24:09 PM UTC-4, Richard Sargent wrote:
On Tuesday, July 26, 2016 at 6:50:08 AM UTC-7, Seth Berman wrote:
Hello Leonardo,

The new 32-bit and 64-bit VM for Windows is scheduled for early 2017.
The roadmap page will be updated in August.

Hi Seth,

Are you in a position to offer any comment on the relative performance of the 64-bit VM versus the corresponding 32-bit one or to the existing version 4.0/IBM VM?

Inquiring minds want to know! :-)




-- Seth

On Monday, July 25, 2016 at 5:34:59 PM UTC-4, Leonardo Oillataguerre wrote:
Hi Instantiations

Are there some estimated date to release 64-bit VM  ?

And what about roadmap page update ?

Thanks

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: VM 64 Bits

Seth Berman
My pleasure as always:)

On Thursday, July 28, 2016 at 11:54:20 AM UTC-4, Richard Sargent wrote:
On Wednesday, July 27, 2016 at 1:04:53 PM UTC-7, Seth Berman wrote:
Hello Richard,

Hard question...it's always a moving target for us:)  Other than maintaining full compatibility with no "known" breakage with existing VM, this is the second reason it is such a long term project.
I'll provide what information I can.

Umm. That's a lot of information! :-)
Thank you for all the details. It's very informative (and interesting)!

 

I can't comment on the JIT performance comparison just yet, but I can give some insight into the basic vm engine performance (Interpreter/Primitives/Memory Management...)
The current production vm JIT is pretty good, but the bytecode interpreter and *most* optimized primitives are extremely performant, and our goal has always been *at least* as good performance for 32-bit....and willing to accept a little bit of a hit for 64-bit.

What we have had working for a long time now are the C-Interpreters (and C prim impls).  I use the plural form because the first one we built was way too slow.  The next one we built was considerable faster.  We got the primitives on par with the production VM for 32-bit.  And the 64-bit version could out-perform the production VM for most optimized primitives....sometimes considerably.
However, the bytecode interpreter and message send speed lagged behind.  Maybe only about 70-85% production speed which is unfortunate because I like working with the C VM much better than I like working with the production VM.  In this case, the 64-bit VM ended up being faster than its 32-bit counterpart.  We understand why we hit this performance wall, but there wasn't much we could do about it in the C implementation.  If Smalltalk had no message sends....then the C interpreter would be great:)

The good news is we solved our performance problem by building (3rd times a charm:) a smalltalk front-end on top of LLVM IR (a kind of SSA abstract assembler that generates native machine code).
I don't have the 64-bit benchmarks, but plenty of 32-bit benchmarks show about 95-100% bytecode performance, 105% message send performance, and EXTREMELY performant optimized prims.
There are a lot of places where the old vm called out to C to actually implement the primitive....we do it directly in LLVM IR....these situations typically yield 3x - 4x performance increases which is fantastic.  Other places where the old vm described it directly in assembler...we usually see @20% performance increases for the LLVM counterpart.

I expect the 64-bit vm core to be a little bit slower than the 32-bit...but overall...I think it will still end up being faster than the current production version.  But time will tell...

-- Seth

On Wednesday, July 27, 2016 at 3:24:09 PM UTC-4, Richard Sargent wrote:
On Tuesday, July 26, 2016 at 6:50:08 AM UTC-7, Seth Berman wrote:
Hello Leonardo,

The new 32-bit and 64-bit VM for Windows is scheduled for early 2017.
The roadmap page will be updated in August.

Hi Seth,

Are you in a position to offer any comment on the relative performance of the 64-bit VM versus the corresponding 32-bit one or to the existing version 4.0/IBM VM?

Inquiring minds want to know! :-)




-- Seth

On Monday, July 25, 2016 at 5:34:59 PM UTC-4, Leonardo Oillataguerre wrote:
Hi Instantiations

Are there some estimated date to release 64-bit VM  ?

And what about roadmap page update ?

Thanks

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.