Scheduling Service Oriented Workflows Inside Clouds Using an Adaptive Agent Based Approach
As more users begin to use clouds for deploying complex applications and store remote data there is an increasing need of minimizing the user costs. In addition many cloud vendors start offering specialized services and thus the need of selecting the best possible service in terms of deadline time or monetary constraints emerges. Vendors not only that provide specialized services but also prefer using their own scheduling policies and often choose their negotiation strategies. To make things even more complicated complex applications are usually comprised of smaller tasks (e.g. workflow applications) orchestrated together by a composition engine. In this highly dynamic and unpredictable environment multi-agent systems seem to provide one of the best solutions. Agents are by default independent as they act in their best interest following their own policies, but also cooperate with each other in order to achieve a common goal. In the frame of workflow scheduling the goal is represented by the minimization of the overall user cost. This paper presents some of the challenges met by multi-agent systems when trying to schedule tasks. Solutions to these issues are also given and a prototype multi agent scheduling platform is presented.
KeywordsVirtual Machine Task Schedule Resource Management System Schedule Heuristic Transfer Cost
This research is partially supported by European Union Framework 6 grant RII3-CT-2005-026133 SCIEnce: Symbolic Computing Infrastructure in Europe.
- Active BPEL. (2010). Retrieved January 7, 2010, from http://www.activebpel.org/.
- Ali, A., Bunn, J., Cavanaugh, R., van Lingen, F., Mehmood, M. A., Steenberg, C., & Willers, I. (2004). Predicting Resource Requirements of a Job Submission. Proceedings of the Conference on Computing in High Energy and Nuclear Physics.Google Scholar
- Banerjee, S., Mukherjee, I., & Mahanti, P. K. (2009). Cloud computing initiative using modified ant colony framework. World Academy of Science, Engineering and Technology, 56, 221–224.Google Scholar
- Bellifemine, F., Poggi, A., & Rimassa, G. (2001). Jade: A FIPA2000 compliant agent development environment. Proceedings of the 5th International Conference on Autonomous Agents, Montreal, Canada, 216–217.Google Scholar
- Buyya, R., Abramson, D., & Giddy, J. (2000). Nimrod/g: An architecture for a resource management and scheduling system in a global computational grid. Proceedings of the 4th International Conference on High Performance Computing in Asia-Pacific Region, Vol. 1, Beijing, China, 283–289.Google Scholar
- Cao, J., Jarvis, S. A., Saini, S., Kerbyson, D. J., & Nudd, G. R. (2002). Arms: An agent-based resource management system for grid computing. Scientific Programming, 10(2), 135–148.Google Scholar
- Cao, J., Kerbyso, D. J., Papaefstathiou, E., & Nudd, G. R. (2000). Performance modelling of parallel and distributed computing using pACE. Proceedings of 19th IEEE International Performance, Computing and Communication Conference, Phoenix, AZ, 485–492.Google Scholar
- Carstea, A., Frincu, M., Macariu, G., Petcu, D., & Hammond, K. (2007). Generic access to web an grid-based symbolic computing services. Proceedings of the 6th International Symposium in Parallel and Distributed Computing, Miami, FL, 143–150.Google Scholar
- Carstea, A., Macariu, G., Frincu, M., & Petcu, D. (2008). Secure orchestration of symbolic grid services, (IeAT Tech. Rep., No. 08-08).Google Scholar
- Casanova, H., & Dongarra, J. (1998). Applying netsolve’s network-enabled server. EEE Computational Science and Engineering, 5(3), 57–67.Google Scholar
- Casanova, H., Obertelli, G., Berman, F., & Wolski, R. (2000). The APPLES parameter sweep template: User-level middleware for the grid. Proceedings of Super Computing SC’00, Dallas, TX, 75–76.Google Scholar
- Cloud Scheduler, (2010). Retrieved January 7, 2010, from http://cloudscheduler.org/.
- David, L., & Puaut, I. (2004). Static determination of probabilistic execution times. Proceedings of the 16th Euromicro Conference on Real-Time Systems, Catania, Sicily, 223–230.Google Scholar
- Foster, I. T. (2005). Globus toolkit version 4: Software for service-oriented systems. Proceedings of International Conference on Network and Parallel Computing, Beijing, China, Vol. 3779, 2–13.Google Scholar
- Foster, I., Jennings, N.R., & Kesselman, C. (2004). Brain meets brawn: Why grid and agents need each other. In Proceedings of the 3rd International Joint Conference on Autonomous Agents and Multiagent Systems, New York, NY, 8–15.Google Scholar
- Frincu, M. (2009). Dynamic scheduling algorithm for heterogeneous environments with regular task input from multiple requests. In Lecture Notes in Computer Science, Vol. 5529, Geneva, Switzerland, 199–210.Google Scholar
- Frincu, M. (2009b). Distributed scheduling policy in service oriented environments. Proceedings of the 11th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, Timi Soara, Romania.Google Scholar
- Fujimoto, N., & Hagihara, K. (2004). A comparison among grid scheduling algorithms for independent coarse-grained tasks. International Symposium on Applications and the Internet Workshops, Phoenix, AZ.Google Scholar
- Garg, S. K., Yeo, C. S., Anandasivam, A., & Buyya, R. (2009). Energy-efficient scheduling of HPC applications in cloud computing environments. (Tech. Rep.).Google Scholar
- Google Application Engine, (2010). Retrieved January 7, 2010, from http://appengine.google.com.
- Greenwood, M. (2004). Xscufl language reference. Retrieved January 7, 2010 from http://www.mygrid.org.uk/wiki/Mygrid/WorkFlow#XScufl.
- Lorpunmanee, S., Sap, M. N., Abdullah, A. H., & Chompooinwai, C. (2007). An ant colony optimization for dynamic job scheduling in grid environment. World Academy of Science, Engineering and Technology, 23, 314–321.Google Scholar
- Maheswaran, M., Braun, T. D., & Siegel, H. J. (1999). Heterogeneous distributed computing. Encyclopedia of Electrical and Electronics Engineering (Vol. 8, pp. 679–690). New York, NY: Wiley.Google Scholar
- Microsoft Live Mesh. (2010). Retrieved January 7, 2010, from http://www.mesh.com.
- Muniyappa, V., (2010). Inference of task execution times using linear regression techniques. (Masters Thesis, Texas Tech University, 2002).Google Scholar
- OSyRIS Workflow Engine. (2010). Retrieved January 7, 2010, from http://gisheo.info.uvt.ro/trac/wiki/Workflow.
- Pautasso, C., Zimmermann, O., & Leymann, F. (2008). RESTful web services vs. big web services: Making the right architectural decision. 17th International World Wide Web Conference, Beijing, China.Google Scholar
- Petcu, D., Carstea, A., Macariu, G., & Frincu, M. (2008). Service-oriented symbolic computing with symGrid. Scalable Computing: Practice and Experience, 9(2), 111–124.Google Scholar
- Poggi, A., Tomaiuolo, M., & Turci, P. (2004). Extending JADE for agent grid applications. Proceedings of the 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprise, Stanford, CA, 352–357.Google Scholar
- Radulescu, A., & van Gemund, A. (2001). A low-cost approach towards mixed task and data parallel scheduling. Proceedings of the International Conference on Parallel Processing, Wakamatsu, Japan.Google Scholar
- Ramchurn, S. D. (2004). Multi-agent negotiation using trust and persuasion (Doctoral Thesis, University of Southampton UK, 2004).Google Scholar
- Ritchie, G. R. S., & Levine J. (2004). A hybrid ant algorithm for scheduling independent jobs in heterogeneous computing environments. Proceedings of the 23rd Workshop of the UK Planning and Scheduling Special Interest Group, Edinburgh.Google Scholar
- Rosenschein, J. S., & Zlotkin, G. (1994). Roles of Encounter. Cambridge, MA: MIT Press.Google Scholar
- Sakellariou, R., & Zhao, H. (2004). A hybrid heuristic for DAG scheduling on heterogeneous systems. Proceedings of the 18th International Symposium In Parallel and Distributed Processing, Santa Fe, New Mexico.Google Scholar
- Sauer, J., Freese, T., & Teschke, T. (2000). Towards agent-based multi-site scheduling. Proceedings of the ECAI 2000 Workshop on New Results in Planning, Scheduling, and Design, Berlin, Germany.Google Scholar
- Shen, W., Li, Y., Genniwa, H., & Wang, C. (2002). Adaptive negotiation for agent-based grid computing. Proceedings of the Agentcities/AAMAS’02, Bologna, Italy.Google Scholar
- UDDI. (2010). Retrieved January 7, 2010, from http://www.uddi.org/pubs/uddi-tech-wp.pdf.
- Weichhart, G., Affenzeller, M., Reitbauer, A., & Wagner, S. (2004). Modelling of an agent-based schedule optimisation system. Proceedings of the IMS International Forum, Cernobbio, Italy, 79–87.Google Scholar
- Weissman, J. B. (1998). Metascheduling: A scheduling model for metacomputing systems. The 7th International Symposium on High Performance Distributed Computing, Chicago, Illinois, USA, 348–349.Google Scholar
- Wolniewicz, P., Meyer, N., Stroinski, M., Stuempert, M., Kornmayer, H., Polak, M., et al. (2007). Accessing grid computing resources with G-eclipse platform. Computational Methods in Science and Technologie, 13(2) 131–141.Google Scholar
- WS-BPEL 2.0. (2010). Retrieved January 7, 2010, from http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.pdf.
- WS Security. (2010). Retrieved January 7, 2010, from http://www.ibm.com/developerworks/library/specification/ws-secure/.
- WS Trust 1.4. (2010). Retrieved January 7, 2010, from http://docs.oasis-open.org/ws-sx/ws-trust/v1.4/ws-trust.html.
- WSDL. (2010). Retrieved January 7, 2010, from http://www.w3.org/TR/wsdl.