The Virtualization Approach to Parallel Programming: Runtime Optimizations and the State of the Art
Publication Type: Paper
For the past decade, we have been developing a parallel programming model based on virtualization. The basic idea is simple: let the programmer divide the work into a large number of chunks, mostly independent of the number of processors, and let the system map these entities to processors. Moreover, this idea leads to an effective separation of concerns between the programmer and the runtime system (RTS), and empowers the RTS to carry out several tasks automatically that would normally require complex parallel programming skills. We describe the methodology, explain its advantages, and the success it has led to, including two Gordon Bell award nominations for ``difficult to parallelize'' applications.
Laxmikant V. Kale, "The Virtualization Model of Parallel Programming Runtime Optimizations and the State of Art", LACSI 2002, Albuquerque, October, 2002.