Scheduling Service Oriented Workflows Inside Clouds Using an Adaptive Agent Based Approach

  • Marc Eduard FrîncuEmail author


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.


Virtual Machine Task Schedule Resource Management System Schedule Heuristic Transfer Cost 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



This research is partially supported by European Union Framework 6 grant RII3-CT-2005-026133 SCIEnce: Symbolic Computing Infrastructure in Europe.


  1. Abramson, D., Buyya, R., & Giddy, J. (2000). A computational economy for grid computing and its implementation in the NIMROD-G resource broker. Future Generation Computer Systems, 18(8), 1061–1074.CrossRefGoogle Scholar
  2. Active BPEL. (2010). Retrieved January 7, 2010, from
  3. 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
  4. 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
  5. 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
  6. Berman, F., Wolski, R., Casanova, H., Cirne, W., Dail, H., Faerman, M., et al. (2003). Adaptive Computing on the Grid using APPLES. IEEE Transactions on Parallel and Distributed Systems, 14(4), 369–382.CrossRefGoogle Scholar
  7. 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
  8. 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
  9. 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
  10. Cao, J., Spooner, D. P., Jarvis, S. A., & Nudd, G. R. (2005). Grid load balancing using intelligent agents. Future Generation Computer Systems, 21(1), 135–149.CrossRefGoogle Scholar
  11. 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
  12. Carstea, A., Macariu, G., Frincu, M., & Petcu, D. (2008). Secure orchestration of symbolic grid services, (IeAT Tech. Rep., No. 08-08).Google Scholar
  13. Casanova, H., & Dongarra, J. (1998). Applying netsolve’s network-enabled server. EEE Computational Science and Engineering, 5(3), 57–67.Google Scholar
  14. 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
  15. Chapin, S. J., Katramatos, D., Karpovich, J., & Grimshaw, A. (1999). Resource management in legion. Future Generation Computer Systems, 15(5), 583–594.CrossRefGoogle Scholar
  16. Cloud Scheduler, (2010). Retrieved January 7, 2010, from
  17. 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
  18. Faratin, P., Sierra, C., & Jennings, N. R. (2001). Using similarity criteria to make issue trade-offs in automated negotiation. Artificial Intelligence, 142(2), 205–237.MathSciNetCrossRefGoogle Scholar
  19. 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
  20. 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
  21. 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
  22. 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
  23. Frincu, M., Macariu, G., & Carstea, A. (2009). Dynamic and adaptive workflow execution platform for symbolic computations. Pollack Periodica, Akademiai Kiado, 4(1), 145–156.CrossRefGoogle Scholar
  24. 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
  25. 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
  26. Google Application Engine, (2010). Retrieved January 7, 2010, from
  27. Greenwood, M. (2004). Xscufl language reference. Retrieved January 7, 2010 from
  28. 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
  29. 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
  30. Microsoft Live Mesh. (2010). Retrieved January 7, 2010, from
  31. Muniyappa, V., (2010). Inference of task execution times using linear regression techniques. (Masters Thesis, Texas Tech University, 2002).Google Scholar
  32. OSyRIS Workflow Engine. (2010). Retrieved January 7, 2010, from
  33. Parsons, S., Sierra, C., & Jennings, N. R. (1998). Agents that reason and negotiate by arguing. Journal of Logic and Computation, 8(3), 261–292.MathSciNetzbMATHCrossRefGoogle Scholar
  34. 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
  35. 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
  36. 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
  37. 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
  38. Ramchurn, S. D. (2004). Multi-agent negotiation using trust and persuasion (Doctoral Thesis, University of Southampton UK, 2004).Google Scholar
  39. 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
  40. Rosenschein, J. S., & Zlotkin, G. (1994). Roles of Encounter. Cambridge, MA: MIT Press.Google Scholar
  41. Sakellariou, R., & Zhao, H., (2003). Experimental investigation into the rank function of the heterogeneous earliest finish time scheduling algorithm. In Lecture Notes in Computer Science, Klagenfurt, Austria, Vol. 2790, 189–194.CrossRefGoogle Scholar
  42. 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
  43. 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
  44. 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
  45. Smith, W., Foster, I., & Taylor, V. E. (2004). Predicting application run times with historical information. Journal of Parallel and Distributed Computing, 64(9), 1007–1016.zbMATHCrossRefGoogle Scholar
  46. Thain, D., Tannenbaum, T., & Livny, M. (2005). Distributed computing in practice: The condor experience. Concurrency and Computation: Practice and Experience, 17(2–4) 323–356.CrossRefGoogle Scholar
  47. UDDI. (2010). Retrieved January 7, 2010, from
  48. van der Aalst, W. M. P., & ter Hofstede, A. H. M. (2005). Yawl: yet another workflow language. Information Systems, 30(4), 245–275.CrossRefGoogle Scholar
  49. 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
  50. 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
  51. 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
  52. WS-BPEL 2.0. (2010). Retrieved January 7, 2010, from
  53. WS Security. (2010). Retrieved January 7, 2010, from
  54. WS Trust 1.4. (2010). Retrieved January 7, 2010, from
  55. WSDL. (2010). Retrieved January 7, 2010, from

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.Institute e-AustriaTimisoaraRomania

Personalised recommendations