QoE-JVM: An Adaptive and Resource-Aware Java Runtime for Cloud Computing

  • José Simão
  • Luís Veiga
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7566)


Cloud computing has been dominated by system-level virtual machines to enable the management of resources using a coarse grained approach, largely in a manner independent from the applications running on these infrastructures. However, in such environments, although different types of applications can be running, the resources are often delivered in a equal manner to each one, missing the opportunity to manage the available resources in a more efficient and application aware or driven way.

Our proposal is QoE-JVM supporting Java applications with a global and elastic distributed image of a high-level virtual machine (HLL-VM), where total resource consumption and allocation (within and across applications in the infrastructure) are driven by incremental gains in quality-of-execution (QoE), which relates the resources allocated to an application and the performance the application can extract from having those resources. In this paper, we discuss how critical resources (memory and CPU) can be allocated among HLL-VMs, so that Cloud providers can exchange resource slices among virtual machines, continually addressing where those resources are required, while being able to determine where the reduction will be more economically effective, i.e., will contribute in lesser extent to performance degradation.


Execution Time Cloud Computing Virtual Machine Cloud Provider Garbage Collection 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alpern, B., Augart, S., Blackburn, S.M., Butrico, M., Cocchi, A., Cheng, P., Dolby, J., Fink, S., Grove, D., Hind, M., McKinley, K.S., Mergen, M., Moss, J.E.B., Ngo, T., Sarkar, V.: The Jikes research virtual machine project: building an open-source research community. IBM Syst. J. 44, 399–417 (2005)CrossRefGoogle Scholar
  2. 2.
    Arnold, M., Fink, S.J., Grove, D., Hind, M., Sweeney, P.F.: A survey of adaptive optimization in virtual machines. Proceedings of the IEEE 93(2) (2005), Special Issue on Program Generation, Optimization, ans AdaptationGoogle Scholar
  3. 3.
    Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I., Warfield, A.: Xen and the art of virtualization. SIGOPS Oper. Syst. Rev. 37, 164–177 (2003)CrossRefGoogle Scholar
  4. 4.
    Binder, W., Hulaas, J., Moret, P., Villazón, A.: Platform-independent profiling in a virtual execution environment. Softw. Pract. Exper. 39, 47–79 (2009)CrossRefGoogle Scholar
  5. 5.
    Blackburn, S.M., Garner, R., Hoffmann, C., Khang, A.M., McKinley, K.S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S.Z., Hirzel, M., Hosking, A., Jump, M., Lee, H., Moss, J.E.B., Phansalkar, A., Stefanović, D., VanDrunen, T., von Dincklage, D., Wiedermann, B.: The dacapo benchmarks: Java benchmarking development and analysis. In: OOPSLA 2006: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, pp. 169–190. ACM, New York (2006)CrossRefGoogle Scholar
  6. 6.
    Cobb, C.W., Douglas, P.H.: A theory of production. American Economic Association 1, 139–165 (1928)Google Scholar
  7. 7.
    Cobb, C.W., Douglas, P.H.: A theory of production. The American Economic Review 18(1), 139–165 (1928)Google Scholar
  8. 8.
    Coulson, G., Blair, G., Grace, P., Taiani, F., Joolia, A., Lee, K., Ueyama, J., Sivaharan, T.: A generic component model for building systems software. ACM Trans. Comput. Syst. 26, 1:1–1:42 (2008)Google Scholar
  9. 9.
    Czajkowski, G., Wegiel, M., Daynes, L., Palacz, K., Jordan, M., Skinner, G., Bryce, C.: Resource management for clusters of virtual machines. In: Proceedings of the Fifth IEEE International Symposium on Cluster Computing and the Grid, CCGRID 2005, pp. 382–389. IEEE Computer Society, Washington, DC (2005)CrossRefGoogle Scholar
  10. 10.
    Czajkowski, G., Hahn, S., Skinner, G., Soper, P., Bryce, C.: A resource management interface for the Java platform. Softw. Pract. Exper. 35, 123–157 (2005)CrossRefGoogle Scholar
  11. 11.
    Duran-Limon, H.A., Siller, M., Blair, G.S., Lopez, A., Lombera-Landa, J.F.: Using lightweight virtual machines to achieve resource adaptation in middleware. IET Software 5(2), 229–237 (2011)CrossRefGoogle Scholar
  12. 12.
    Geoffray, N., Thomas, G., Muller, G., Parrend, P., Frenot, S., Folliot, B.: I-JVM: a Java Virtual Machine for component isolation in OSGi. In: IEEE/IFIP International Conference on Dependable Systems & Networks (2009)Google Scholar
  13. 13.
    Gong, Z., Gu, X., Wilkes, J.: Press: Predictive elastic resource scaling for cloud systems. In: 2010 International Conference on Network and Service Management (CNSM), pp. 9–16 (October 2010)Google Scholar
  14. 14.
    Hines, M., Gordon, A., Silva, M., Da Silva, D., Ryu, K.D., Ben-Yehuda, M.: Applications know best: Performance-driven memory overcommit with ginkgo. In: CloudCom 2011: 3rd IEEE International Conference on Cloud Computing Technology and Science (2011)Google Scholar
  15. 15.
    Janik, A., Zielinski, K.: AAOP-based dynamically reconfigurable monitoring system. Information & Software Technology 52(4r), 380–396 (2010)CrossRefGoogle Scholar
  16. 16.
    Salehie, M., Tahvildari, L.: Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4, 14:1–14:42 (2009)Google Scholar
  17. 17.
    Shao, Z., Jin, H., Li, Y.: Virtual machine resource management for high performance computing applications. In: International Symposium on Parallel and Distributed Processing with Applications, pp. 137–144 (2009)Google Scholar
  18. 18.
    Sharma, U., Shenoy, P., Sahu, S., Shaikh, A.: A cost-aware elasticity provisioning system for the cloud. In: Proceedings of the 2011 31st International Conference on Distributed Computing Systems, ICDCS 2011, pp. 559–570. IEEE Computer Society, Washington, DC (2011)Google Scholar
  19. 19.
    Simão, J., Lemos, J., Veiga, L.: A 2 -VM : A Cooperative Java VM with Support for Resource-Awareness and Cluster-Wide Thread Scheduling. In: Meersman, R., Dillon, T., Herrero, P., Kumar, A., Reichert, M., Qing, L., Ooi, B.-C., Damiani, E., Schmidt, D.C., White, J., Hauswirth, M., Hitzler, P., Mohania, M. (eds.) OTM 2011, Part I. LNCS, vol. 7044, pp. 302–320. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  20. 20.
    Singer, J., Kovoor, G., Brown, G., Luján, M.: Garbage collection auto-tuning for java mapreduce on multi-cores. In: Proceedings of the International Symposium on Memory Management, ISMM 2011, pp. 109–118. ACM, New York (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • José Simão
    • 2
    • 3
  • Luís Veiga
    • 1
    • 2
  1. 1.Instituto Superior TécnicoPortugal
  2. 2.INESC-ID LisboaPortugal
  3. 3.Instituto Superior de Engenharia de LisboaPortugal

Personalised recommendations