develooper Front page | perl.perl5.porters | Postings from August 2021

Re: concurrency list (was Re: Relinquishing Maintenance of CoreModules)

Thread Previous | Thread Next
From:
Yuki Kimoto
Date:
August 3, 2021 04:14
Subject:
Re: concurrency list (was Re: Relinquishing Maintenance of CoreModules)
Message ID:
CAExogxMx+V6KEGj790EuccS5Z1NnZKVkaToq4p-pMkMOJG7EAw@mail.gmail.com
2021-8-3 12:05 David Christensen <dpchrist@holgerdanske.com> wrote:

> On 8/2/21 7:20 PM, Yuki Kimoto wrote:
> > 2021-8-3 6:12 David Christensen <dpchrist@holgerdanske.com> wrote:
>
> >> CSP is a proven model for concurrency.
>
> > Generally Speaking, about concurrency like goroutines and channels,  it's
> > difficult if it isn't designed from the beginning of the language.
> >
> > If you want to implement it, see SPVM at once. SPVM is yet before version
> > 1.0.
> >
> > https://metacpan.org/pod/SPVM
> >
> > You can also try out experiments on concurrency implementation on SPVM.
>
>
> Static Perl Virtual Machine:
>
> https://yuki-kimoto.github.io/spvmdoc-public/
>
>
> That looks like you have invested a lot of effort.
>
>
> At a glance, SPVM looks like an alternative to Perl XS (?).
>
>
> Does SPVM support concurrency in any form(s)?
>
>
> David
>

I'm sorry for introducing my personal development.

 >At a glance, SPVM looks like an alternative to Perl XS

Yes. SPVM is a language transpiler to C.

> Does SPVM support concurrency in any form(s)?

First concurrency support is easy to implement C openmp binding.

https://github.com/yuki-kimoto/SPVM/tree/master/examples/native/openmp/lib

Second is  concurrency support is easy to implement cuda/GUP binding.

https://github.com/yuki-kimoto/SPVM/tree/master/examples/native/cuda_add

Third is the ability to implement pthreads and goroutine.

SPVM has a feature coping runtime using new_env api.

https://metacpan.org/dist/SPVM/view/lib/SPVM/Document/NativeAPI.pm#new_env

SPVM runtime is very small. I think when spawning threads, the small
runtime is important for the performance.

If goroutine can be implemented by SPVM module, new_env specification is
important.

Since it is before release, I can also think about data structures and
specifications that allow goroutine or pthread.

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About