[erlang-questions] Concurrency-related optimizations
Wed Jan 30 12:36:21 CET 2008
--- Jacob Lee <jelee2@REDACTED> wrote:
> On Tue, Jan 29, 2008 at 4:16 AM, Thomas Lindgren
> Chapter 6 from "Efficient Implementation of
> Concurrent Programming
> Languages" -
> http://citeseer.ist.psu.edu/705309.html - contains
> information from the Hippo project and also talks
> about rescheduling
> send. It seems to only have benchmarks for all of
> HiPE, though, not
> specific optimizations.
As I understood it, that was very preliminary work
which hasn't been followed up (at least not in the
literature). And there ought to be more ways to
approach the subject as well. IMO there's plenty of
freedom here (as well as in the Erlang concurrency
optimization field in general).
> That would indeed be interesting to look at. The
> challenge is that any
> alternate implementations must be as fair as the
> current scheduler --
> or at least fair enough to avoid priority inversion,
> starvation, etc.
> (I'm not sure if Erlang has any requirements here
> more formal than
> "every process must get scheduled eventually" and
> "existing programs
> should not break"). It might tie in to fiddling with
> the message
> queue, as well.
There are no formal requirements that I know of.
Normally, users are discouraged from messing with
scheduling as well, so things should be fairly free to
improve. Thus, if a new scheduler or scheduling API
turned out to be a big improvement, I don't think it
would be a huge user effort to switch. (And those who
do care are probably the first to go ahead :-)
Getting it into the OTP distro might be quite a bit
harder, but all the relevant people read this list ...
Never miss a thing. Make Yahoo your home page.
More information about the erlang-questions