
I now have a paper draft describing the system in more detail. It also comes with a brief explanation of how GHC's profiling works, which should also be helpful for people who haven't read the original profiling paper. http://ezyang.com/papers/ezyang13-rlimits.pdf Edward Excerpts from Edward Z. Yang's message of Fri Mar 15 14:17:39 -0700 2013:
Hey folks,
Have you ever wanted to implement this function in Haskell?
-- | Forks a thread, but kills it if it has more than 'limit' -- bytes resident on the heap. forkIOWithSpaceLimit :: IO () -> {- limit -} Int -> IO ThreadId
Well, now you can! I have a proposal and set of patches here:
http://hackage.haskell.org/trac/ghc/wiki/Commentary/ResourceLimits http://hackage.haskell.org/trac/ghc/ticket/7763
There is a lot of subtlety in this space, largely derived from the complexity of interpreting GHC's current profiling information. Your questions, comments and suggestions are greatly appreciated!
Cheers, Edward