skip to main content
research-article

Reconfigurable vertical profiling framework for the android runtime system

Published:27 January 2014Publication History
Skip Abstract Section

Abstract

Dalvik virtual machine in the Android system creates a profiling barrier between VM-space applications and Linux user-space libraries. It is difficult for existing profiling tools on the Android system to definitively identify whether a bottleneck occurred in the application level, the Linux user-space level, or the Linux kernel level. Information barriers exist between VM-space applications and Linux native analysis tools due to runtime virtual machines' dynamic memory allocation mechanism. Furthermore, traditional vertical profiling tools targeted for Java virtual machines cannot be simply applied on the Dalvik virtual machine due to its unique design. The proposed the Reconfigurable Vertical Profiling Framework bridges the information gap and streamlines the hardware-software co-design process for the Android runtime system.

References

  1. B. Alpern, S. Augart, S. M. Blackburn, M. Butrico, A. Cocchi, P. Cheng, J. Dolby, S. Fink, D. Grove, M. Hind, K. S. McKinley, M. Mergen, J. E. B. Moss, T. Ngo, V. Sarkar, and M. Trapp. 2005. The Jikes Research Virtual Machine project: Building an open-source research community. IBM Syst. J. 44, 2, 399--417. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. B. Alpern, C. R. Attanasio, A. Cocchi, D. Lieber, S. Smith, T. Ngo, J. J. Barton, S. F. Hummel, J. C. Shepherd, and M. Mergen. 1999. Implementing jalapeño in Java. In Proceedings of the 14th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). ACM Press, 314--324. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. Batyuk, A.-D. Schmidt, H.-G. Schmidt, A. Camtepe, and S. Albayrak. 2009. Developing and benchmarking native Linux applications on Android. In MobileWireless Middleware, Operating Systems, and Applications. J.-M. Bonnin, C. Giannelli, and T. Magedanz, Eds., Springer Berlin, 381--392.Google ScholarGoogle Scholar
  4. W. Binder, J. Hulaas, and P. Moret 2006. A quantitative evaluation of the contribution of native code to Java workloads. In Proceedings of the IEEE International Symposium on Workload Characterization. 201--209.Google ScholarGoogle ScholarCross RefCross Ref
  5. W. Binder, J. Hulaas, and P. Moret. 2007. Advanced Java bytecode instrumentation. In Proceedings of the 5th International Symposium on Principles and Practice of Programming in Java. ACM Press, 135. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C.-W. Chang, C.-Y. Lin, C.-T. King, Y.-F. Chung, and S.-Y. Tseng. 2010. Implementation of JVM tool interface on Dalvik virtual machine. In Proceedings of the International Symposium on VLSI Design Automation and Test (VLSI-DAT). IEEE, 143--146.Google ScholarGoogle ScholarCross RefCross Ref
  7. W. Cohen. 2004. Tuning programs with Oprofile. Wide Open Mag. 53.Google ScholarGoogle Scholar
  8. G. Contreras and M. Martonosi. 2005. Power prediction for Intel XScale® processors using performance monitoring unit events. In Proceedings of the International Symposium on Low Power Electronics and Design. ACM Press, 221. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Dongarra, R. Wade, and P. McMahan. Linpack Benchmark -- Java Version. http://www.netlib.org/benchmark/linpackjava/.Google ScholarGoogle Scholar
  10. Google. 2011. Dalvik - Code and documentation from Android's VM team - Google Project Hosting. http://code.google.com/p/dalvik/.Google ScholarGoogle Scholar
  11. Google. 2010. Using DDMS | Android Developers. http://developer.android.com/guide/developing/debugging/ddms.html.Google ScholarGoogle Scholar
  12. Google. 2008. Anatomy & Physiology of an Android - 2008 Google I/O Session Videos and Slides. http://sites.google.com/site/io/anatomy--physiology-of-an-android.Google ScholarGoogle Scholar
  13. M. Hauswirth, A. Diwan, P. F. Sweeney, and M. C. Mozer. 2005. Automating vertical profiling. In Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). ACM Press, 281. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Hauswirth, P. F. Sweeney, A. Diwan, and M. Hind. 2004. Vertical profiling: Understanding the behavior of object-priented applications. ACM SIGPLAN Not. 39, 251--269. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Hyndman. 2011. Newtonscradle - Android app to model the physics of Newton's Cradle - Google Project Hosting. http://code.google.com/p/newtonscradle/.Google ScholarGoogle Scholar
  16. H. Inoue, and T. Nakatani. 2009. How a Java VM can get more from a hardware performance monitor. ACM SIGPLAN Not. 44, 137--154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. JSERV. 2010. 0×bench - Comprehensive Benchmark Suite for Android - Google Project Hosting. http://code.google.com/p/0xbench/.Google ScholarGoogle Scholar
  18. S. Khan, S. Khan, S. H. K. Banuri, M. Nauman, and M. Alam. 2009. Analysis of Dalvik virtual machine and class path library. Tech. rep. Security Engineering Research Group, Institute of Management Sciences, Peshawar, Pakistan.Google ScholarGoogle Scholar
  19. J. Maebe, D. Buytaert, L. Eeckhout, and K. De Bosschere. 2006. Javana: A system for building customized Java program analysis tools. ACM SIGPLAN Not. 41, 10, 153--168. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. H. Mousa, and C. Krintz. 2005. HPS: Hybrid profiling support. In Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques (PACT'05). IEEE, 38--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. H. Mousa, K. Doshi, T. Sherwood, and E. Ould-Ahmed-Vall. 2010. VrtProf: Vertical profiling for system virtualization. In Proceedings of the 43rd Hawaii International Conference on System Sciences (HICSS). IEEE, 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. H. Mousa, C. Krintz, L. Youseff, and R. Wolski. 2007. VIProf: Vertically integrated full-system performance profiler. In Proceedings of the IEEE International Parallel and Distributed Processing Symposium. (IPDPS'07). IEEE, 1--6.Google ScholarGoogle Scholar
  23. D. Nicolaescu and A. Veidenbaum. 2005. Understanding and comparing the performance of optimized JVMs. In Proceedings of the Conference on Innovative Architecture for Future Generation High-Performance Processors and Systems. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Oracle. 2002. JVM(TM) Tool Interface 1.0.38. JVM Tool Interface. http://download.oracle.com/javase/1.5.0/docs/guide/jvmti/jvmti.html.Google ScholarGoogle Scholar
  25. Oracle. 2010. Java SE - Java Platform Debugger Architecture Home. http://java.sun.com/javase/technologies/core/toolsapis/jpda/.Google ScholarGoogle Scholar
  26. K. Paul and T. K. Kundu. 2010. Android on mobile devices: An energy perspective. In Proceedings of the IEEE 10th International Conference on Computer and Information Technology (CIT). 2421--2426. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. R. Pozo and B. Miller. 2004. Java SciMark 2.0. http://math.nist.gov/scimark2/.Google ScholarGoogle Scholar
  28. F. T. Schneider, M. Payer, and T. R. Gross. 2007. Online optimizations driven by hardware performance monitoring. ACM SIGPLAN Not. 42, 6, 373--382. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. L. Shannon and P. Chow. 2004. Using reconfigurability to achieve real-time profiling for hardware/software codesign. In Proceedings of the ACM/SIGDA 12th International Symposium on Field Programmable Gate Arrays. ACM, 190--199. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. P. F. Sweeney, M. Hauswirth, B. Cahoon, P. Cheng, A. Diwan, D. Grove, and M. Hind. 2004. Using hardware performance monitors to understand the behavior of Java applications. In Proceedings of the 3rd Conference on Virtual Machine Research And Technology Symposium. Vol. 3, USENIX Association, 5. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Reconfigurable vertical profiling framework for the android runtime system

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!