Grid Computing
To treat CPU cycles and software like commodities, an application should be:
- Ubiquitous -- able to interface to the system at any point and leverage whatever is available
- Resource Aware -- capable of managing heterogenity
- Adaptive -- able to tailor its behavior dynamically so that it gets maximum performance benefit from the services and resources at hand