Wireless Personal Communications

, Volume 93, Issue 4, pp 1067–1087 | Cite as

Performance of Android Cluster System Allowing Dynamic Node Reconfiguration

  • Yuki Sawada
  • Yusuke Arai
  • Kanemitsu Ootsu
  • Takashi Yokota
  • Takeshi Ohkawa


Recently, high-performance mobile computer devices such as smart phones and tablet devices spread rapidly. They have attracted attention as a new promising platform for parallel and distributed applications. Based on the background, we are developing a cluster computer system using mobile devices or single board computers running Android OS. However, since mobile devices can move anywhere, node computers might leave from the cluster and new nodes might join the cluster. In this paper, we present an Android Cluster system that can reconfigure the system’s scale dynamically. Our system can automatically detect the change in the number of computation nodes and reconfigure the cluster’s nodes, even while parallel and distributed application is running. Furthermore, we show preliminary performance results of our system. The results show that our cluster provides the scalable performance to the number of nodes in parallel computation. Finally, it is confirmed that the mechanism of load balancing per process basis and the mechanism of switching to efficient data communication method can reduce the execution time of parallel applications. Our evaluation result shows that the execution time can be reduced up to 11.8% by load balancing per process basis, as compared to the load balancing per node basis, and shows that the execution time can be reduced 68% at maximum, by switching the communication method between processes to efficient one.


Android Cluster computer system Open MPI DMTCP Process reallocation Inter-process communication 



Funding was provided by Japan Society for the Promotion of Science (Grant Nos. 15K00068 and 16K00068).


  1. 1.
    Sawada, Y., Arai, Y., Ootsu, K., Yokota, T., & Ohkawa, T. (2015). An android cluster system capable of dynamic node reconfiguration. In Proceedings of the seventh international conference on ubiquitous and future networks (ICUFN 2015) (pp. 689–694).Google Scholar
  2. 2.
    Juno, M. M., Bhangwar, A. R., & Laghari, A. A. (2013). Grids of android mobile devices. In ICICTT (pp. 1–3).Google Scholar
  3. 3.
    Busching, F., Schildt, S., & Wolf, L. (2012). DroidCluster: Towards smartphone cluster computing the streets are paved with potential computer clusters. In Distributed computing systems workshops (ICDCSW) (pp. 114–117).Google Scholar
  4. 4.
    Hinojos, G., Tade, C., Park, S., Shires, D., & Bruno, D. (2013). Bluehoc: Bluetooth ad-hoc network android distributed computing. In International conference on parallel and distributed processing techniques and applications (PDPTA) (pp. 468–473).Google Scholar
  5. 5.
    Kang, S. J., Lee, S. Y., & Lee, K. M. (2014). Performance comparison of OpenMP, MPI, and mapreduce in practical problems. Advances in Multimedia, 575687, 1–10.Google Scholar
  6. 6.
    Gabriel, E., Fagg, G. E., Bosilca, G., Angskun, T., Dongarra, J. J., Squyres, J. M., et al. (2004). Open MPI: Goals, concept, and design of a next generation mpi implementation. In Proceedings, 1th European PVM/MPI users’ group meeting (pp. 97–104).Google Scholar
  7. 7.
    Qian, X., Zhu, G., & Li, X. F. (2012). Comparison and analysis of the three programming models in Google android. In First Asia-Pacific programming languages and compilers workshop (APPLC) in conjunction with PLDI 2012 (pp. 1–9).Google Scholar
  8. 8.
    Arai, Y., Ootsu, K., Yokota, T., & Ohkawa, T. (2014). Implementation of wireless connected android cluster computer system supporting automatic clustering. Technical Report of IEICE, 114(155), 143–148. (in Japanese).Google Scholar
  9. 9.
    Hursey, J., Mattox, T. I., & Lumsdaine, A. (2009) Iterconnect agnostic checkpoint/restart in Open MPI. In HPDC ’09: Proceedings of the 18th ACM international symposium on high performance distributed computing (pp. 1–10).Google Scholar
  10. 10.
    Hargrove, P. H., & Duel, J. C. (2006). Berkeley lab checkpoint/restart (BLCR) for Linux clusters. Journal of Physics: Conference Series, 46, 494–499.Google Scholar
  11. 11.
    Ansel, J., Arya, K., & Cooperman, G. (2009). DMTCP: Transparent checkpointing for cluster computations and the desktop. In 23rd IEEE international parallel and distributed processing symposium, IPDPS2009 (pp. 1–12).Google Scholar
  12. 12.
    Sawada, Y., Arai, Y., Ootsu, K., Yokota, T., & Ohkawa, T. (2015). Proposal of load balancing technique for MPI parallel computation allowing dynamic change of the number of nodes. In Proceedings of the 77th national convention of IPSJ (Vol. 1, pp. 113–114) (in Japanese).Google Scholar
  13. 13.
    Bailey, D. H., Dagum, L., Barszcz, E., & Simon, H. D. (1992). NAS parallel benchmark results. In Supercomputing ’92 proceedings of the 1992 ACM/IEEE conference on supercomputing (pp. 386–393).Google Scholar
  14. 14.
    Sawada, Y., Ootsu, K., Yokota, T., & Ohkawa, T. (2016). Realization of MPI environment to perform load balancing per process basis towards dynamic change of node configuration, technical report of IPSJ (Vol. 2016-ARC-220, No. 5, pp. 1–6) (in Japanese).Google Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.Department of EngineeringUtsunomiya UniversityUtsunomiyaJapan
  2. 2.Mitsubishi Electric Information Systems CorporationTokyoJapan

Personalised recommendations