Sanjeev Krishnan, "Automating Runtime Optimizations For Parallel Object-Oriented Programming", 1996, University of Illinois at Urbana-Champaign.