[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