The Cactus Worm: Experiments with Dynamic Resource Discovery and Allocation in a Grid Environment
<|reference_start|>The Cactus Worm: Experiments with Dynamic Resource Discovery and Allocation in a Grid Environment: The ability to harness heterogeneous, dynamically available "Grid" resources is attractive to typically resource-starved computational scientists and engineers, as in principle it can increase, by significant factors, the number of cycles that can be delivered to applications. However, new adaptive application structures and dynamic runtime system mechanisms are required if we are to operate effectively in Grid environments. In order to explore some of these issues in a practical setting, we are developing an experimental framework, called Cactus, that incorporates both adaptive application structures for dealing with changing resource characteristics and adaptive resource selection mechanisms that allow applications to change their resource allocations (e.g., via migration) when performance falls outside specified limits. We describe here the adaptive resource selection mechanisms and describe how they are used to achieve automatic application migration to "better" resources following performance degradation. Our results provide insights into the architectural structures required to support adaptive resource selection. In addition, we suggest that this "Cactus Worm" is an interesting challenge problem for Grid computing.<|reference_end|>
@article{allen2001the,
    title={The Cactus Worm: Experiments with Dynamic Resource Discovery and
  Allocation in a Grid Environment},
    author={Gabrielle Allen (1), David Angulo (2), Ian Foster (2 and 3), Gerd
  Lanfermann (1), Chuang Liu (2), Thomas Radke (1), Ed Seidel (1), John Shalf
  (4) ((1) Max-Planck-Institut f"ur Gravitationsphysik, (2) Univ of Chicago,
  (3) Argonne Natnl Lab, (4) Lawrence Berkeley Natnl Lab)},
    journal={arXiv preprint arXiv:cs/0108001},
    year={2001},
    number={TR-2001-28},
    archivePrefix={arXiv},
    eprint={cs/0108001},
    primaryClass={cs.DC}
}