Skip to main content

The Non-blocking Programming Paradigm in Large Scale Scientific Computations

  • Conference paper
Book cover Parallel Processing and Applied Mathematics (PPAM 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3019))

  • 603 Accesses

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).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. 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)

    Chapter  Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Chapter  Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. 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)

    Article  MATH  Google Scholar 

  9. 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)

    Chapter  Google Scholar 

  10. O’Hallaron, D.R.: Spark98: Sparse matrix kernels for shared memory and message passing systems. Technical Report CMU-CS-97-178, CMU (1997)

    Google Scholar 

  11. Cortesi, D.: Origin 2000 and onyx2 performance tuning and optimization guide. SGI Inc. (1998), http://techpubs.sgi.com/library/

  12. 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)

    Chapter  Google Scholar 

  13. Nieh, J., Levoy, M.: Volume rendering on scalable shared memory mimd architectures. In: Proceeding of the, Workshop on Volume Visualization, pp. 17–24 (1992)

    Google Scholar 

  14. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics