Date Added: Jan 2011
In computational grids, performance-hungry applications need to simultaneously tap the computational power of multiple, dynamically available sites. The crux of designing grid programming environments stems exactly from the dynamic availability of compute cycles: grid programming environments: need to be portable to run on as many sites as possible, they need to be flexible to cope with different network protocols and dynamically changing groups of compute nodes, while they need to provide efficient (Local) communication that enables high-performance computing in the first place. Existing programming environments are either portable (Java), or they are flexible (Jini, Java RMI), or they are highly efficient (MPI). No system combines all three properties that are necessary for grid computing.