Advertisement

Approaching Actor-Level Resource Control for Akka

  • Ahmed AbdelmoamenEmail author
  • Dezhong Wang
  • Nadeem Jamali
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11332)

Abstract

Although there are models and prototype implementations for controlling resource use in Actor systems, they are difficult to implement for production implementations of Actors such as Akka. This is because the messaging and scheduling infrastructures of runtime systems are increasingly complex and significantly different from one system to another. This paper presents our efforts in implementing resource control support for Actor systems implemented using the Akka library. Particularly, given the lack of support in Akka for direct scheduling of actors, we compare two different ways of approximating actor-level control support. The first implementation expects messages to actors to provide estimates of resources likely to be consumed for processing them; these estimates are then relied upon to make scheduling decisions. In the second implementation, resource use of scheduled actors is tracked, and compared against allocations to decide when they should be scheduled next. We present experimental results on the performance cost of these resource control mechanisms, as well as their impact on resource utilization.

Keywords

Resource control Scala Akka Actors 

Notes

Acknowledgment

This research was undertaken thanks in part to funding from the Canada First Research Excellence Fund.

References

  1. 1.
    Agha, G.: ACTORS: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
  2. 2.
    Jamali, N., Zhao, X.: Hierarchical resource usage coordination for large-scale multi-agent systems. In: Ishida, T., Gasser, L., Nakashima, H. (eds.) MMAS 2004. LNCS (LNAI), vol. 3446, pp. 40–54. Springer, Heidelberg (2005).  https://doi.org/10.1007/11512073_4CrossRefGoogle Scholar
  3. 3.
    The scala programming language (2017). http://www.scala-lang.org
  4. 4.
    Akka programming language (2017). http://www.akka.io
  5. 5.
    Zhao, X., Jamali, N.: Supporting deadline constrained distributed computations on grids. In: Proceedings of the 2011 ACM 12th International Conference on Grid Computing, ser. GRID 2011, pp. 165–172 (2011)Google Scholar
  6. 6.
    Jamali, N., Zhao, X.: A scalable approach to multi-agent resource acquisition and control. In: Proceedings of the International Conference on Autonomous Agents and Multiagent Systems, ser. AAMAS 2005, pp. 868–875 (2005)Google Scholar
  7. 7.
    Imam, S.M., Sarkar, V.: Selectors: Actors with multiple guarded mailboxes. In: Proceedings of the 4th International Workshop on Programming Based on Actors Agents, pp. 1–14 (2014)Google Scholar
  8. 8.
    Charousset, D., Hiesgen, R., Schmidt, T.C.: CAF - The c++ actor framework for scalable and resource-efficient applications. In: Proceedings of the 4th International Workshop on Programming Based on Actors Agents, ser. AGERE! 2014@SPLASH, pp. 15–28. ACM, New York (2014)Google Scholar
  9. 9.
    Decat, M., Bogaerts, J., Lagaisse, B., Joosen, W.: Amusa: middleware for efficient access control management of multi-tenant SaaS applications. In: Proceedings of the 30th Annual ACM Symposium on Applied Computing, ser. SAC 2015, pp. 2141–2148 (2015)Google Scholar
  10. 10.
    Li, Y., Deng, Y., Seet, R., Tang, X., Cai, W.: MASTER: multi-platform application streaming toolkits for elastic resources. In: Proceedings of the 23rd ACM International Conference on Multimedia, ser. MM 2015, pp. 805–806 (2015)Google Scholar
  11. 11.
    Boutin, E., et al.: Apollo: scalable and coordinated scheduling for cloud-scale computing. In: Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI), pp. 285–300 (2014)Google Scholar
  12. 12.
    Kamon: A tool for monitoring reactive applications (2017). http://kamon.io
  13. 13.
    Sematext SPM: A tool for performance monitoring (2017). https://sematext.com/spm
  14. 14.
  15. 15.
    Karmani, R.K., Shali, A., Agha, G.: Actor frameworks for the JVM platform: a comparative analysis. In: Proceedings of the 7th International Conference on Principles and Practice of Programming in Java, ser. PPPJ 2009, pp. 11–20 (2009)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Ahmed Abdelmoamen
    • 1
    Email author
  • Dezhong Wang
    • 2
  • Nadeem Jamali
    • 2
  1. 1.Department of Computer SciencePrairie View A&M UniversityPrairie ViewUSA
  2. 2.Department of Computer ScienceUniversity of SaskatchewanSaskatoonCanada

Personalised recommendations