[MLton] More on Parallel Runtime
skaller
skaller at users.sourceforge.net
Mon Oct 22 22:33:31 PDT 2007
On Mon, 2007-10-22 at 22:54 -0500, Henry Cejtin wrote:
> I agree that it is tricky to place safe points at the correct frequency.
I would guess it is impossible: you may cover many case but some
corners will defeat any assurances. But I do not *know* this,
it is only a guess.
If someone proved that it is indeed impossible, it would change the
approach to supporting parallel collectors (and other async operations).
In particular, control inverting a complex algorithm like
a parallel collector can't be trivial, but control inversion
is often the consequence of switching between a checking and
a pre-empting model. I know how to control invert sequential code ..
I have no idea how to invert parallel code ;(
OTOH suitable OS support may control invert transparently.
The OS can 'resume' a collector based on page modifications
(data granularity) and timeouts (time granularity).
Normal program code abstracts both of these things away.
--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net
More information about the MLton
mailing list