gsoc_threads branch feedback
Andrew Whitworth
wknight8111 at gmail.com
Thu Aug 26 18:40:56 UTC 2010
The API looks to be as good as any. There's no real way to know if it
will be a help or a hinderance until we get the code into regular use
and start exercising it.
To that end, I think we need to start looking at when/how to merge
this branch. I know that prior to 2.6.0 we didn't get a deprecation
notice in place for the old system. That leaves us with three options,
as far as I can see:
1) Put in a deprecation notice now and wait until after 2.9.0 to rip
out the old and jam in the new.
2) Find a way to add the new system in without conflicting with or
breaking the old system.
3) Find a way to make the new system "look" like the old system from
an API point of view, so that old code that was using threads
continues to work, even though the internals are different. We won't
have C-level compatibility, but I don't think we were ever exporting
any threading functions as part of our supported Embedding/Extending
API anyway.
I suspect #3 will be the easiest and most straight forward, but other
opinions would be highly welcomed.
To answer Nat's other questions:
- No, I don't think anything important is missing in terms of a
baseline green threads implementation
- I can't think of any other obvious operations which work well with
this kind of concurrency.
--Andrew Whitworth
On Thu, Aug 26, 2010 at 1:57 PM, Nat Tuck <nat at ferrus.net> wrote:
> Hey All,
>
> Now that Google Summer of Code is over, I've got this gsoc_threads
> branch that could use some testing and comments. The bad news is that
> it doesn't actually let you run threads in parallel on multiple CPUs.
> The good news is that it does let you write code in a concurrent style
> and do blocking file input without blocking other concurrent tasks.
>
> Even if you don't have the couple hours to pull down the branch and
> take a look, you might be able to help me with a couple other
> questions:
>
> - Does the Task API I've implemented[1] make sense?
> - Is there anything important missing?
> - What blocking operations should I be handling aside from file input?
>
> Here are some links to blog posts with more information:
> [1] https://www.parrot.org/content/green-threads-task-api
> [2] https://www.parrot.org/content/hybrid-threads-gsoc-project-results
> [3] https://www.parrot.org/content/green-threads-classic-example
>
> Thanks,
>
> -- Nat Tuck, aka Chandon
> _______________________________________________
> http://lists.parrot.org/mailman/listinfo/parrot-dev
>
More information about the parrot-dev
mailing list