Skip to main content

Capturing Register and Control Dependence in Memory Consistency Models with Applications to the Itanium Architecture

  • Conference paper
Distributed Computing (DISC 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4167))

Included in the following conference series:

Abstract

A complete framework for modelling memory consistency that includes register and control dependencies is presented. It allows us to determine whether or not a given computation could have arisen from a given program running on a given multiprocessor architecture. The framework is used to provide an exact description of the computations of (a subset of) the Itanium instruction set on an Itanium multiprocessor architecture. We show that capturing register and control dependencies is crucial: a producer/consumer problem is solvable without using strong synchronization primitives on Itanium multiprocessors, but is impossible without exploiting these dependencies.

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. Adir, A., Attiya, H., Shurek, G.: Information-flow models for shared memory with an application to the PowerPC architecture. IEEE Trans. on Parallel and Distributed Systems 14(5), 502–515 (2003)

    Article  Google Scholar 

  2. Attiya, H., Friedman, R.: Programming DEC-Alpha based multiprocessors the easy way. In: Proc. 6th Int’l Symp. on Parallel Algorithms and Architectures, pp. 157–166 (1994), Technical Report LPCR 9411, Computer Science Department, Technion

    Google Scholar 

  3. Chatterjee, P., Gopalakrishnan, G.: Towards a formal model of shared memory consistency for intel itaniumtm. In: Proc. 2001 IEEE International Conference on Computer Design (ICCD), September 2001, pp. 515–518 (2001)

    Google Scholar 

  4. Herlihy, M., Wing, J.: Linearizability: A correctness condition for concurrent objects. ACM Trans. on Programming Languages and Systems 12(3), 463–492 (1990)

    Article  Google Scholar 

  5. Higham, L., Jackson, L., Kawash, J.: Specifying memory consistency of write buffer multiprocessors. ACM Trans. on Computer Systems (in press)

    Google Scholar 

  6. Higham, L., Jackson, L., Kawash, J.: Capturing register and control dependence in memory consistency models with applications to the Itanium architecture. Technical Report 2006-837-30, Department of Computer Science, The University of Calgary (July 2006)

    Google Scholar 

  7. Higham, L., Jackson, L., Kawash, J.: Programmer-centric conditions for Itanium memory consistency. Technical Report 2006-838-31, Department of Computer Science, The University of Calgary (July 2006)

    Google Scholar 

  8. Higham, L., Kawash, J.: Tight bounds for critical sections on processor consistent platforms. IEEE Trans. on Parallel and Distributed Systems (in press)

    Google Scholar 

  9. Higham, L., Kawash, J.: Critical sections and producer/consumer queues in weak memory systems. In: Proc. 1997 Int’l. Symp. on Parallel Architectures, Algorithms, and Networks, pp. 56–63 (December 1997)

    Google Scholar 

  10. Higham, L., Kawash, J.: Java: Memory consistency and process coordination (extended abstract). In: Kutten, S. (ed.) DISC 1998. LNCS, vol. 1499, pp. 201–215. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  11. Higham, L., Kawash, J.: Memory consistency and process coordination for SPARC multiprocessors. In: Prasanna, V.K., Vajapeyam, S., Valero, M. (eds.) HiPC 2000. LNCS, vol. 1970, pp. 355–366. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  12. Intel Corporation. A formal specification of the intel itanium processor family memory ordering (October 2002), http://www.intel.com/

  13. Intel Corporation. Intel Architecture Architecture Software Developer’s Manual: Volume 3: Instruction Set Reference. Intel Corporation (October 2002)

    Google Scholar 

  14. Intel Corporation. Intel itanium architecture software developer’s manual, vol. 2, System architecture (October 2002), http://www.intel.com/

  15. Jackson, L.: Complete framework for memory consistency with applications to Itanium multiprocessors. Ph.D. Dissertation (in preparation)

    Google Scholar 

  16. Joshi, R., Lamport, L., Matthews, J., Tasiran, S., Tuttle, M., Yu, Y.: Checking cache-coherence protocols with tla (2003)

    Google Scholar 

  17. Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. on Computers C-28(9), 690–691 (1979)

    Article  Google Scholar 

  18. Yang, Y., Gopalakrishnan, G.C., Lindstrom, G., Slind, K.: Analyzing the intel itanium memory ordering rules using logic programming and SAT. In: Geist, D., Tronci, E. (eds.) CHARME 2003. LNCS, vol. 2860, pp. 81–95. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Higham, L., Jackson, L., Kawash, J. (2006). Capturing Register and Control Dependence in Memory Consistency Models with Applications to the Itanium Architecture. In: Dolev, S. (eds) Distributed Computing. DISC 2006. Lecture Notes in Computer Science, vol 4167. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11864219_12

Download citation

  • DOI: https://doi.org/10.1007/11864219_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-44624-8

  • Online ISBN: 978-3-540-44627-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics