Managing Execution Environments for Utility Computing
Ho Sc, CM Lee, HF Hung, CL Wang, Fcm Lau · 2004
The main goal of utility computing is to offer computing resources on demand. A fundamental issue relating to this paradigm is whether the supported execution environments in remote computing platforms fit the requirements of the users and their applications. Current approaches such as service-centric grid middleware fall short of being able to support execution environments which closely resemble the intended platforms of existing user applications. This not only causes inconvenience to users, but also directly affects the user acceptance of the utility computing paradigm. In this paper, we (1) propose a software framework for a network service to be used for managing, constructing, and disseminating execution environments on remote computing platforms, and (2) present a reference implementation of the framework, called SLIM, for large-scale deployments of Linux on personal computer systems. SLIM efficiently disseminates the Linux kernel to distributed computers by using a network booting mechanism. Customized execution environments which include shared libraries and user data are made available to the remote platforms via standard file synchronization protocols. Various I/O caching techniques have been adopted in order to optimize performance. Experimental results demonstrate the efficiency of SLIM in a network involving 272 machines. The experience in developing SLIM should benefit both system administrators and designers in implementing a similar service for extensible utility computing platforms.