Parallel Objects: Virtualization and In-Process Components
Source: University of Illinois
Developing complex parallel applications that run efficiently on large parallel machines is dif-cult because the programmer has to handle many interrelated issues. Two issues that are of interest here are the specification of the parallel algorithm, and its efficient parallel implementation. Most current parallel programming models require the programmer to specify both of these together, leading to complex, unwieldy programs. For example, it is not enough to specify parallel loops in a shared memory program; one also has to privatize variables, split locks, make artificial loop transforms, etc. to improve efficiency.