Explicit Control of Service Execution to Support QoS-Based Grid Scheduling
Grid scheduling is shifting from a system-centric approach towards a user-centric one, i.e. service provision is driven by both user and provider-dependent Quality-of-Service (QoS) requirements. In this scenario, the possibility to explicitly control the execution of services allows providers to make different decisions on the QoS they provide their services with according to the requirements of new service requests. In the present work an infrastructure that allows providers to dynamically adapt the execution of services according to both the changing conditions of the environment where they operate in, and the requirements of service users is presented. The infrastructure is based on program continuations to provide service schedulers with application-level primitives to handle suspension and resuming of service execution. The same primitives are also accessible as web service operations by consumer programs so allowing to change QoS parameters of requested services at run-time. This approach makes the proposed infrastructure a flexible and easily programmable middleware to experiment with different scheduling policies in service-oriented scenarios. As a case of study, we show that on top of a time-sharing low-level scheduling, a provider can adopt a high-level scheduling policy using service suspension and resuming primitives so that consumer priority requirements can be met at run-time.
Unable to display preview. Download preview PDF.
- 1.Foster, I., Kesselman, C., Nick, J., Tuecke, S.: The physiology of the grid: An open grid service architecture for distributed system integration. Technical report Open Grid Service Infrastructure WG (2002)Google Scholar
- 2.MacLaren, J., Sakellariou, R., Garibaldi, J., Ouelhadj, D.: Towards service level agreement based scheduling on the grid. In: Proceedings of the second European Across Grids Conference (2004)Google Scholar
- 3.Friedman, P., Haynes, C.T., Kohlbecker, E.E.: Programming with Continuations. In: Program Transformation and Programming Environments, pp. 263–274. Springer, Heidelberg (1984)Google Scholar
- 4.Newhouse, T., Pasquale, J.: A user-level framework for scheduling within service execution environments. In: Proceedings of the 2004 IEEE International Conference on Services Computing (SCC 2004), Washington, DC, USA, pp. 311–318. IEEE Computer Society (2004)Google Scholar
- 6.Tismer, C.: Stackless python (2007), http://www.stackless.com
- 8.Wooldridge, M.: Engineering the computational economy. In: Proceedings of the Information Society Technologies Conference (IST–2000), Nice, France (2000)Google Scholar
- 9.Buyya, R., Abramson, D., Giddy, J.: An economy driven resource management architecture for global computational power grids. In: Proc. of PDPTA 2000, Las Vegas, USA (2000)Google Scholar
- 10.Fowler, M.: Inversion of control containers and the dependency injection pattern (2004), http://www.martinfowler.com/articles/injection.html