[MLton] More on parallelism
Eric McCorkle
eric at shadowsun.net
Sat Dec 2 10:08:32 PST 2006
I have a few questions about the viability of parallelism. I'm doing
distributed/parallel systems research, and I'd like to use ML as a
primary language.
I'd like to know what exactly would need to be done to implement CML
using OS-level threads? I've run across some abstracts for talks by
John Reppy on the subject, and I read the papers from the earlier
thread on parallelism in october. But exactly what would need to be
done? (Depending on what is needed, I could possibly work on parts
of it)
Also, I'd like to know how difficult it would be to implement a
structure that would provide atomic read-modify-write operations (for
lock-free data structures). I'm imagining something like this:
signature ATOMIC_REF =
sig
type 'a ref
val swap : 'a ref * 'a -> 'a
val cmpSet : 'a ref * 'a -> bool
val cmpSwap : 'a ref * 'a -> 'a
end
There'd be more functions, of course, but that shows the basic idea.
The idea is the atomic operations are implemented as the
corresponding CPU instructions, which would require compiler support.
--
Eric McCorkle,
Brown University
CS Graduate Student
More information about the MLton
mailing list