Title :
Adaptive parallelism and Piranha
Author :
Carriero, Nicholas ; Freeman, Eric ; Gelernter, David ; Kaminsky, David
Author_Institution :
Dept. of Comput. Sci., Yale Univ., New Haven, CT, USA
fDate :
1/1/1995 12:00:00 AM
Abstract :
Desktop computers are idle much of the time. Ongoing trends make aggregate LAN “waste”-idle compute cycles-an increasingly attractive target for recycling. Piranha, a software implementation of adaptive parallelism, allows these waste cycles to be recaptured by putting them to work running parallel applications. Most parallel processing is static: programs execute on a fixed set of processors throughout a computation. Adaptive parallelism allows for dynamic processor sets which means that the number of processors working on a computation may vary, depending on availability. With adaptive parallelism, instead of parceling out jobs to idle workstations, a single job is distributed over many workstations. Adaptive parallelism is potentially valuable on dedicated multiprocessors as well, particularly on massively parallel processors. One key Piranha advantage is that task descriptors, not processes, are the basic movable, remappable computation unit. The task descriptor approach supports strong heterogeneity. A process image representing a task in mid computation can´t be moved to a machine of a different type, but a task descriptor can be. Thus, a task begun on a Sun computer can be completed by an IBM machine. The authors show that adaptive parallelism has the potential to integrate heterogeneous platforms seamlessly into a unified computing resource and to permit more efficient sharing of traditional parallel processors than is possible with current systems
Keywords :
data structures; dynamic programming; local area networks; multiprocessing programs; multiprocessing systems; parallel processing; storage management; task analysis; workstations; IBM machine; Piranha; Piranha software implementation; Sun computer; adaptive parallelism; aggregate LAN waste; availability; computation; dedicated multiprocessors; desktop computers; dynamic processor sets; heterogeneity; heterogeneous platform integration; idle compute cycles; massively parallel processors; movable remappable computation unit; parallel applications; parallel processing; process image; programs; recycling; task descriptors; Aggregates; Application software; Computer applications; Concurrent computing; Local area networks; Parallel processing; Recycling; System software; Time sharing computer systems; Workstations;