Skip to main content
Log in

Restructuring AMS to reduce synchronization overheads on android system

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

In this paper, we present an optimization method which can be used to improve the performance of android system by reducing the synchronization overheads in the activity manager service (AMS) component. The optimization decreases the waiting time of synchronizations by dividing the original single object lock in AMS into different ones. We use an alias analysis method, i.e. escape analysis, to divide all the synchronized code blocks into different equivalence classes so that there is no intersection of objects accessed for two blocks from different equivalence classes. Then, we can use different object locks to guard these code blocks. We implemented our optimization on android 6.0, and decreased the waiting time of synchronization locks in AMS by 30.9 and 27.7% when the system starts up and runs normally. We find that the distribution of the waiting time for the synchronized lock is in accordance with the characteristics of power-law distribution.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  1. Blanchet, B.: Escape analysis for object-oriented languages: application to Java. In: ACM Sigplan Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 20–34. ACM (1999)

  2. Choi, J.D., Gupta, M., Serrano, M., et al.: Escape analysis for Java. In: Proceedings of Conference on Object Oriented Programming Systems, Languages & Applications, OOPSLA, pp. 1–19 (1999)

  3. Ruf, E.: Effective synchronization removal for Java. ACM Sigplan Not. 35(5), 208–218 (2000)

    Article  Google Scholar 

  4. Sreedhar, V.C., Burke, M., Choi, J.D.: A framework for interprocedural optimization in the presence of dynamic class loading. ACM Sigplan Not. 35(5), 196–207 (2000)

    Article  Google Scholar 

  5. Shi, X., Jin, M., Wu, G., et al.: Practical escape analysis in an open world. Chin. J. Electr. 18(1), 31–36 (2009)

    Google Scholar 

  6. Aaron, C., Shalizi, C.R., Newman, M.E.J.: Power-law distributions in empirical data. SIAM Rev. 51(4), 661–703 (2009)

    Article  MathSciNet  Google Scholar 

  7. Bacon, D.F., Konuru, R., Murthy, C., et al.: Thin locks: featherweight synchronization for Java. In: ACM Sigplan 1998 Conference on Programming Language Design and Implementation, pp. 258–268. ACM (1998)

  8. Bogda, J.: Removing unnecessary synchronization in Java. ACM SIGPLAN Not. 34(10), 35–46 (1999)

    Article  Google Scholar 

  9. Aldrich, J., Chambers, C., Sirer, E.G., et al.: Static analyses for eliminating unnecessary synchronization from Java programs. Lect. Notes Comput. Sci. 1694, 19–38 (1999)

    Article  Google Scholar 

  10. Choi, J.D., Gupta, M., Serrano, M.J., et al.: Stack allocation and synchronization optimizations for Java using escape analysis. ACM Trans. Program. Lang. Syst. 25(6), 876–910 (2003)

    Article  Google Scholar 

  11. Diniz, P., Rinard, M.: Synchronization transformations for parallel computing. ACM Sigplan-Sigact Symposium on Principles of Programming Languages, pp. 187–200. ACM (1997)

  12. Diniz, P., Rinard, M.: Lock coarsening: eliminating lock overhead in automatically parallelized object-based programs. J. Parallel Distrib. Comput. 49(2), 218–244 (1998)

    Article  Google Scholar 

  13. David, T., Guerraoui, R., Trigonakis, V.: Everything you always wanted to know about synchronization but were afraid to ask. In: Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, pp. 33–48. ACM (2013)

  14. Ropars, T.: On the performance of delegation over cache-coherent shared memory. In: International Conference on Distributed Computing and Networking, p. 17. ACM (2015)

  15. Klaftenegger, D., Sagonas, K., Winblad, K.: Brief announcement: queue delegation locking. ACM Symposium on Parallelism in Algorithms and Architectures, pp. 70–72. ACM (2014)

Download references

Acknowledgements

The work was supported by the National Natural Science Foundation of China under Grant No. 61272166, the State Key Laboratory of Software Development Environment of China (Grant No. SKLSDE-2016ZX-08), and Huawei Research Fund (Grant No. HIRPO-20140405-YB2015080015).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shi Xiaohua.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chao, L., Xiaohua, S. & Xinghai, L. Restructuring AMS to reduce synchronization overheads on android system. Cluster Comput 22 (Suppl 4), 9551–9559 (2019). https://doi.org/10.1007/s10586-018-2540-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10586-018-2540-1

Keywords

Navigation