Advertisement

ElasticActor: An Actor System with Automatic Granularity Adjustment

  • Peng Zhao
  • Lei Liu
  • Wei Cao
  • Xiao Dong
  • Jiansong Li
  • Xiaobing Feng
Article
  • 7 Downloads

Abstract

The actor model has gained significant popularity in recent years, because its high-level abstraction facilitates the construction of massive concurrent distributed systems, e.g. cloud applications. However, building an efficient actor system is a challenging task. In particular, the concurrency granularity has a critical impact on the performance of actor systems. Moreover, the best granularity depends on both the available hardware and the characteristics of the workload. This paper proposes a new actor system, ElasticActor, that automatically adjusts the granularity of parallel execution. In ElasticActor, all actors are assigned to a number of actor stations. Actors in the same station share a mailbox and constitute the minimum scheduling unit. Therefore, the runtime system can adjust the granularity by changing the number of actor stations in the system. More specifically, we model the average latency and derive a closed-form formula to compute the best number of stations. The experimental results show that ElasticActor outperforms two state-of-the-art actor systems, CAF and Orleans. It gains up to 1.3\(\times \) throughput and decreases the average latency by 0.75\(\times \) thanks to the granularity adjustment.

Keywords

Actor model Concurrency granularity Cloud computing Performance optimization 

Notes

Acknowledgements

We would like to thank the anonymous reviewers for their comments and valuable feedback. Special thanks to Chen Ding for his comments and suggestions which have helped the development and presentation of the paper. The research is supported by the National Key R&D Program of China (Grant No. 2016YFB1000402), National Natural Science Foundation of China (Grant Nos. 61521092, 61802368, 61432018, 61332009).

References

  1. 1.
    Hewitt, C., Peter, B., Richard, S: A universal modular ACTOR formalism for artificial intelligence. In: International Joint Conference on Artificial Intelligence (1973)Google Scholar
  2. 2.
  3. 3.
    C++ Actor Framework. http://www.actor-framework.org/
  4. 4.
  5. 5.
  6. 6.
    Bernstein, P., Bykov, S., Geller, A., Kliot, G., Thelin, J: Orleans: distributed virtual actors for programmability and scalability. MSR-TR-2014-41 (2014)Google Scholar
  7. 7.
    Bernstein, P.A., Dashti, M., Kiefer, T., Maier, D: Indexing in an actor-oriented database. In: CIDR (2017)Google Scholar
  8. 8.
    Wu, C., Faleiro, J.M., Lin, Y., Hellerstein, J.M.: Anna: a KVS for any scale. In: 34th IEEE International Conference on Data Engineering (2018)Google Scholar
  9. 9.
    Francesquini, E., Goldman, A., Méhaut, J.F.: NUMA-Aware runtime environment for the actor model. In: 2013 42nd International Conference on Parallel Processing, ICPP’13, pp. 250–259 (2013)Google Scholar
  10. 10.
    Newell, A., Kliot, G., Menache, I., Kliot, G., Menache, I., Gopalan, A., Akiyama, S., Silberstein, M: Optimizing distributed actor systems for dynamic interactive services. In: Eleventh European Conference on Computer Systems, EuroSys’16 (2016)Google Scholar
  11. 11.
    Desell, T., Varela, C.A.: A performance and scalability analysis of actor message passing and migration in SALSA Lite. In: AGERE!’15 (2015)Google Scholar
  12. 12.
    Vishnevskii, V.: Mathematical methods to study the polling systems. Autom. Remote Control 67, 173–220 (2006)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Chen, H., Yao, D.: Fundamentals of Queuing Networks: Performance, Asymptotics, and Optimization. Springer, Berlin (2013)Google Scholar
  14. 14.
    Takagi H.: Analysis and application of polling models. In: Haring G., Lindemann C., Reiser M. (eds.) Performance evaluation: Origins and directions. Lecture Notes in Computer Science, vol. 1769. Springer, Berlin, Heidelberg (2000)Google Scholar
  15. 15.
    Sanghavi, S., Hajek, B., Massoulie, L.: Gossiping with multiple messages. IEEE Trans. Inf. Theory 53, 4640–4654 (2007)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Tribastone, M., Mayer, P., Wirsing, M.: Performance prediction of service-oriented systems with layered queuing networks. In: International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. Springer, Berlin, pp. 51–65 (2010)Google Scholar
  17. 17.
    Charousset, D., Hiesgen, R., Schmidt, T.C.: Revisiting actor programming in C++. Comput. Sci. 45, 105–131 (2015)Google Scholar
  18. 18.
  19. 19.
  20. 20.
    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. ACM (2009)Google Scholar
  21. 21.
    Salvaneschi, G., Carlo, G., Matteo, P.: ContextErlang: introducing context-oriented programming in the actor model. In: Proceedings of the 11th Annual International Conference on Aspect-Oriented Software Development. ACM (2012)Google Scholar
  22. 22.
    Tallent, M.-C.: Effective performance measurement and analysis of multithreaded applications. In: PPoPP’09. New York, pp. 229–240 (2009)Google Scholar
  23. 23.
    Gordon, M.I., Thies, W., Amarasinghe, S.: Exploiting coarse-grained task, data, and pipeline parallelism in stream programs. ACM SIGOPS Oper. Syst. Rev. 34, 151–162 (2006)CrossRefGoogle Scholar
  24. 24.
    Yan, Y.: Adaptively scheduling parallel loops in distributed shared-memory systems. IEEE TPDS 8, 70–81 (1997)Google Scholar
  25. 25.
    Acar, U.A., Chargueraud, A., Rainey, M.: Oracle scheduling: controlling granularity in implicitly parallel languages. ACM Sigplan Not. 46(10), 499–518 (2011)CrossRefGoogle Scholar
  26. 26.
    Dally, B.: Power, programmability, and granularity: the challenges of exascale computing. In: 2011 IEEE International Test Conference. IEEE (2011)Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.State Key Laboratory of Computer Architecture, Institute of Computing TechnologyChinese Academy of SciencesBeijingChina
  2. 2.School of Computer and Control EngineeringUniversity of Chinese Academy of SciencesBeijingChina

Personalised recommendations