Abstract
Non-blocking implementation of shared data objects is a new alternative approach to the problem of designing scalable shared data objects for multiprocessor systems. Non-blocking implementations allow multiple tasks to access a shared object at the same time, but without enforcing mutual exclusion to accomplish this. Since, in non-blocking implementations of shared data objects, one process is not allowed to block another process, non-blocking shared data objects have the following significant advantages over lock-based ones: 1) they avoid lock convoys and contention points (locks). 2) they provide high fault tolerance (processor failures will never corrupt shared data objects) and eliminates deadlock scenarios, where two or more tasks are waiting for locks held by the other. 3) they do not give priority inversion scenarios. As shown in [1, 2], non-blocking synchronisation has better performance in certain application than blocking synchronisation. In this paper, we try to provide an in depth understanding of the performance benefits of integrating non-blocking synchronisation in scientific computing applications.
This work was partially supported by the Swedish Research Council (VR).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Tsigas, P., Zhang, Y.: Evaluating the performance of non-blocking synchronisation on shared-memory multiprocessors. In: Proceedings of the ACM SIGMETRICS 2001/Performance 2001, pp. 320–321. ACM Press, New York (2001)
Tsigas, P., Zhang, Y.: Integrating non-blocking synchronisation in parallel applications: Performance advantages and methodologies. In: Proceedings of the 3rd ACM Workshop on Software and Performance (WOSP 2002), pp. 55–67. ACM Press, New York (2002)
Kopetz, H., Reisinge, J.: The non-blocking write protocol NBW: A solution to a real-time synchronisation problem. In: Proceedings of the Real-Time Systems Symposium, Raleigh-Durham, NC, pp. 131–137. IEEE Computer Society Press, Los Alamitos (1993)
Eichenberger, A., Abraham, S.: Impact of load imbalance on the design of software barriers. In: Proceedings of the 1995 International Conference on Parallel Processing, pp. 63–72 (1995)
Kumar, S., Jiang, D., Singh, J.P., Chandra, R.: Evaluating synchronization on shared address space multiprocessors: Methodology and performance. In: Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computing Systems (SIGMETRICS 1999), vol. 27(1), pp. 23–34. ACM Press, New York (1999)
Kaumlgi, A., Burger, D., Goodman, J.R.: Efficient synchronization: Let them eat QOLB. In: 24th Annual International Symposium on Computer Architecture (24th ISCA 1997), Computer Architecture News, ACM SIGARCH, pp. 170–180 (1997)
Laudon, J., Lenoski, D.: The SGI origin: A ccNUMA highly scalable server. In: Proceedings of the 24th Annual International Symposium on Computer Architecture (ISCA 1997). Computer Architecture News, vol. 25(2), pp. 241–251. ACM Press, New York (1997)
Michael, M.M., Scott, M.L.: Nonblocking algorithms and preemption-safe locking on multiprogrammed shared memory multiprocessors. Journal of Parallel and Distributed Computing 51, 1–26 (1998)
Lim, B.H., Agarwal, A.: Reactive synchronization algorithms for multiprocessors. In: Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS VI), pp. 25–35. ACM Press, New York (1994)
O’Hallaron, D.R.: Spark98: Sparse matrix kernels for shared memory and message passing systems. Technical Report CMU-CS-97-178, CMU (1997)
Cortesi, D.: Origin 2000 and onyx2 performance tuning and optimization guide. SGI Inc. (1998), http://techpubs.sgi.com/library/
Woo, S.C., Ohara, M., Torrie, E., Singh, J.P., Gupta, A.: The SPLASH-2 programs: Characteriation and methodological considerations. In: Proceedings of the 22nd Annual International Symposium on Computer Architecture, pp. 24–37. ACM Press, New York (1995)
Nieh, J., Levoy, M.: Volume rendering on scalable shared memory mimd architectures. In: Proceeding of the, Workshop on Volume Visualization, pp. 17–24 (1992)
Sundell, H., Tsigas, P.: Noble: A non-blocking inter-process communication library. In: Proceedings of the Sixth Workshop on Languages, Compilers and Run-time Systems for Scalable Computers (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tsigas, P., Zhang, Y. (2004). The Non-blocking Programming Paradigm in Large Scale Scientific Computations. In: Wyrzykowski, R., Dongarra, J., Paprzycki, M., Waśniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2003. Lecture Notes in Computer Science, vol 3019. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24669-5_144
Download citation
DOI: https://doi.org/10.1007/978-3-540-24669-5_144
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21946-0
Online ISBN: 978-3-540-24669-5
eBook Packages: Springer Book Archive