Skip to main content
Log in

Initializing memory shared by several processors

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

We examine the use of atomic instructions in implementing barriers that do not require previously initialized memory. We show hown identical processes can use uninitialized shared memory to elect a leader that then initialized the shared memory. The processes first use the uninitialized memory to obtain unique identifiers in the range 0 ton−1 and then meet at a barrier. After passing the barrier, the leader initializes the shared memory. Whenn is not a power of 2 this barrier implementation, a tournament algorithm, avoids extra work by taking advantage of information implicit in the algorithm for obtaining the unique identifiers. The only atomic instruction that we require is one that complements a bit.

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.

Similar content being viewed by others

References

  1. J. L. W. Kessels, Arbitration without Common Modifiable Variables,Acta Informatica,17:135–141 (1982).

    Google Scholar 

  2. G. L. Peterson, Myths about the Mutual Exclusion Problem,Information Processing Letters 12(3):115–116 (1981).

    Google Scholar 

  3. E. D. Brooks, III, The Butterfly Barrier,Intl. J. of Par. Prog. 15(4):295–307 (1986).

    Google Scholar 

  4. D. Hensgen, R. Finkel, U. Manber, Two Algorithms for Barrier Synchronization,Intl. J. of Par. Prog.,17(1):1–17 (1988).

    Google Scholar 

  5. B. K. Szymanski, A Simple Solution to Lamport's Concurrent Programming Problem with Linear Wait,Proc. of the 1988 Intl.Conf. on Supercomputing, St. Malo, pp. 621–626 (1988).

  6. N. S. Arenstorf and H. F. Jordan, Comparing Barrier Algorithms, Technical Report, Computer Systems Design Group, Department of Electrical and Computer Engineering, Univerity of Colorado (1987).

  7. T. S. Axelrod, Effects of Synchronization Barriers on Multiprocessor Performance,Parallel Computing,3:129–140 (1986).

    Google Scholar 

  8. L. Lamport, A Fast Mutual Exclusion Algorithm,ACM Transactions on Computer Systems 5(1):1–11 (1987).

    Google Scholar 

  9. R. A. Finkel, Lightweight Tasks under Unix, Department of Computer Science, University of Kentucky, TR 103-87 (1987).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hemmendinger, D. Initializing memory shared by several processors. Int J Parallel Prog 18, 241–253 (1989). https://doi.org/10.1007/BF01407858

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01407858

Key Words

Navigation