ParaSail: other language for multi-core world

470 views
Skip to first unread message

Archos

unread,
May 23, 2013, 7:34:55 AM5/23/13
to golan...@googlegroups.com

Archos

unread,
May 23, 2013, 7:37:36 AM5/23/13
to golan...@googlegroups.com

Paulo Pinto

unread,
May 23, 2013, 10:39:09 AM5/23/13
to golang-nuts
And the presentation done at Mozilla premisses with the Rust guys on
the audience,

https://air.mozilla.org/region-based-storage-management-parasailing-without-a-garbage-chute/

On May 23, 1:37 pm, Archos <raul....@sent.com> wrote:
> Here is an article about it:
>
> http://www.embedded.com/design/other/4375616/ParaSail--Less-is-more-w...
>
> El jueves, 23 de mayo de 2013 12:34:55 UTC+1, Archos escribió:
>
>
>
>
>
>
>
>
>
> > ParaSail has some interesting features like both implicit and explicit
> > parallelism.
>
> >https://docs.google.com/viewer?a=v&pid=forums&srcid=MTM1Nzg0MDEwNzUyN...
>
> > A comparison between Go, Rust, and ParaSail:
>
> >https://docs.google.com/viewer?a=v&pid=forums&srcid=MTM1Nzg0MDEwNzUyN...
> >https://groups.google.com/forum/?fromgroups#!forum/parasail-programmi...

Matt

unread,
May 23, 2013, 6:20:06 PM5/23/13
to golan...@googlegroups.com, paulo....@gmail.com
On Friday, May 24, 2013 12:39:09 AM UTC+10, Paulo Pinto wrote:
And the presentation done at Mozilla premisses with the Rust guys on
the audience,

https://air.mozilla.org/region-based-storage-management-parasailing-without-a-garbage-chute/

Hi Paulo,
Thanks for the link.  In fact, my PhD research has been focused on modifying gccgo so that it provides region-based memory management to Go.  We have two publications that /roughly/ explain our work.  If I were to ever make this production, I would rewrite my code.  But, with that said, it can be a viable alternative for Go.  And my plugin is a simple way to use RBMM for a subset of Go.  No user annotations required.  Just load the plugin with gcc, and link against our runtimes.  Note that this is a research project, and I currently do not handle goroutines... yet, and our newer garbage-collected region approach does not handle maps properly yet.  It's research work, but given enough interest I could possibly rewrite what I have done.  Details are here:

2) http://comparch.gatech.edu/hparch/mspc2013/papers/paper6-davis.pdf (Garbage Collected Region-Based Memory Management in Go) 2013

-Matt

Martin Angers

unread,
May 23, 2013, 6:38:36 PM5/23/13
to golan...@googlegroups.com, paulo....@gmail.com
That's probably a bit over my head, but it sounds very interesting. Is the code open-sourced?

Martin Angers

unread,
May 23, 2013, 6:40:49 PM5/23/13
to golan...@googlegroups.com, paulo....@gmail.com
2nd link 404s, though.


Le jeudi 23 mai 2013 18:20:06 UTC-4, Matt a écrit :

Ziad Hatahet

unread,
May 23, 2013, 6:45:16 PM5/23/13
to Archos, golan...@googlegroups.com
Decent summary. Though it may have a few mistakes. One that I noticed for instance, on slide 10:

"But functions may return an extra value (e.g. "error") that can't be silently ignored".

But you can silently ignore errors in Go. Case in point: fmt.Println("foo")


--
Ziad

Matt

unread,
May 23, 2013, 8:12:40 PM5/23/13
to golan...@googlegroups.com, paulo....@gmail.com
On Friday, May 24, 2013 8:40:49 AM UTC+10, Martin Angers wrote:
2nd link 404s, though.

Sorry about that! Seems the workshop took down the paper.  Ok here is the more recent paper.  While I wrote the code, I must say that for both papers, the majority of the words and ideas were a team effort.  My original papers were rewritten and we spent much time on these endeavors :-)

Here is the most recent paper.  Information should be free :-)


-Matt

Matt

unread,
May 23, 2013, 8:14:50 PM5/23/13
to golan...@googlegroups.com, paulo....@gmail.com
On Friday, May 24, 2013 8:38:36 AM UTC+10, Martin Angers wrote:
That's probably a bit over my head, but it sounds very interesting. Is the code open-sourced?

Martin,
The code is not publicly available.  But I do plan on putting it somewhere when I finish up my PhD.
If it were to ever be used in production it will need some fixes though.  I don't have any problems taring it up and emailing it around.

-Matt 

Paulo Pinto

unread,
May 24, 2013, 3:49:43 AM5/24/13
to golang-nuts
In the late 90's I discovered Oberon and Native Oberon as I always
been a
Pascal refugee in C/C++ land.

Since then I started following the projects done with the Oberon
family of
languages at ETHZ and been an Oberon paper collector, and in a
parallel Modula-3
as well.

The experience with Native Oberon and later Bluebottle convinced me
that is
quite possible to have operating systems done in GC enabled systems
programming languages,
and pure manual memory management is better left for the 1% of the use
cases that really
require it. Like device drivers, for example.

So I am a strong advocate of automatic memory management, be it in GC
or reference counted form.

Sadly the mainstream seems only now slowly accepting it, with ARC on
Mac OS X/iOS and WinRT/.NET on Windows.

Until an OS vendor comes out with an OS using a kernel done in such
language, many ceptics will have a
hard time believing it, and can always point to existing OS done in
such languages as failed academic experiments.

And we are again on the business value issue again.


On 24 Mai, 00:20, Matt <mattdav...@gmail.com> wrote:
> On Friday, May 24, 2013 12:39:09 AM UTC+10, Paulo Pinto wrote:
> > And the presentation done at Mozilla premisses with the Rust guys on
> > the audience,
>
> >https://air.mozilla.org/region-based-storage-management-parasailing-w...
>
> Hi Paulo,
> Thanks for the link.  In fact, my PhD research has been focused on
> modifying gccgo so that it provides region-based memory management to Go.
>  We have two publications that /roughly/ explain our work.  If I were to
> ever make this production, I would rewrite my code.  But, with that said,
> it can be a viable alternative for Go.  And my plugin is a simple way to
> use RBMM for a subset of Go.  No user annotations required.  Just load the
> plugin with gcc, and link against our runtimes.  Note that this is a
> research project, and I currently do not handle goroutines... yet, and our
> newer garbage-collected region approach does not handle maps properly yet.
>  It's research work, but given enough interest I could possibly rewrite
> what I have done.  Details are here:
>
> 1)http://users.757.org/~enferex/towards_rbmm_for_go_2012.pdf
> 2)http://comparch.gatech.edu/hparch/mspc2013/papers/paper6-davis.pdf

Archos

unread,
May 26, 2013, 2:02:25 PM5/26/13
to golan...@googlegroups.com
With Rust, you can already use a modern language to get it (and with optional GC):

https://news.ycombinator.com/item?id=5770212
https://news.ycombinator.com/item?id=5771276

Paulo Pinto

unread,
May 26, 2013, 4:22:16 PM5/26/13
to golang-nuts
I saw it already, thanks.

Actually I do like Rust, given the amount of time I have spent with
Caml at the
university and F# nowadays.

--
Paulo

On 26 Mai, 20:02, Archos <raul....@sent.com> wrote:
> With Rust, you can already use a modern language to get it (and with
> optional GC):
>
> https://news.ycombinator.com/item?id=5770212https://news.ycombinator.com/item?id=5771276
Reply all
Reply to author
Forward
0 new messages