Skip to main content
Log in

A Read-Copy Update based parallel server for distributed crowd simulations

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

The Read-Copy Update (RCU) synchronization method was designed to cope with multiprocessor scalability some years ago, and it was included in the Linux kernel October of 2002. Recently, libraries providing user-space access to this method have been released, although they still have not been used in complex applications.

In this paper, we propose the evaluation of the RCU synchronization method for two different cases of use in a distributed system architecture for crowd simulations. We have compared the RCU implementation with a parallel implementation based on Mutex, a traditional locking synchronization method for solving race conditions among threads in parallel applications. The performance evaluation results show that the use of RCU significantly decreases the system response time and increases the system throughput, supporting a higher number of agents while providing the same latency levels. The reason for this behavior is that the RCU method allows read accesses in parallel with write accesses to dynamic data structures, avoiding the sequential access that a Mutex represents for these data structures. In this way, it can better exploit the existing number of processor cores. These results show the potential of this synchronization method for improving parallel and distributed applications.

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.

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

Similar content being viewed by others

References

  1. Chen D, Theodoropoulos GK, Turner SJ, Cai W, Minson R, Zhang Y (2008) Large scale agent-based simulation on the grid. Future Gener Comput Syst 24(7):658–671. doi:10.1016/j.future.2008.01.004

    Article  Google Scholar 

  2. Desnoyers M, McKenney P, Stern A, Dagenais M, Walpole J (2012) User-Level implementations of read-copy update. IEEE Trans Parallel Distrib Syst 23:375–382

    Article  Google Scholar 

  3. Duato J, Yalamanchili S, Ni L (1997) Interconnection networks: an engineering approach. IEEE Computer Society Press, New York

    Google Scholar 

  4. Gajinov V, Zyulkyarov F, Unsal OS, Cristal A, Ayguade E, Harris T, Valero M (2009) Quaketm: parallelizing a complex sequential application using transactional memory. In: Proceedings of the 23rd international conference on supercomputing, ICS ’09. ACM, New York, pp 126–135

    Chapter  Google Scholar 

  5. Hart TE, McKenney PE, Brown AD (2006) Making lockless synchronization fast: performance implications of memory reclamation. In: 20th IEEE international parallel and distributed processing symposium, Rhodes, Greece

    Google Scholar 

  6. Henderson T, Bhatti S (2003) Networked games: a QoS-sensitive application for QoS-insensitive user? In: Proceedings of the ACM SIGCOMM 2003. ACM Press/ACM SIGCOMM, New York, pp 141–147

    Google Scholar 

  7. Lozano M, Morillo P, Orduña JM, Cavero V, Vigueras G (2009) A new system architecture for crowd simulation. J Netw Comput Appl 32(2):474–482. doi:10.1016/j.jnca.2008.02.011

    Article  Google Scholar 

  8. McKenney PE, Slingwine JD (1998) Read-copy update: using execution history to solve concurrency problems. In: Parallel and distributed computing and systems, Las Vegas, NV, pp 509–518

    Google Scholar 

  9. McKenney PE, Walpole J (2008) Introducing technology into the Linux kernel: a case study. SIGOPS Oper Syst Rev 42(5):4–17

    Article  Google Scholar 

  10. París DL, Brazalez A (2009) A new autonomous agent approach for the simulation of pedestrians in urban environments. Integr Comput-Aided Eng 16(4):283–297

    Google Scholar 

  11. Reynolds CW (1987) Flocks, herds and schools: A distributed behavioral model. In: SIGGRAPH ’87: proceedings of the 14th annual conference on computer graphics and interactive techniques. ACM, New York, pp 25–34. doi:10.1145/37401.37406

    Chapter  Google Scholar 

  12. Shendarkar A, Vasudevan K, Lee S, Son YJ (2006) Crowd simulation for emergency response using BDI agent based on virtual reality. In: WSC ’06: proceedings of the 38th conference on winter simulation, pp 545–553

    Google Scholar 

  13. Sundell H, Tsigas P (2008) Lock-free deques and doubly linked lists. J Parallel Distrib Comput 68(7):1008–1020. doi:10.1016/j.jpdc.2008.03.001

    Article  MATH  Google Scholar 

  14. Triplett J, McKenney PE, Walpole J (2010) Scalable concurrent hash tables via relativistic programming. SIGOPS Oper Syst Rev 44:102–109

    Article  Google Scholar 

  15. Vigueras G, Lozano M, Orduña JM, Grimaldo F (2010) A comparative study of partitioning methods for crowd simulations. Appl Soft Comput 10(1):225–235. doi:10.1016/j.asoc.2009.07.004

    Article  Google Scholar 

  16. Vigueras G, Lozano M, Perez C, Orduña J (2008) A scalable architecture for crowd simulation: implementing a parallel action server. In: Proceedings of the 37th international conference on parallel processing (ICPP-08), pp 430–437. doi:10.1109/ICPP.2008.20

    Google Scholar 

  17. Zyulkyarov F, Gajinov V, Unsal OS, Cristal A, Ayguadé E, Harris T, Valero M (2009) Atomic quake: using transactional memory in an interactive multiplayer game server. In: Proceedings of the 14th ACM SIGPLAN symposium on principles and practice of parallel programming, PPoPP ’09. ACM, New York, pp 25–34

    Google Scholar 

  18. Dragojevic A, Felber P, Gramoli V, Guerraoui R (2011) Why STM can be more than a Research Toy. Commun ACM 54:70–77

    Article  Google Scholar 

Download references

Acknowledgements

This work has been jointly supported by the Spanish MICINN and the European Commission FEDER funds, under grants Consolider-Ingenio CSD2006-00046, TIN2009-14475-C04-04, and TIN2010-12011-E.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Juan M. Orduña.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Vigueras, G., Orduña, J.M. & Lozano, M. A Read-Copy Update based parallel server for distributed crowd simulations. J Supercomput 64, 156–166 (2013). https://doi.org/10.1007/s11227-012-0766-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-012-0766-x

Keywords

Navigation