Locality and Synchronization

  • Yosi Ben-AsherEmail author
Part of the Undergraduate Topics in Computer Science book series (UTICS)


The discussion so far has assumed a shared memory address space with uniform access cost to every address. This assumption is not practical and in particular for multicore machines where some of the memory references made by a parallel program can be significantly longer than other memory references. In this chapter we consider a simplified model of parallel machines that demonstrates this claim and is used as a “formal” model to study ParC’s memory references. Though this model is not simulating a multicore machine it can be regarded as an intermediate stage between a uniform cost of shared memory references and the complexity of real multicore machines.


Shared Memory Parallel Machine Shared Variable Critical Section Memory Reference 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. Agarwal, A., Kranz, D., Natarajan, V.: Automatic partitioning of parallel loops and data arrays for distributed shared-memory multiprocessors. IEEE Trans. Parallel Distrib. Syst. 6(9), 943–962 (2002) CrossRefGoogle Scholar
  2. Amza, C., Cox, A.L., Dwarkadas, S., Keleher, P., Lu, H., Rajamony, R., Yu, W., Zwaenepoel, W.: Treadmarks: Shared memory computing on networks of workstations. Computer 29(2), 18–28 (2002) CrossRefGoogle Scholar
  3. André, F., Pazat, J.-L., Thomas, H.: Pandore: A system to manage data distribution. In: Intl. Conf. Supercomputing, pp. 380–388 (1990) Google Scholar
  4. Bala, V., Ferrante, J., Carter, L.: Explicit data placement (XDP): A methodology for explicit compile-time representation and optimization of data movement. In: Symp. Principles & Practice of Parallel Programming, pp. 139–148 (1993) Google Scholar
  5. Balasundaram, V., Fox, G., Kennedy, K., Kremer, U.: A static performance estimator to guide data partitioning decisions. In: Symp. Principles & Practice of Parallel Programming, pp. 213–223 (1991) Google Scholar
  6. Ben-Asher, Y., Podvolny, D.: Y-Invalidate: A new protocol for implementing weak consistency in DSM systems. Int. J. Parallel Program. 29(6), 583–606 (2001) zbMATHCrossRefGoogle Scholar
  7. Blake, G., Dreslinski, R., Mudge, T.: A survey of multicore processors. IEEE Signal Process. Mag. 26(6), 26–37 (2009) CrossRefGoogle Scholar
  8. Chatterjee, S., Gilbert, J.R., Schreiber, R., Teng, S.H.: Automatic array alignment in data-parallel programs. In: Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 16–28. ACM, New York (1993) ISBN 0897915607 CrossRefGoogle Scholar
  9. Gupta, M., Banerjee, P.: Demonstration of automatic data partitioning techniques for parallelizing compilers on multicomputers. IEEE Trans. Parallel Distrib. Syst. 3(2), 179–193 (1992) CrossRefGoogle Scholar
  10. Karrenberg, R.: Automatic packetization. Technical report, Saarland University, Informatics (2010) Google Scholar
  11. Keleher, P., Cox, A.L., Zwaenepoel, W.: Lazy release consistency for software distributed shared memory. Comput. Archit. News 20(2), 13–21 (1992) CrossRefGoogle Scholar
  12. Keleher, P., Cox, A.L., Dwarkadas, S., Zwaenepoel, W.: Treadmarks: Distributed shared memory on standard workstations and operating systems. Rice University, Dept. of Computer Science (1993) Google Scholar
  13. Khanna, S., Muthukrishnan, S., Skiena, S.: Efficient array partitioning. In: Automata, Languages and Programming, pp. 616–626 (1997) CrossRefGoogle Scholar
  14. Larowe Jr., R.P., Schlatter Ellis, C.: Experimental comparison of memory management policies for NUMA multiprocessors. ACM Trans. Comput. Syst. 9(4), 319–363 (1991) CrossRefGoogle Scholar
  15. Lim, A.W., Liao, S.W., Lam, M.S.: Blocking and array contraction across arbitrarily nested loops using affine partitioning. ACM SIGPLAN Not. 36(7), 103–112 (2001) CrossRefGoogle Scholar
  16. Loveman, D.B.: High performance Fortran. IEEE Parallel Distrib. Technol. 1(1), 25–42 (1993) CrossRefGoogle Scholar
  17. Muchnick, S.S.: Advanced Compiler Design and Implementation. Morgan Kaufmann, San Mateo (1997). ISBN 1558603204 Google Scholar
  18. Nitzberg, B., Lo, V.: Distributed shared memory: A survey of issues and algorithms. Computer 24(8), 52–60 (2002) CrossRefGoogle Scholar

Copyright information

© Springer-Verlag London 2012

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of HaifaHaifaIsrael

Personalised recommendations